본문 바로가기

쓰기

안녕하세요. EroGame 이며 前피시 입니다.


강좌를 어떻게 올릴까하고 고민하고 고민한 끝에 결국에는 이리저리 망설이지 말고 생각나는대로 올리기로 했습니다.

이 내용은 어디까지나 제가 찾는 방법을 기준으로 작성하기 때문에

다른 분과는 약간(?) 다를 수도 같을 수도 있습니다.

이점을 유의해주시고 읽어주세요.


앞으로 쓸 강좌는

영상으로 나올때도 있을것이고

글로만 작성할때도 있을지도 모르고

이미지와 글로 작성할 수도 있습니다.


전부 영상으로 하기에는 너무 몸이 버티질 못하기 때문에 양해를 구합니다. ^-^


!주의!

피시는 코드를 파는데 무조건 중시하는 것이 있습니다.

첫째. 코드로 내놓는건 띄어쓰기를 제거하지 않아야 하며, 글잘림이 없어야 한다.

둘째. 디나이워드의 무시설정도(PASS)를 사용하거나 Cmd필터를 사용하는 등 원문이 첫째에 반하는 형태로 나오거나 저런 필터를 사용하지 않고서는 게임이 튕기는 코드는 버려야 한다.

셋째. 모든글을 최대한 번역하는 코드를 내놓고 추후에 다른 미번역 글이 발견되면 코드를 업데이트 한다.



먼저 저도 인간이기 때문에 코드 찾기를 귀찮아 합니다.

그래서 다소 요령도 피우고 야메도 쓰고 하지요.


모르는 게임을 접했다?

그러면 처음엔 이렇게 합니다.


1. 게임을 실행합니다.

01.png

일반적인 실행으로도 실행되어도 가급적 특별하지 않는 이상 어플로 실행.

어플, 노어플로 안될경우 유니코드 변경 후 실행

(NTLEA는 유니코드 변경 실행가능 유무 판단으로만 사용하되, 절대 아랄을 사용하기 위한 용도로 쓰지 않는다)


2. 아랄트랜스를 실행하여 게임을 후킹합니다.

02.png

게임을 선택하여 후킹합니다.

프로세스 목록에 보이는 실행한 게임이 있을겁니다.

선택하여 HOOK 버튼을 눌러주세요.


3. 나중을 위해 ATCode(기본셋팅), 필터(그림과 같이), 번역플러그인을 선택해놓고 바로가기 버튼을 눌러 바탕화면에 바로가기를 만듭니다.

03.png 04.png

코드를 파면서 게임이 튕기면 다시 1~3까지 다시 해야하는 번거로움을 줄이기 위해 하는 작업입니다.

나중에 바로가기만 열면 바로 셋팅이 다시 되니까요.


4. 아랄자체디버거를 사용하기 위해 셋팅을 다시 아래와 같이 바꿔줍니다.

05.png

필터도 2개 지웠습니다.


5. 후킹플러그인에서 DebuggingATCode를 선택합니다.

06.png

그러면 창이 하나 뜨게 되는데요.

이걸 타이틀에서 띄우는것과 게임진행중에 띄우는것은 게임이 타이틀에서 먹통이 되냐 안되냐로 판단하여

게임에 맞게 적절히 대응해주세요.


6. 게임을 진행하여 한줄이 나오도록 해봅니다.

07-1.png

보시게 되면 Score에 레지와 스택이 보이고 ()로 Hit 수가 써져있는데요.

이 Hit 는 글자가 출력된 최대 길이 누적량을 보여줍니다.

이미지로 보면 88Hit 를 기록하고 있네요?


7. 만약 Hit 수가 출력된 글과 정상적으로 일치하는 게임의 경우에는 해당 주소와 스택을 메모장에라도 옮겨적으세요.

443FA0 [ESP+0x18], 446240 [ESP+0xc]

이때 나온 둘 중 하나라도 되길 빌어보는겁니다.


덤프 텍스트에서도 무난하게 뜨는군요.

07-2.png

Kernelbase.dll, GDI32.dll, ntdll.dll, USER32.dll 과 같은 일부 외부 dll은 윈도우 dll 입니다.

저부분은 가볍게 무시해주세요.

(설령 저기서 글이 나온다 할지언정 말이지요)


[]는 포인터 형식을 의미합니다.

(포인터의 개념은 추후 영상으로 간단한 소개를 진행하겠습니다.)


간단히 제 식으로 비유하면 바로가기 파일? 같은 존재로 이해하시면 됩니다.

소녀의 팬티라고 생각하셔도 됩니다.(도주)

덤텍(=덤프텍스트 필터, DumpText )에서 보아도 따로 필터를 사용할 필요는 없어보이네요.

그대로 ATCode에 적용해서 제대로 나오나 확인합니다.

(아까 만들어둔 바로가기로 다시 실행하여 코드를 적어넣습니다.)


안전도의 순은 포인터 바꿔치기가 우선순위며

만약 해당 대사가 들어있는 메모리에 대사말고 다른 값을 사용하여 별개의 연산도 겸해서 하는 경우에는 튕기게 됩니다.

그래도 포인터는 여러번 복사해서 원 주소를 백업해두기 때문에 메모리 덮어쓰기보다는 안전하다고 보는게 좋습니다.

EAX,EDX,ECX 와 같은 레지의 직접들고 올경우에는 포인터 바꿔치기를 사용할 수 없습니다.

이럴때는 메모리 덮어쓰기를 사용해주세요.

물론 예외로 [EAX] 처럼 포인터를 넣어서 들고오는 경우에는 포인터 바꿔치기로 사용할 수 있습니다.

(포인터의 개념을 이해하고 계시면 위 내용은 쓸데없는 설명입니다.) 


메모리 덮어쓰기의 경우는 원문 대사위에 한글을 덮어버려서 원문을 날려버리는 형식입니다.

따라서 대사가 길면 그 원문 이상의 장소에 한글을 덮어버리게 되는데

게임내에서 이 넘어간 장소에 별다른 작업이 없다면 튕기지는 않습니다.

반대로 넘어간 장소에 종결문자라든가 다음 대사가 들어있다던가 명령어가 있거나 한다면

그 글이 뭉게지게 되므로 당연히 튕기게 되지요.

(튕긴다면 이런 이유들 때문이구나 하고 이해하시면 되겠습니다.)

그래도 메모리 덮어쓰기로 대사가 나오는지는 확인해봐야 하니 버퍼크기 무시를 활성화하지 않은 상태로 테스트 후

버퍼크기 무시를 활성화 시켜서 튕기는지? 혹은 글이 안잘리는지? 를 확인해주세요.

무사하다면 메모리 덮어쓰기로 코드를 내도 상관 없다는겁니다.


* 위 포인터와 메모리 형식으로 튕기는 대처 방안은 2가지로 분리되다가 합쳐지는데

a - 메모리 덮어쓰기의 튕기는 경우 디버거로 열어서 포인터화 시킬 수 있는 방법을 찾습니다.

포인터로 했을때도 튕길때는 b의 대처 방법을 이행합니다.

(추후에 설명하도록 하겠습니다.)

b - 포인터 바꿔치기의 튕기는 경우는 메모리 덮어쓰기 방식으로 해봅니다.

그래도 튕길경우에는 디버거로 대사만 처리하는 단계까지 계속 들어가서 다시 포인터를 납치합니다.

(추후에 설명하도록 하겠습니다.)

c - 외전격으로 튕기는 대처 방법은 해당 지점에 대사가 다른 곳으로 2차적인 복사를 하는지 확인하고

할 경우 그 2차적인 메모리 부분의 포인터나 메모리 덮어쓰기를 할 장소를 알아내면 됩니다.

(추후에 설명하도록 하겠습니다.)


8. 위 1~7번까지 한것을 영상으로 해보았습니다.

...........내렸습니다.

하나 느낀게 있다면 넷북으로 영상찍지 말자...라는거

(저번 영상에 비해 이번건 엄청 버벅거리네요.)


일단 지금 설명한 방식은 아랄자체디버거로 걸려서 "어라? 단순하네?" 싶은 게임들이 코드가 나오는 방법입니다.

약 에로게가 100개 있다면 대략 30개 정도는 위 방법으로도 코드를 찾을 수 있습니다.


이것을 배우신 여러분은 약 30%의 에로게 코드를 팔 능력을 얻었습니다!

어렵지는 않으셨는지요?


다음 강좌는 아랄 자체디버거에서 1Hit. 즉 한글자씩 넘어오는 게임을 디버거로 열어서 찾아보겠습니다.


========================================================================================================


본 강좌는 무단으로 다른 곳에 기재하는걸 금합니다.

아니, 허락 맞고도 금합니다. 데헷~♥


List of Articles
번호 제목 글쓴이 날짜 최근 수정일 조회 수
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! [4] file TwoComet 2012-08-30 2014-02-26 20:12 40477
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 2008-07-16 2015-02-27 18:02 319301
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 2008-10-31 2009-03-13 23:48 191352
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 2008-07-16 2013-12-31 09:32 505813
97 기리기리 플러그인 사용시 글씨가 깨질 때 file 처음처럼만 2008-12-14 2008-12-14 13:08 11215
96 초심자 분들을 위한 겟츄 주소를 알아내는 방법!! file 처음처럼만 2008-12-13 2008-12-13 23:37 10690
95 멀티 플러그인에 관해서 [3] file 처음처럼만 2008-12-11 2008-12-12 10:59 10144
94 [해결방안]노을빛으로 물드는 언덕 팅김 현상 해결 방안.[수정] [7] file 아스트라알 2008-11-07 2008-12-03 05:34 6726
93 아이돌 레볼루션 설치 안되는 분 참고하세요 [3] 엘리어트 2008-11-29 2008-12-02 10:34 5825
92 아랄 적용후 게임 대사가 전혀 백지로 출력이 않돼시는분. [3] 난오타쿠가아니야 2008-11-15 2009-01-06 01:10 6448
91 비스타에서 아랄트랜스로 후킹시 게임이 사라질때 [8] file my Vagina 2008-10-06 2009-01-06 01:23 9350
90 소레치루 완전판 설치 안되시는분들 [4] file 無chaos 2008-11-01 2008-11-25 23:41 7526
89 준한글화 게임 플레이시 번역 이상하게 나오시는 분들 [2] 난오타쿠가아니야 2008-11-24 2008-11-25 17:57 7805
88 읽으면 더 헤맬지도 모를 프군의 코드 범죄강좌 (2) [6] file 프군 2009-03-17 2013-09-27 02:37 24357
87 파일첨부가 안되는 사람들을 위한 글 [2] file 처음처럼만 2008-10-28 2008-10-30 18:02 6735
86 필터 추가시 LoadLibrary 에러가 발생할 때 [1] file 처음처럼만 2008-12-16 2013-08-24 09:15 13832
85 우타와레루모노 보이스패치후 바로가기 하는법 팁입니다. [3] maruichi 2008-10-26 2008-10-26 10:30 9834
84 에우슈리 & 아나스타샤 게임에서 오류가 뜨시는분 Peith 2013-08-07 2013-08-07 00:49 523
» 코드찾기 피시는 이렇게 한다 01 [22] file TwoComet 2012-07-18 2013-07-30 21:46 7736
82 NTLEA GUI 0.92 이상을 쓰시는 분은 필히 보시기 바랍니다. [5] TwoComet 2013-02-01 2013-07-29 03:13 2876
81 QLIE 엔진을 사용하는 게임 이렇게 찾으면 쉽습돠 [8] file Wales 2012-08-08 2013-07-17 19:30 4025
80 [팁]단순후커사전SDK 두통 2013-07-06 2013-07-08 20:42 1448
79 코드파인드를 위한 기초 지식. [13] G2m 2010-02-01 2013-04-13 16:47 22909
78 미연시 플레이시 특히 오프닝 엔딩영상에서 강제종료 되는문제. 소라노카제 2013-04-13 2013-04-13 11:40 3280