본문 바로가기

쓰기

 

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코드가 쓸모없게 되는 일은 절대 없습니다.

 

조회 수 :
64829
등록일 :
2008.04.25
23:38:44
엮인글 :
https://arallab.hided.net/2206/836/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
번호 제목 글쓴이 날짜 최근 수정일 조회 수sort
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! [4] file TwoComet 2012-08-30 2014-02-26 20:12 40454
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 2008-07-16 2015-02-27 18:02 319285
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 2008-10-31 2009-03-13 23:48 191329
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 2008-07-16 2013-12-31 09:32 505788
217 필터 강의 - FixLine [작성중] secret Hide_D 2009-04-07 2009-04-07 01:42 1
216 필터 강의 - FixLine [작성중] secret Hide_D 2009-04-07 2009-04-07 01:42 4
215 Sho&#6489lԀ &#1... AngeliaTolmer6414 2015-11-08 2015-11-08 01:28 359
214 사진이 깨진 글에서 사진순서 맞추기 file 미래도 2015-09-13 2015-09-13 03:08 425
213 게시물 분류작업 미래도 2015-09-14 2015-09-14 05:09 488
212 에우슈리 & 아나스타샤 게임에서 오류가 뜨시는분 Peith 2013-08-07 2013-08-07 00:49 523
211 cs2엔진 게임에서 대사창이 안나올경우 file 별초군 2015-12-03 2015-12-03 18:52 675
210 PhantOm:디버깅이 제한된 프로세스 디버깅하기 [1] 미래도 2015-08-23 2015-08-25 19:46 1425
209 [팁]단순후커사전SDK 두통 2013-07-06 2013-07-08 20:42 1448
208 컴플리트사의 C4엔진 간단한 검색법.. [1] file 유피에르 2012-08-25 2012-08-26 00:09 1814
207 올리 디버거 기능중 스탭인투와 스탭오버 file Wales 2012-09-12 2012-09-20 15:27 2044
206 CS2엔진 야매+ file 두병더더 2012-09-16 2012-09-24 12:09 2310
205 U・Me SOFT사 코드 찾기 간단한 방법(편법)... 유피에르 2012-10-14 2012-10-14 23:52 2486
204 NTLEA GUI 0.92 이상을 쓰시는 분은 필히 보시기 바랍니다. [5] TwoComet 2013-02-01 2013-07-29 03:13 2876
203 아랄로 만든 바로가기 파일이 깨질때. TwoComet 2012-08-30 2012-08-30 15:55 2924
202 게임 업데이트후 코드먹통될때(예제. FATAL ZERO ACTION) [2] file 두병더더 2012-08-27 2015-09-13 02:52 3133
201 미연시 플레이시 특히 오프닝 엔딩영상에서 강제종료 되는문제. 소라노카제 2013-04-13 2013-04-13 11:40 3279
200 http://www.dlsite.com/maniax/ 들어가는데 팁 [2] file nicday1234 2012-09-17 2012-09-18 00:34 3668
199 [VNR홈페이지]게임이름으로 게임정보 찾기 미래도 2015-09-13 2015-09-13 03:43 3678
198 카미 육성 팁 입니다 [2] 력현 2011-06-19 2012-01-14 13:44 4004