본문 바로가기

쓰기

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

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 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080806 [4] file whoami 7719   2008-08-06 2009-01-06 01:00
 
348 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080806(테스트버전) [1] file Hide_D 8712   2008-08-06 2009-01-06 01:00
 
347 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807 whoami 8699   2008-08-07 2009-01-06 01:26
고급 옵션 설정시 중복되는 버그 고친 버전입니다. 이상한데.. 분명히 고친 것 같았는디... 버그가 또 발견되어 삭제합니다. http://aralgood.com/zbxe/56444 를 참조.  
346 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807_2 file whoami 12660   2008-08-07 2009-01-06 01:26
 
345 Archive [플러그인, 소스] DenyWord 테스트 버전 20080809 [1] file whoami 8067   2008-08-09 2009-01-06 01:26
 
344 Talk 플러그인을 다시 Multi2용으로 만들면서 생긴 궁금증 [4] Hide_D 8374   2008-08-09 2009-01-06 01:26
MFC를 그대로 써야하는지라 API용의 기본틀을 쓸순 없어서 새로 만들었는데, extern "C" __declspec(dllexport) BOOL __stdcall OnPluginInit(HWND hSettingWnd, LPSTR cszSettingStringBuffer); extern "C" __declspec(dllexport) BOOL __stdcall OnPluginOpt...  
343 Archive [플러그인, 소스] 사용자 대본 & 사전 플러그인 20080809(테스트버전) [2] file Hide_D 8362   2008-08-09 2008-08-10 00:02
 
342 Talk 맵을 이렇게 사용해도 되나요? [2] Hide_D 8705   2008-08-09 2008-08-09 22:13
void CCustomDic2::SetKey(LPCSTR JpnWord, LPCSTR KorWord) { map<UINT,struct DicWord> EmptyMap; struct DicWord TempWord; map<size_t,UINT>::iterator iterBook; TempWord.WordLen = strlen(KorWord); TempWord.WordN = WordN++; UINT Hash=MakeStringHas...  
341 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810 file whoami 8164   2008-08-10 2009-01-06 01:26
 
340 Archive [플러그인, 소스] CustomSD 0.3 20080810(테스트버전) [2] file Hide_D 7743   2008-08-10 2008-08-10 14:40
 
339 Talk 다음 계획 [1] Hide_D 9995   2008-08-10 2009-01-06 01:33
1. 개행 문자 처리 사용자가 정한 문자열(hex나 문자열중 하나 선택해서 입력)으로 벽을 뚫지 않도록[...] 개행문자를 처리해주는 기능 번역률 향상도 기해 할 수 있을듯. 2. 사용자 대본 기능 관련 http://koreajapan.pe.kr/make.htm 이녀석 문법 귀찮네요[.....  
338 Talk whoami님 Util.h의 옵션 파서가 [4] Hide_D 7908   2008-08-10 2008-08-10 15:13
문자열 을 지원하나요? 아니... 으음 c:documents and settindsuser내 문서Game,A루트(미완성).txt 라는 문자열을 파서로 받을 수 있나요?  
337 Archive [플러그인, 소스] CustomSD 0.3 20080810_2 [1] file Hide_D 8012   2008-08-10 2009-01-06 01:26
 
336 Talk CustomSD 원문 단어 흘리기 결과. [2] whoami 9910   2008-08-10 2009-01-06 02:06
제가 다른분이 제작하신 플러그인 테스트를 하게 될줄은.. 어쨌든. 원문 - 誰だ⑤ 誰なんだよ⑤@n美奈⑤ そいつは誰なんだ⑤ 번역 - 누구다⑤ 누구이에요놡@n미나⑤ 그 녀석은 누구야 놡 단어 흘리기 (?) 가 되다 안되다 하는군요. 중간에 "놡" 은 된 것이고.. ⑤ ...  
335 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810_2 [1] file whoami 8641   2008-08-10 2009-01-06 01:06
 
334 Talk 필터 3개 커밋 완료했습니다. [2] Hide_D 9263   2008-08-11 2009-01-06 01:06
HK2FK KoFilter TextDump whoami님이 안하셨길래 대신; RLCMD는 해도 괜찮을 것 같긴 한데, 이건 안하나요?  
333 Talk 어휴.. [2] file whoami 8573   2008-08-11 2009-01-06 01:06
 
332 Archive [플러그인, 소스] DenyWord 테스트 버전 20080811 file whoami 8097   2008-08-11 2009-01-06 01:05
 
331 Archive [플러그인, 소스] DenyWord 테스트 버전 20080811_2 file whoami 8479   2008-08-11 2009-01-06 01:05
 
330 Talk 옵션 스트링 버퍼 말이죠? [1] Hide_D 10830   2008-08-11 2008-08-11 23:22
ezTransXP단부터 확인을 해봤더니 ezTransXP도 LPSTR을 이용하는 군요 ㄱ- 옵션으로 파일명을 받으려고 했는데, 이거 참 난감하게 됬네요. c:ゲ?ムABCA_Route.txt 하면 못열테니까요. 아직 LPTSTR은 안줘봐서 모르겠지만 안된다면 충격이 좀 클듯;