본문 바로가기

쓰기

마찬가지로 아야카시를 몰모트로 설명해볼까 합니다.

004.JPG 

004355DA지점의 [ESP]+4 지점을 가리키고 있습니다.
게임에서는 이제 막 선택지를 출력하려고 하고 있습니다.
그 스크립트 명령어가 <MenuAdd>란 것을 알 수 있었죠
여기서 004355DA에 다시 브포를 걸고 무엇이 오는지를 확인해 보겠습니다.

005.JPG 
1 이군요[...]
다시 ㄱㄱㄱ

006.JPG 
아래에서 언급했던 대사와 동일한 구조의 포인터입니다.
011781A8이 문장 포인터고 12가 문장 길이, 1F가 최대 출력 길이가 되겠군요.
혹시 몰라 확인해 보자면

007.JPG 
일본어 문장이 확실한 것을 볼 수 있습니다.

008.JPG 
그리고 다시 진행하니 또한번 MenuAdd가 오는군요.

009.JPG 
2 군요.
2번째 선택지란 거겠죠.

010.JPG 
이번에도 문장 포인터가 나타남을 알 수 있습니다.
계속 실행해보면

011.JPG 
또다시 MenuAdd군요

012.JPG 
예측대로 3번째.
다시 실행 ㄱㄱ

013.JPG 
이번에도 문장이 오는데 이번엔 포인터가 아니라 문장이 통채로 왔군요 -_-;
귀찮아서 언급 안하려 했지만 그 이유는 최대 길이에 있습니다.
최대길이가 0F이하일 경우엔 대사포인터가 오는게 아닌 대사 그 자체가 와버리는 연산을 하더군요.
아야카시란 녀석은
여하튼 계속 진행해 보겠습니다.

014.JPG 
3개의 선택지를 내놓고 비로소 MenuEnd
그 이후엔 곧바로 선택지 출력을 확인 할 수 있었습니다.

여기서 말하고 싶은 것은 선택지를 출력하는 단계
즉 004355DA라는 함수를 거칠때마다 불러오는 데이터의 수순입니다.
종합해보면

<MenuAdd> -> 1 or 2 or 3(선택지 번호) -> 대사 포인터(혹은 대사) -><MenuAdd>->.........-><MenuEnd>

인 것을 알 수 있습니다.
만약 이것을 알고리즘화 해 패턴을 잡을 수 있다면 그러니까

<MenuAdd>가 오고 번호가 온뒤에 오는 대사 포인터 혹은 대사를 번역한다는 알고리즘을
아랄에 적용할 수 있지 않을까 해서 올려봤습니다.

문장 길이 지정만큼 많은 게임에서 쓰이는 방식은 아니지만 히데씨에게 설명해보니
여기에 직접 올려달라는군요 ㅡㅡㅋ

물론 이렇게 더러운 연산만 있는건 아닙니다.016.JPG 
어째선지 15번 이미지가 안올라오는군요 -_-;;;;;;;

이름 출력 부분입니다.
이미지가 안올라온지라 설명을 하자면 우선 처음으로

<Name>이 [ESP]+4에 오고
두번째로 바로 저기 드래그 되어있는 이름이 온 형상입니다.


<Name> -> 이름

이라는 간단한 구조도 존재하니 활용할 수 있지 않을까 싶습니다. 




List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
149 Talk 아나 ㅅㅂ VS2008 안쓸랍니다. [5] Hide_D 12867   2009-04-02 2009-04-03 21:16
제컴이 ㅄ인지 설치할때 ㅄ이 된건진 잘 모르겠는데, 쓰기 갑갑해 미치겠습니다ㅣ -_-; Visual Studio 2008 SP1입니다. 자주 발생하는 현상이 예를 들어 int j=0; for(int i=0;i<28;i++) { j+=i; } for(int i=0;i<28;i++) { j+=i; } _wsprintf(L"%d",j); 요런 ...  
148 Archive ATPluginFrame 프레임워크 20090901 테스트 버전.. file whoami 12897   2009-09-01 2009-09-01 22:49
 
147 Talk 정음 글로벌 2005에 내장된 번역기 [5] Hide_D 12901   2008-11-09 2008-11-09 15:24
ezTransXP보다 좀더 좋아보이네요. 특히 구어표현이 훨씬 낫네요 단순 후커사전 제보 문장들 중에 절반은 수정이 필요없을정도  
146 Archive [플러그인,소스] KoFilter 테스트 버전 20081119 file whoami 12902   2008-11-19 2009-01-06 01:10
 
145 Talk [소스] ConsoleTrans + 질문 [1] file Hide_D 13002   2009-08-11 2009-08-12 23:34
 
144 Archive [플러그인] FixLine 테스트버전 081230 [4] file Hide_D 13238   2008-12-30 2008-12-31 00:39
 
143 Talk QuickTrans2 자료 백업 file Hide_D 13246   2009-08-26 2009-08-26 02:53
 
142 Talk [아랄0.3] 후킹주소 추가하고 번역인자 선택시 오류인지 [3] 암흑마제 13263   2009-12-21 2009-12-21 23:22
아랄// 아랄님 ^^ 0.3 실행하여 0.2에서 찾은 코드로 적용을 할려고 하니 문제가 있는 듯 하네요 뭐냐면 후킹주소 넣고 번역인자 추가했을때 한 후킹주소에 번역인자가 2개가 있는 경우가 더러 있잖아요 그때 처음 인자 말고 두번째 인자는 무조건 아무것도 ...  
141 Talk [질문]번역플러그인에서 필터후처리로 넘어갈때.. [1] 호기 13285   2009-12-19 2009-12-19 03:08
우선 0.3 출시 축하드리고요...^^마침 전국란스 깔려 있어서 테스트 해보았는데... 음 실행 파일 해시가 안맞는다고 나오네요.. 머 이거야 제가 호환되는 버전의 전국란스를 다시 설치하거나 혹은... 이 실행파일 버전을... 추가등록시켜주시던가 하면 될거 같...  
140 Talk 튕기는 문제에 대해서 [6] Hide_D 13286   2009-11-26 2009-12-15 02:55
뭐 다들 아시다시피(?) 대부분의 문제는 보안툴이나 백신에 대해선 충돌하기 때문인데, 여태까지는 소극적으로 대응해왔는데 이젠 좀 적극적으로 뭐가 문제인지를 찾아봐야겠습니다. 해서 다음을 조사해서 보고서를 작성하는 프로그램을 만들어볼 예정입니다~ ...  
139 Talk 아랄0.3 20일자 업데이트 적용시 구동 스샷(반반??) [4] file 암흑마제 13305   2009-12-21 2009-12-21 18:35
 
138 Archive [플러그인,소스] Korean Duplication Checker 20090115 [2] file Hide_D 13335   2009-01-14 2009-01-19 23:34
 
137 OtherFiles fixline 테스트 2차 file 처음처럼만 13341   2008-12-16 2008-12-16 15:52
 
136 Talk [오류] 확장자가 ats 인 파일 실행시 오류 납니다. [1] 암흑마제 13360   2009-12-20 2009-12-20 21:08
auto run invalid parameter or setting file! 이라고 뜨는데요 확장자가 ats 인 파일을 실행시키면 이렇게 되네요 참고로 아랄0.3이고 0.3은 설치 잘 되었습니다.  
135 Archive [플러그인,소스] FixLine 테스트버전 081220_2 [2] file Hide_D 13376   2008-12-20 2008-12-21 08:29
 
134 Archive [플러그인, 소스] FixLine 테스트 버전 Archive(08.31 12:12 갱신) [1] file Hide_D 13429   2008-08-30 2009-01-18 20:11
 
133 Talk 번역기(eztransXP)가 만드는 몇가지 문제들 - 1 [1] Hide_D 13437   2009-12-16 2009-12-16 21:32
이지트랜스가 만드는 몇가지 문제에 대해서 다뤄보려고 합니다. 우선 첫번째로 일본어의 히라가나, 또는 가타카나 한글자가 번역기로 입력될경우 결과물이 공백(length = 0)이라는 문제입니다. 이 문제는 대개 게임 엔진에서 '강제로 한글자씩 출력하는 경우'(...  
132 Archive [플러그인, 소스] ATCode 테스트 버전 20080721 [10] file whoami 13514   2008-07-21 2011-06-28 01:25
 
131 Talk 참 오묘한 윈도우~ 호기 13568   2009-04-04 2009-04-04 01:02
실수로.... malloc으로 잡은걸 HeapFree 하고 있었네요... (머 정확히 말자면 HeapCreate로 새 힙영역 확보하고 할당 해제 하는걸 구축했습니다만.... 정작 할당부분에서 malloc을썼던거죠) 문제는 이렇게 잘못짠걸 1개월이나 지난후에 알았다는 겁니다. 즉 그...  
130 Talk 고칠거? [10] Hide_D 13651   2009-11-28 2009-12-17 18:13
아랄 처음 켰을때 프로세스 먼져 보이는거 아랄만 아랄로 프로세스에 안뜬다는거. by 피시 제 덧[..] 이지트랜스 경로 지정하면 앞으론 고정해봅시다 ㅇㅇ