본문 바로가기

쓰기

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

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 [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
88 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810 file whoami 8164   2008-08-10 2009-01-06 01:26
 
87 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...  
86 Archive [플러그인, 소스] 사용자 대본 & 사전 플러그인 20080809(테스트버전) [2] file Hide_D 8362   2008-08-09 2008-08-10 00:02
 
85 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...  
84 Archive [플러그인, 소스] DenyWord 테스트 버전 20080809 [1] file whoami 8067   2008-08-09 2009-01-06 01:26
 
83 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807_2 file whoami 12660   2008-08-07 2009-01-06 01:26
 
82 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807 whoami 8699   2008-08-07 2009-01-06 01:26
고급 옵션 설정시 중복되는 버그 고친 버전입니다. 이상한데.. 분명히 고친 것 같았는디... 버그가 또 발견되어 삭제합니다. http://aralgood.com/zbxe/56444 를 참조.  
81 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080806(테스트버전) [1] file Hide_D 8712   2008-08-06 2009-01-06 01:00
 
80 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080806 [4] file whoami 7719   2008-08-06 2009-01-06 01:00
 
79 Archive [플러그인, 소스] RLCmd 20080806 file whoami 7775   2008-08-06 2009-01-06 01:00
 
78 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080805(테스트버전) file Hide_D 7830   2008-08-04 2008-08-05 01:06
 
77 Talk 함수, 변수 작명법 잘 정리된곳 없나요; [1] Hide_D 9291   2008-08-03 2009-01-06 01:00
결국 소스로 올려야하니까 좀 정리는 해둬야겠다.. 싶어서 번역쪽은 그냥 0.2버전(캐시 초기화) + 약간의 강화로 변경  
76 Talk 현재까지 작업물 + 에러 OTL [2] file Hide_D 9891   2008-08-03 2008-08-03 21:08
 
75 OtherFiles [잡다]UTF8텍스트파일 -> Hex 출력기 file Hide_D 10613   2008-08-03 2008-08-03 16:26
 
74 Talk VS 2005로 갈아탔습니다 [1] Hide_D 8272   2008-08-03 2009-01-06 01:34
MFC, 리소스 에디터 때문에 도저히 못 버티다가 옮겼습니다. VS 2008 깔고는 그 느린 속도에 기겁했는데, 이쪽은 꽤 빠르네요. [우홋홋] 근데, 2005와 2008 차이가 뭐죠? 버전 옮길때 그냥 파일 열고 버전 숫자만 바꾸면 땡이네요[...]  
73 Talk 0.3에서 추가할것 Hide_D 7908   2008-08-03 2009-01-06 01:00
까먹을까봐 정리 사용자 사전계 1. 사용자사전 유/무 2. 범용사용자사전 유/무 3. 사용자 정의한 주소의 파일 열기(취소) 4. 탭처리 5. 검색 알고리즘 강화(보류) ezTransXP 강화계 1. 번역후 괄호 처리(다이얼로그에 추가)(보류) 2. 사용자 사전과 완벽히 분...  
72 Talk DumpText는 아직 개선이 좀 필요한듯; [3] Hide_D 8111   2008-08-03 2009-01-06 01:00
여러개를 켤 수가 없다는 단점이 있네요[...] 그나저나 질문, 헤더 파일에서 extern으로 선언하면 그 프로그램 전체에서 공유되는건가요? 그렇다면, 창은 하나만 띄우고 플러그인 로드될때마다 번호를 매겨서 옵션을 먹여야 하려나요..  
71 Talk 문자열 -> Hex 변환이 제대로 안되네요. [7] Hide_D 7561   2008-08-02 2009-01-06 01:00
LPSTR ConvertHex(LPCSTR source){ size_t Len=strlen(source); char Temp[2048]=""; BYTE szBuf[3] = { '', }; int j=0; for(size_t i=0;i<Len;i++){ szBuf[0]=(BYTE) source[i]; szBuf[1]=(BYTE) source[i+1]; if(szBuf[0]<0x80){ //1바이트 코드라면 j += ...  
70 Archive [플러그인, 소스] RLCmd 20080802 [1] file whoami 8818   2008-08-02 2009-01-06 01:00