본문 바로가기

쓰기

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

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
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155435   2008-08-03 2008-12-16 00:03
309 Talk 번역 모듈로 인터넷을 이용하는 방법. Hide_D 30163   2010-06-04 2010-06-04 23:54
굳이 번역기를 이지트랜스를 쓰지 않아도 아랄트랜스를 사용하는 방법이 필요합니다. 네이버 번역 등을 인터넷으로 접근해서 쓰는 방법으로 번역 모듈을 만들어 보겠습니다.  
308 Talk 6월 1일 2시 챗던 Talk Hide_D 18098   2010-06-01 2010-06-01 02:34
대화 인물 : Hide_D, Rynie, G2m, 프시쵸 대화 주제 : 0.3 [ActiveX, ATS] Hide_D 본인이 직접 뜯어본것이 아니므로 사실과 다를 수 있습니다. Hide_D: 아 0.3 자체는 괜찮아요 Hide_D: 다만... G2m: ㅇㅇ Hide_D: 1. ActiveX Hide_D: 2. ATS Hide_D: 이 두놈...  
307 OtherFiles EncodeKor(한국어 <-> 일본어 문자 코드 대치) 재 작성 프로젝트! [16] file Hide_D 75319   2010-05-29 2010-10-25 09:55
 
306 OtherFiles [프로그램, 소스] AT 환경 수집기 20100526 [1] file Hide_D 30118   2010-05-26 2016-05-28 15:42
 
305 Talk 0.3님 제발 자비좀[.....] file 아무개 31299   2010-05-23 2010-05-23 06:20
 
304 Talk ATS의 문제점.. Hide_D 23578   2010-05-15 2010-05-15 19:18
0.2의 그 복잡하고 어려운 방식은 일단 뒤로 두고 0.3의 ATS가 갖는 허점이 1. 첨부파일, 필터 경로들을 [일일히!] 입력해야 한다. 2. 코드가 갱신되었을 때 대처할 방법이 전혀 없다. 일일히 입력하는 것 자체는 나쁘지 않은데, 2번 때문에 심각한 문제가 됩...  
303 Talk 0.3님 제발 자비좀[.....] [2] G2m 29951   2010-05-05 2010-05-23 06:21
디에스 이레 뚫으면서 알게된건데 일단 히데찌 말로는 관리자씨가 말하길 0.3 유니코드 완벽이염 ㅇㅇ 라고는 하는데 그 뭐랄까 문장 스크립트 형식이 00 30으로 시작하는 놈은 아랄이가 고대로 씹어 드셔서[............] 이걸 픽스로 잡아도 조트망이고 흠. ...  
302 Talk FixLine 버그 발생 [1] Hide_D 23382   2010-04-25 2010-05-01 22:19
!梨桜 01 21 979C 8DF7 을 처리하기 위해 %01%21{T} 로 설정하면 FixLine이 씹고 다음 데이터를 뱉지 않음 %21{T} 로 설정하면 아예 '닥치고 튕김' 지정된 문자열 + 임의의 문자열 구조로 했을때 버그가 있는듯 최대한 빨리 수리를 -_-;  
301 Talk 아랄3 디버깅이 말이죠... [2] file JKLeetro 35689   2010-04-20 2010-10-20 07:18
 
300 Talk Hide_D's Todo List [1] Hide_D 19790   2010-03-01 2012-08-03 09:02
좀 써 놔야 할것 같습니다 -_-; 안써두니까 안해요 1. FixLine v2 패턴간 빈칸을 없애는 옵션을 추가 -> 아마 큰 패턴 단위로 옵션을 추가할 수 있도록 하는게 좋을 것 같다. 처리 순서 변경 -> 선 개행, 선 패턴, 번역, 후 패턴, 후 개행을 선 패턴, 선 개행,...  
299 Talk '잡담인데' [2] FrigateBird 23212   2010-02-22 2011-06-28 01:25
0.3에서 일부 게임이 코드를 잠시 none 해야 되는 녀석들이 있잖아염 코드를 잠시 슬쩍 어디 처 올리든 해서 단축키로 전환하면 좋겠는데  
298 Talk 어떤 정신나간 게임은 UTF-32를 쓰네요 -_-;; [1] Hide_D 19284   2010-01-30 2010-01-30 22:52
개발자가 미쳐서 Visual C++ 6.0에 iconv라도 섞어쓰는지 (아니면 gcc에 iconv... 던가) 내부 문자 처리를 UTF-32로 합니다 OTL  
297 Talk 뭐라고 설명해야할까요 -_-; 하여간 설명 file G2m 22598   2010-01-21 2010-01-21 19:17
 
» Talk 문자열 길이에 대한 건의 file G2m 15608   2010-01-21 2010-01-21 18:44
바로 아래의 게시글에도 나와있지만 문자열 길이에 관여하는 필터가 있었으면 합니다. 예를 들기 위한 스샷입니다. 디버거에 물려있는 게임은 아야카시 1.30버전인데요. 현재 드래그 되어있는 곳 즉 005F0AC0이 문장을 가리키는 포인터입니다. 위치는 000FFD0...  
295 Talk 문자열의 길이를 반영하는 '필터' [4] Hide_D 15025   2010-01-19 2010-01-22 01:28
문자열 길이가 고정되어서 포인터 바꿔치기를 통해서도 길이가 바뀌지 않는 것들이 있는데, 이놈들을 위해 길이를 반영하는 필터가 있으면 좋을것 같습니다. 인자로 반영할 메모리 주소 1. 모듈(메모리 주소) 기반 2. 레지스터 기반 으로 ATCode의 그것과 비슷...  
294 Archive [소스] ATPluginFrame 프레임워크 20100105 테스트 버전 file whoami 17913   2010-01-05 2010-01-05 19:47
 
293 Talk 0.3 Filter 간추려서 정리좀 해봤습니다. [1] file Hide_D 17301   2010-01-01 2010-01-02 05:08
 
292 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 17563   2010-01-01 2010-01-01 16:59
 
291 Talk XML 파싱 부분에 문제가 하나 있네요. Hide_D 15772   2009-12-30 2009-12-30 21:42
xml 태그에서 그 태그에 대한 내용이 없을경우 <tag></tag> 로도 표현할 수 있지만 <tag/> 로도 표현 가능합니다. 현재 파서 부분을 보니 <tag/>형식의 태그에는 대응이 되어 있지 않은것 같습니다.  
290 Talk 번역함수가 불렸을 때 자신이 불린 컨텍스트 이름을 아는 문제.. [8] whoami 15151   2009-12-24 2009-12-26 15:34
4. procTranslate 로 지정된 번역함수가 불렸을 때 자신이 어떤 컨텍스트로 불렸는지 아는 방법 현재 컨텍스트의 이름을 얻는 것 외에는 대부분 원하는게 가능할 것 같습니다. pObjectExtention 에 어떤 객체의 포인터를 넣어 놓고, procTranslate 가 호출되었...