본문 바로가기

쓰기

  바로 아래의 게시글에도 나와있지만 문자열 길이에 관여하는 필터가 있었으면 합니다.

001.JPG 
예를 들기 위한 스샷입니다. 디버거에 물려있는 게임은 아야카시 1.30버전인데요.
현재 드래그 되어있는 곳 즉 005F0AC0이 문장을 가리키는 포인터입니다.
위치는 000FFD0C, 즉 ESP+4군요.
여기서 00FFD0C+10의 주소를 보시게 되면
48를 확인 할 수 있고 그 옆의 00FD0C+14의 위치에는
4F를 확인 하실 수 있습니다 
여기서 재차 확인해 보실건 
바로 대사가 존재하는 지점입니다.

003.JPG  
문장의 길이가 정확히 48바이트 라는 것을 알 수 있습니다.
즉 아야카시 1.30이 대사를 출력할 때 참조하는 것은
[ESP+4]                      대사 포인터
[ESP+4]+10               대사 길이
그리고
[ESP+4]+14               최대 대사 길이
입니다.

최대 대사 길이가 왜 있는지는 모르지만 어찌되었건 저 이상 초과하면 무조건 에러나니 따로 연산 루틴이
있어야 하지 않나 싶습니다 -_-;; 물론 모든 게임이 다 그런것은 아니지만 말이죠.

물론 다들 아시겠지만 이 상태에서 아랄트랜스로 후킹할 시엔 번역은 문제없이 잘 될지라도
[ESP+4]+10에 지정된 대사 길이만큼만을 출력하기 때문에 문장이 잘려서 출력하게 됩니다.

이것을 번역된 문장길이만큼 수정하게 되면 문장이 잘리지 않고 깔끔하게 출력하는 것을 확인 할 수 있습니다.
아랠트랜스가 이런 일련의 작업을 수행할 수 있지 않을까 해서 올려보았습니다.

PS.혹시 몰라 말하지만 올리스샷의 저 연산은 제가 임의로 작성한 코드입니다 -_-;
실제 대사길이 연산 루틴은 스크립트에서 대사를 빼오자마자 이뤄지기 때문에 아랄트랜스가 파고들 여지가
보이지 않는군요;

PS. 건의가 좀더 맞지 않아 싶어서 건의게시판에 글쓰려했더니 글이 안써지는군요 -_-;;
뭐어 히데찌도 여기다 써서 올리라했으니 올려봅니다. 잠시뒤 다시 뵙죠

List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155437   2008-08-03 2008-12-16 00:03
349 Talk 아랄트랜스 0.2 구글코드 svn 밴당했나요? whoami 2536   2014-02-15 2014-02-15 22:54
오랫만입니다... ^^ 새해 복 많이 받으세요.. 이미 늦었나. 아래 Wales 님이 코드수정을 몇 개 하신 것을 보고 오랫만에 svn 업데이트를 하려고 하니 에러가 뜨더군요. 그래서 구글코드 들어가 보니 프로젝트가 사라졌네요? 동일한 이름의 프로젝트를 만들려고...  
348 Archive [소스, 플러그인] ATCode 테스트 버전 120304 [1] file whoami 2675   2012-03-04 2012-03-05 05:43
 
347 Archive [플러그인] TransCAT 130316 (번역플러그인) [2] file TwoComet 2733   2013-03-16 2013-03-18 09:46
 
346 Talk 아랄트랜스 0.2 소스 bitbucket 으로 올려놨습니다. [7] whoami 2831   2014-02-18 2018-12-27 18:27
구글코드 SVN 에 무슨 일이 생겼는지 몰라서 일단 백업삼아 bitbucket 에 repositiry 하나 잡고 소스를 올렸습니다. 아무래도 옛날 SVN과 인터페이스가 비슷해서 (TortoiseHg) 편한 Mercurial 로 세팅했고.. 공개로 일단 해놓기는 했는데.. 어차피 개발진이 몇...  
345 Archive [소스, 플러그인] ATCode 120407 [9] file whoami 2856   2012-04-07 2012-05-08 15:56
 
344 Archive [플러그인] ATCode 130415 file TwoComet 2898   2013-04-15 2013-04-15 01:04
 
343 Archive [플러그인] ATCode 121014 (수정) - 파기 [6] file EroGame 3027   2012-10-14 2012-10-14 20:42
 
342 Archive [소스, 플러그인] ATCode 테스트 버전 120225 file whoami 3212   2012-02-25 2012-06-17 14:31
 
341 Archive [소스,플러그인] ATCode 테스트 버전 20120207 [16] file whoami 3274   2012-02-07 2012-03-01 04:26
 
340 Archive [소스, 플러그인] ATCode 테스트 버전 120301 [17] file whoami 3360   2012-03-01 2012-06-17 14:29
 
339 Talk 이지트랜스 플러그인 Ehnd 제작자입니다. [6] kiereh 3433   2014-02-27 2014-03-01 17:59
에그헤드의 필터 기능을 타 써드파티 프로그램에서도 사용할 수 있게 하자는 발상으로 이지트랜스 플러그인인 Ehnd를 제작하게 되었습니다. 플러그인이라고 하는 이유는 Proxy DLL 기법을 이용해 구현하였고 (Ehnd의 DLL 이름은 J2KEngine.dll, 기존 이지트랜...  
338 Archive [소스, 플러그인] ATCode 120310 [14] file whoami 3592   2012-03-10 2012-04-01 01:56
 
337 Talk SMSTR 의 부가옵션에 대한 토론.. [4] whoami 3800   2012-02-14 2012-07-12 19:27
ATCode 테스트버전 120207 의 댓글이 너무 복잡하게 꼬여서 이쪽으로 뺍니다. 현재 120207 에서 SMSTR 은 기본적으로 피시님 버전의 OVERWRITE(IGNORE,BUFCHANGE) 모드로만 돌아가도록 만들어져 있습니다. 그런데 피시님께서 부가기능이 필요하시다고 하셨는데...  
336 Talk AralTrans 20120214 버전 변경점 [6] whoami 4193   2012-02-14 2012-06-17 14:29
아랄트랜스 20120214 버전에서의 변경점 1. ATCTNR.dll 버그 수정 - 모듈 정보에서 이미지 파일 크기가 부정확할 경우 Access Violation 에러가 나는 문제 해결. Rewrite (Key) 에서 작동 확인. 다른 게임은 미확인이나 피시님의 ATCTNR 패치가 거의 동일하기 ...  
335 Talk FrigateBird님의 ATCode 20111003버전에 대하여.. [9] whoami 4957   2011-11-02 2011-12-10 16:16
일단 FrigateBird(잘 알려진 피시로 호칭)님의 ATCode 20111003 (줄여서 1003버전) 을 한번 훑어보았는데요, 1003 버전의 주된 변경점은 Siglus 엔진에 대한 지원이 주를 이루고 있습니다. 물론 기존 ATCode 의 버그를 잡은 것도 있지만 마이너하니 넘어갑니다...  
334 Talk XP3Dumper! [1] Hide_D 4996   2011-12-12 2011-12-24 02:57
기리기리랑 합치면 좀 재밌는게 나올 것 같아서 뜯어보고 있습니다. 결과물은 아마 내년(ㅋㅋㅋ)에 나올것 같네요  
333 Archive [소스, 플러그인] ATCode 120401 [1] file whoami 5061   2012-04-01 2012-04-01 08:44
 
332 Archive [실행파일] AralTrans 테스트 버전 20111027 [4] file whoami 5178   2011-10-27 2011-11-01 21:40
 
331 Talk AralTrans, ATCTNR 111112 버전 SVN에 추가. [1] whoami 5260   2011-11-12 2012-06-17 14:29
ATCTNR 의 SVN 소스가 후킹모드 2로 되어있었는데.. 아마 예전에 지나가다정착한이A 님이 발안해서 테스트하던 후킹모드 2 판의 소스가 올라가있었던 듯 합니다. 뭐.. 실제 머리싸매고 고민하다 보니 의외로 돌려놓기가 어렵지 않아서 후킹모드 1로 돌려놓고 ...  
330 Archive ATCode 손보기 20111003 [3] FrigateBird 5924   2011-10-03 2011-12-12 18:46
http://polaris.aralgood.com/index.php?document_srl=1779329 예시 코드 *기능 HEX-16 (VIEW) 원문 XX XX XX XX XX XX XX XX XX XX XX XX <-원문도 박힘 (포인터 4 BYTE, 또는 메모리 효율상 한 라인으로 해결될때는 14~15BYTE 로 사용하여 원문이 메모리에 ...