본문 바로가기

쓰기

안녕하세요. 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
번호 제목 글쓴이 조회 수 추천 수 날짜sort 최근 수정일
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! [4] file TwoComet 40526   2012-08-30 2014-02-26 20:12
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 319378   2008-07-16 2015-02-27 18:02
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 191400   2008-10-31 2009-03-13 23:48
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 505873   2008-07-16 2013-12-31 09:32
177 한국 IP 차단된 일본 사이트 접속하는 방법 [8] 키리아스 19700   2010-08-13 2012-05-18 11:24
http://www.aliveproxy.com/high-anonymity-proxy-list/ 위 사이트에 접속하면 IP:Port Host name 라고 적힌 밑에 255.255.255.255 : 80AA 이런 식으로 주소와 포트가 적혀있습니다. 익스플로러 도구 모음에서 도구 -> 인터넷 옵션 -> 연결 -> LAN 설정에서 프...  
176 혹시나 하루카나소라(요스가노소라 팬디) 실행오류 있으신분은 보세요! file Gintoki 10924   2010-07-25 2012-09-24 01:24
 
175 오토보쿠2 아랄을 후커처럼 사용해보자. [3] file Ria- 6904   2010-07-03 2015-04-23 01:06
 
174 밑의 글의 보충 설명이랄까요 [2] 불협 8099   2010-06-24 2010-09-26 09:43
저도 프로그래밍은 조금 배웠지만, 디버깅에 대해선 아는게 없어서 밑의 글을 읽고 도움이 참 되었습니다. 다만, 프로그래밍 경험이 없는 분들의 입장에선 조금 이해하기 어렵단 생각이 드네요.ㅎ 특히 첫번째 강좌와 두번째 강좌의 레벨차이가 꽤 난다는 생각...  
173 그녀x그녀x그녀 아랄 후킹시 튕기는 문제 관련 팁... [5] 月狼 10579   2010-06-11 2010-06-11 21:28
간단한 팁...이라고 생각됩니다만 몇글자 적어봅니다 현재도 그녀x그녀x그녀(이하 년년년)를 아를로 훅해서 플레이 하시는분이 계실거라 생각합니다 근데 현재 년년년의 플러그인은 AT가 아닌 SCP입니다 아랄연구소의 Hide_D님 말씀에 의하면 메모리 누수라던...  
172 ATCode를 적용할 때 [꼭] 확인해야 할 사항들 [4] Hide_D 14169   2010-05-16 2013-12-05 19:26
자주 올라오는 질문들을 보면서 사용자가 자주 놓치는 AT코드 적용 부분에 대해서 설명해보려고 합니다. 1. AppLocale (어플로케일), KonJ 추가 실행 여부 첫번째 관문입니다. 글 속에 '어플 실행'이라고 쓰여있으면 [꼭!] 어플로케일로 게임을 켜주세요. 2. ...  
171 아랄트랜스는 어디서 받나요? Hide_D 7712   2010-04-29 2010-04-29 16:42
폴라리스 커뮤니티에서는 아랄트랜스로 미소녀 게임을 이용하는 방법 (AT코드 등)을 다루고 있으며, 아랄트랜스 본체는 http://lab.aralgood.com/ 에서 받을 수 있습니다.  
170 코드파인드를 위한 기초 지식(2) [29] file G2m 18800   2010-02-01 2011-11-08 00:55
 
169 코드파인드를 위한 기초 지식. [13] G2m 22909   2010-02-01 2013-04-13 16:47
코드파인드를 위한 기초지식 Vol. 1 기계어 컴퓨터가 이해할 수 있는 유일한 언어. 사람이 짠 프로그램 소스는 일종의 번역기에 의하여 기계어로 번역되어지고 컴퓨터는 이것을 실행하게 된다. 프로그램 일반적으로는 함수의 집합체라고 한다. 여기서 말하는 ...  
168 φage엔진 코드 찾기 강좌. [10] file FrigateBird 12515   2010-01-30 2010-02-02 11:53
 
167 세이나루 아티팩트 설명 [3] file Beriche 9636   2010-01-30 2010-05-13 04:25
 
166 인터넷 익스플로러 8에서 겟츄 검색 사용하기 [1] file whoami 9644   2010-01-23 2010-02-01 07:49
 
165 공주사냥 던전 마이스터 (히메가리) 설치 방법 키리아스 21038   2010-01-16 2010-01-16 16:01
CD 이미지를 툴을 이용해서 디스크에 집어넣고, Setup을 어플로케일로 실행하는건 아시겠지요. 계정이 영문이 아니면 안된다고 합니다. 저는 설치에 별다른 문제는 없었어요. 문제는 패치인데. 패치와 확장팩이 자동 설치이기 때문에, 그냥 실행하면 1152 오류...  
164 전여신zero 우연히 알게된 팁..; [2] file 제니우스 11664   2010-01-15 2010-04-21 14:36
 
163 자료마당에 존재하는 귀축왕 란스 SSG가 작동하지 않는 분들을 위한 팁 OVER WORLD 10132   2010-01-14 2010-01-14 23:18
자료마당의 이용자자료실에 보면 귀축왕 란스의 SSG가 존재합니다. system3.9 ver.5.49에서만 작동하지요. system3.5에서는 작동하지 않습니다. 그런데 혹시 system3.9 ver.5.49임에도 불구하고 SSG가 작동하지 않는 분들이 계시지 않습니까? 제가 그러했습니...  
162 [0.3]CmdFilter로 RemoveSpace 기능을 임시로 넣기.. [2] 유피에르 58418   2009-12-22 2009-12-23 02:02
실내용보다 서두가 길어질듯 합니다만...;;;;; 일단 2BYTE에 RemoveSpace 기능이 존재 하긴 합니다만 모든 문자가 2BYTE로 바뀌는 문제가 있습니다. 간단하게 CmdFilter로 공백문자 제거를 해준후.... 고급설정 - 다음 16진수 아스키 코드가 가르키는 문자를 B...  
161 코드파인더들을 위한 0.3 적용법. [2] file FrigateBird 70981   2009-12-22 2012-03-04 06:47
 
160 시노비류(忍流) 플레이 TIP [5] 마기우스 11173   2009-12-18 2010-01-04 00:04
우선 이걸 어디다 올릴지 고민하다 강좌&팁에 올리기로 했습니다. 공략이라고 하기는 많이 부족한 감이 있어서요. 공략이나 팁 같은 글은 처음으로 써보는 군요. 항상 보기만 하다가 한 번 올려봅니다. 참고로 CG회수나 각 엔딩 조건 같은 건 옆동내 섬나...  
159 아랄트랜스 0.2용 플러그인 DumpFile이 완성되었습니다. [8] Hide_D 12472   2009-12-11 2010-11-14 11:48
자세한 정보는 이곳 http://lab.aralgood.com/29827 현재 사용 용도는 AT코드 파인더분들을 위해 특화되어 있습니다. 자주 튕겨서 필터를 설정하기 까다로웠던 경우라면 추천합니다 ^^  
158 조금이라도 아랄트랜스를 빨리 쓰고 싶은 사람들을 위한 팁! [2] Hide_D 13130   2009-12-06 2015-04-12 15:59
AGTH와는 달리 아랄트랜스 속도가 느려지면 게임 속도 자체가 느려지기 때문에, 이래저래 골치가 아프기 마련이죠. 아랄트랜스에서 속도를 느리게 만드는건 다른게 아니라 '번역 속도'입니다. 딴 필터 100개 끼워봐야 번역속도로 느린 걸 당할 게 없으니까요....