본문 바로가기

쓰기

안녕하세요. 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. 즉 한글자씩 넘어오는 게임을 디버거로 열어서 찾아보겠습니다.


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


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

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


사카라디아

2013.07.30
21:46:09

강좌쪽 사진이 다 짤렸네요 ㅠㅠ 

stamp

2012.07.18
20:42:46

수고하셨습니다.
디버거로 대사만 처리하는 단계까지 들어가는 건 함수 안으로 들어가는 f7을 사용하는 건가요?
아니면 그냥 한 줄 씩 실행만하고 함수 안으로는 들어가지 않는 f8을 사용하는 건가요?
덧붙여 포인터에 대한 글이 있는 곳인데요.
제가 컴퓨터를 전공한 사람이 아니라 이게 피시님이 말씀하신 포인터에 대한 설명이 맞는 지는 잘 모르겠네요.

http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=67607421&qb=7Y+s7J247YSw656A&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=Rsjqy35Y7u4ssbd/%2B%2BNssc--460689&sid=UAaqsLV7BlAAABon@E8

 

안 들어가진다길래 수정했습니다.

확인결과 이제 들어가지는군요.

stamp

2012.07.18
20:54:47

그렇군요 좋은 강의를 올려주셔서 감사합니다.

덕분에 코드 강좌 게시판에도 활기가 돌겠군요.

즐거운 하루 되시기 바랍니다.

불량하로

2012.07.18
21:14:10

흠흠, 포인터 바뀌치기랑 메모리 덮는거 라던지 뭔지 모르고 대충 찍어서 해보던 본인으로선 귀중한 강좌겠군요.
그 해당 탭(?)에 있는 기능들 어따쓰는건지 다 설명해주시면 안될려나요? ㅎㅎ;;

Wales

2012.07.18
22:05:31
좋은 강좌 준비하시느라 수고많으셨습니다.
포인터는 생각하기 나름인듯...전 통장 쯤으로 인식

두병더더

2012.07.18
22:08:03
드디어 장엄한 첫발을 디디셨군요.
한번 발디딛으면 끝을봐야하는 코드강좌를 시작하신거에 경의를표합니다.

시작하신김에 조금 더 괴로우시겠지만 강좌에 쓰시려는 겜이 겟츄에있으면
데모판으로 진행해주실수 있을까요.. (링크나 겜제목덧붙여주시면...)
제가 처음 이곳 게시판접했을때 보이는데로 따라하고싶었는데 해당 게임을 구할수가없어서
아무게임이나 잡고 해볼려니 방식이 너무 틀려서 좌절했었거든요..

너무괴롭혔나요 ^^a

stamp

2012.07.18
22:34:24

강좌 쓰시는 김에 시간이 나신다면

디버거 방지가 걸려있는 게임 코드 구하는 강좌도 올려주시면

감사하겠습니다.

예를 들어 진연희무쌍 맹장전이라던지 마왕주제에 건방지다

이 두 게임은 디버거 방지였던 걸로 기억하는데요.

이 밖에도 아시는 디버거 방지 게임으로

디버거 방지 게임 코드 파는 방법도 올려주시면

감사하겠습니다.

Harukana

2012.07.19
01:32:07
"피시님의 납치강좌" 1화는 아랄자체 디버거 활용법이군요 !
수고 많으셨습니다^^

아마노코즈에

2012.07.19
09:20:20
아아 피식님 완전 조으다.. 사랑해요~ 너무 사랑해요~
이걸 기반으로.. 코드 파인더에 한번 도전을 해보겠어요!
그런고로 다음번 소녀의 팬티도 기대하겠습니다~

냘미

2012.07.19
19:02:14
정말 재가 원래 찾는 공부를 하면서 재미를 못느꼈는데 동영상이랑 강좌보면서 재미를 느꼇다는.
제몸에 맞는 옷을찾았다고해야될까요.. 딱 재가 원하는 느낌에 강좌여서 정말 재밌게 봤네요.
감사드립니다 ^ ^

냘미

2012.07.19
19:36:43

피시님말씀대로 해보니 AT코드가 있는게임이긴하지만 찾았음!!
뇌내그녀의 소꿉친구는침대야쿠자라는게임인데 찾았음 !! 정말 감사드립니다.
적어도 지금까지 산처럼 크게 느껴지던 느낌이였는데 드디어 한발짝 움직인 듯한느낌입니다 감사합니다 ^ ^

냘미

2012.07.19
20:28:04

혹시나 해서 RPG 쪽도 한번찾아봤는데요....
있는거긴하지만 RPG쉬운거는 찾을거같네요 방법을 알았다능 대충..
히메가리도 찾아지는군요 이방법으로. 연속으로 두번다 될줄은 몰랐는데 어쨋든 피시님덕분에 적어도 쉬운것들은 혼자서 찾아서 할수있게되었습니다 감사합니다 ㅠ 선택지및이름및미션및아이템명 등등 나오네요 ㅠ

냘미

2012.07.19
21:18:52

일단 지금 까지 설명중에 모르는건 없네요 ^ ^ , 그래도 피시님 강좌 나오기전에 여러 강좌를 좀 보고 배웠더니

그리고 저한텐 딱 이상적인 강좌라서 부족한건 없어보여요 저한텐 ^ ^~ 만약 모르는게 생기면 댓글을 마구마구 달아서 귀찮게 해드릴게욧!

다크짱

2012.07.26
21:14:56

님은 진심으로 영웅입니다...

근대 30퍼라 상당히 낮은수치이기는하네요.

근대 rpg 미연시의 스킬설명같은 간이헬프식의 일본어도 이걸로 아랄이 가능할까요?

rkrtjd

2012.08.01
03:18:37

으악! 실수로 비추천 눌렀습니다. 이거 취소 안되나요?

질문하려고 하다가 이런 실수를... 죄송합니다.;;;;

으,,,

어쨋든 질문들어 갑니다. 縄-紅い傷痕-라는 게임을 시도해 보고 있는데 어드레스가 매번 변하네요.

001.PNG

재시도시

002.PNG

한 십여번 정도 재실행만 해봤는데 주소는 같을 경우도 있지만 거의 변하더군요.

아직 제 수준에선 건들기 힘든 게임종류일까요?

첨부 :
001.PNG [File Size:163.7KB/Download106]
002.PNG [File Size:6.7KB/Download74]

Wales

2012.08.01
03:42:03
매 실행시 주소가 달라지는건 베이스주소가 매번 달라지기 때문입니다. 아랄 디버거로 코드를 찾으신후 올리디버거를 이용해서Alt+E키를 눌려 해당 게임의 베이스 주소를 확인하시고 아랄 디버그 주소에 베이스 주소를 빼주시면(16진수) 됩니다.
이 과정이 귀찮으시다면 XP를 이용하시면 아마 고정으로 나올겁니다.

rkrtjd

2012.08.01
08:44:38
올리디버거를 써본적이 없어서 좀 헤메고 있습니다.
아무래도 올리디버거 사용법부터 알아봐야 할 듯 합니다.;;
윈7에선 변하고 XP에선 고정이라니.
그럼 XP에서 기동되는 주소로 코드 적용하면 7에서도 잘 먹힐까나요. 세컨컴으로 주소를 찾아봐야겠군요.
당장 올리디버거 사용법을 알긴 힘드니 이런 편법을...

skkdo

2012.08.22
23:03:17
아랄 코드 미연시 1개당 1개밖에 없나요?

여명.

2012.09.02
22:00:45
그 디버그 at 창을 띄웠을때 텍스트가 출력 안되는 게임은 어떻게 해야 할까요
코드 한번 찾아볼랬더니 어려워서 여쭙니다....

Wales

2012.09.02
22:11:07
자체 디버거로 안될땐 다른 디버거 툴을 이용하시면 됩니다.
그에 관한 강좌는 아래 링크로 남겨 둡니다.
http://polaris.aralgood.com/index.php?document_srl=1932321&mid=Polaris_code_rec

잠좀 자자

2012.10.30
03:39:26
묭~.............
ㅠㅅㅠ 6번 과정에서 .dll 파일 빼고 나머지에 text가 안 뜨는군요...
이건 예외들중 하난가요?
지금 花色ヘプタグラム 의 at 코드를 찾고있는데 못찾아서요..
(올라온게 있기는 하지만 어쩔수 없는 이유로 사용이 불가능...)

쿨링소니

2012.11.18
22:18:48
6번 게임을 진행하여 한줄이 나오게 해봅시다
여기서 막히는데 어떻하나요?
List of Articles
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! 4 file
TwoComet
40754   2012-08-30 2014-02-26 20:12
공지 아랄트랜스 - 초보자 가이드 94 file
Hide_D
319522   2008-07-16 2015-02-27 18:02
공지 모든 플러그인, 필터 안내 ('09.03.13) 20
Hide_D
191534   2008-10-31 2009-03-13 23:48
공지 아랄트랜스 0.2 - 초보자 가이드 109 file
아랄
506021   2008-07-16 2013-12-31 09:32