본문 바로가기

쓰기

 

Q. AGTH H코드와 아랄트랜스의 AT코드는 둘 다 텍스트 출력지점을 뜻하는 걸로 아는데 무엇이 다른가?

A. 둘 다 텍스트 출력지점임은 맞습니다. 하지만 프로그램의 성격이 미묘하게 다릅니다.

AGTH H코드는 대부분 한 개의 문자가 출력되는 지점만 잡으면 됩니다. , 문자를 별도의 창에 출력하는 것이 주 목적이므로 문자가 하나하나 찍히는 부분을 후킹해서 모으면 하나의 문장이 보여지게 되는 형식입니다.

반면 아랄트랜스의 경우에는 문자로 출력되기 전에 전체 문장을 찾아야 합니다. 게임에 찍힌 문자들을 모아서 하나의 문장을 만들었다 한들, 이미 늦었죠. 게임은 이미 그 텍스트를 화면에 찍어버렸기 때문입니다. 따라서 H코드보다 찾기가 까다로운 것은 사실입니다. 이 문제는 디버거 플러그인을 점점 개선시키는 방향으로 해결할 것입니다.

 

 

Q. AT코드는 모든 게임에 존재하는가?

A. 현재 제공되고 있는 AT코드 디버깅 플러그인은 윈디버거, 올리디버거 같은 전문 디버거 툴에 비하면 코딱지(?) 같은 존재입니다. 다만 텍스트가 지나가는 함수를 찾는 기능에 특화되어 있을 뿐이죠. 따라서 AT코드 디버거가 잡아내지 못하는 함수나 문자열들도 있습니다. 이론상으론 90% 이상의 게임은 AT코드가 될만한 지점이 있긴 있습니다. 말이 AT코드이지;; 사실 게임 프로그래밍에 있어서 대사 출력함수는 10 9게임은 존재하기 마련입니다. 물론 아랄트랜스가 불안정해서 팅기거나 하는 경우는 아랄트랜스가 개선해야 될 문제구요. ^^

 

 

Q. 강좌대로 했는데 번역이 안된다. 혹시 후킹지점을 잘못잡았는가?

A. 가장 이상적인 AT코드는 대략 다음과 같습니다.

- 대사를 한 번 넘기면 후킹지점도 단 한 번 걸린다.

- ESP로부터 가깝다. (ESP+0x20 이상이면 의심해보시길..)

- 게임 내부적으로 텍스트 복사가 이루어지기 전의 위치다.

 

 

Q. 후킹코드를 찾은거 같은데 첫글자가 외계어로 나온다. 왜 그런가?

A. 후킹코드에 거의 근접한 주소를 찾았으나 한 박자 느린 주소입니다. 그 첫 문자 조차도 출력되기 전의 주소를 찾아야 합니다.

 

 

Q. 후킹 코드는 꼭 함수 진입점이어야 하는가?

A. 어셈블 코드 중간도 상관없습니다. 후킹 복귀시 EAX~EDX, ESI, EDI, ESP, EBP, EFL 레지스터들을 그대로 복구시킵니다.

 

 

Q. 아랄트랜스로 후킹만하면 게임이 뻗어버린다. 원인이 무엇인가?

A. 크게 두 가지 경우를 생각할 수 있습니다.

- 첫번째 : 후킹 시도만 하면 게임에서 거부반응을 보이는 경우. , 아랄트랜스에서 Hook버튼을 누르기만 해도 뻗어버리는 경우는 게임 자체적으로 조작방지 기능을 넣었거나, 컴퓨터에 깔린 바이러스 감시 프로그램에 의해 종료되는 경우가 있습니다. 이러한 경우는 저도 속수무책입니다. ,.;;

- 두번째 : 후킹 플러그인으로 Cached, NonCached를 적용시키거나, AT코드를 적용시켜 번역을 시도할 때 게임이 뻗어버리는 경우. 이런 경우는 후킹 주소가 잘못된 경우입니다. 텍스트가 아닌 중요한 메모리임에도 불구하고, 텍스트로 인식, 이를 다른 데이터로 덮어버릴 때 발생하는 문제입니다. DebuggingATCode 플러그인을 적용시켜 돌려보시면 알겁니다. 이 플러그인은 메모리에 쓰기작업은 일체 하지 않고 오로지 정보를 보여주기만 하므로 뻗지 않을 겁니다.

 

 

Q. 아랄트랜스가 버전업하면 AT코드 형식도 바뀌는가?

A. 업그레이드 됨에 따라 새로운 옵션이 추가되기는 하겠지만, 현재의 옵션체계 그대로 하위 호환이 되도록 할겁니다. 따라서 형식 자체가 바뀐다거나, 예전 AT코드가 쓸모없게 되는 일은 절대 없습니다.

 

조회 수 :
64850
등록일 :
2008.04.25
23:38:44
엮인글 :
https://arallab.hided.net/2206/acc/trackback
게시글 주소 :
https://arallab.hided.net/board_lecture/2206

스미카

2008.04.26
00:24:28

게임이 뻗어 버리는 증상이 나오는 게임은 보류중..

AT 코드는 쭉가겠죠..

후아암 저녁인뎅 않주무시는 관리자님에게 박수.. (?)

라파에

2008.04.26
08:22:24

제가 원하던 글입니다!! 웟..

어쩐지 h옵션을 찾는 방식대로 찾앗습니다만

안되는 이유가 바로 여기에 있엇군여

버젼업이 되면 필요 없겟지만

나중에 시간 되시면 전문디버깅툴의 주소 찾기 강좌도 해주셧으면.. - -;;

List of Articles
번호 제목 글쓴이 날짜 최근 수정일 조회 수
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! [4] file TwoComet 2012-08-30 2014-02-26 20:12 40805
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 2008-07-16 2015-02-27 18:02 319552
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 2008-10-31 2009-03-13 23:48 191562
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 2008-07-16 2013-12-31 09:32 506061
17 우타와레루모노 보이스패치후 바로가기 하는법 팁입니다. [3] maruichi 2008-10-26 2008-10-26 10:30 25979
16 System35Plugin 대체 코드 [2] my vagina 2008-10-19 2008-10-25 19:21 25707
15 게임이 기리기리 엔진인지 알고 싶다면! [7] file Hide_D 2008-10-18 2008-11-03 21:48 32314
14 비스타에서 아랄트랜스로 후킹시 게임이 사라질때 [8] file my Vagina 2008-10-06 2009-01-06 01:23 27518
13 다국어도구 AppLocale 설치와 사용법 [3] file 야라토 2008-08-16 2008-08-26 23:57 48696
12 [강좌] 사용자 사전 플러그인 0.3 사용법 [11] file Hide_D 2008-08-13 2009-04-02 21:32 106963
11 유니코드 변경법 [4] file MILD 2008-08-01 2009-02-06 14:00 60228
10 [강좌]사용자 사전 플러그인 0.2 사용법 (CustomDic.txt 편집방법 첨부) [5] file Hide_D 2008-07-21 2008-12-29 00:52 82085
9 [강좌] TAT플러그인 사용법 2/2 [2] file my Vagina 2008-07-19 2009-01-06 00:59 40372
8 [강좌] TAT플러그인 사용법 1/2 [2] file my Vagina 2008-07-19 2009-01-06 00:59 53011
7 클립보드로 복사된 내용을 ClipHooker EX! 로 깨짐 없이 보는법 [6] file Hide_D 2008-06-19 2008-12-23 17:32 50462
6 (팁) 기리기리 플러그인의 ATData.ZIP [10] file 아랄 2008-06-01 2008-07-10 20:24 78689
5 [팁] 아랄트랜스 바로가기 파일 - 등록정보 대에서.. [1] file 아랄 2008-05-24 2008-11-11 17:34 40936
4 SHIFT-JIS 코드표 [2] file 아랄 2008-05-12 2009-03-18 19:17 43676
3 DLL 코드 후킹 [8] file 아랄 2008-05-05 2008-05-08 18:59 67392
» [팁] AT코드의 더 많은 것들 [2] 아랄 2008-04-25 2008-04-26 08:22 64850
1 아랄트랜스 0.2 - 실행시 옵션에 대하여 [1] 아랄 2008-04-24 2008-11-11 23:31 63995