본문 바로가기

쓰기

 

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

 

조회 수 :
64836
등록일 :
2008.04.25
23:38:44
엮인글 :
https://arallab.hided.net/2206/b53/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 40495   2012-08-30 2014-02-26 20:12
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 319321   2008-07-16 2015-02-27 18:02
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 191377   2008-10-31 2009-03-13 23:48
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 505846   2008-07-16 2013-12-31 09:32
16 조금이라도 아랄트랜스를 빨리 쓰고 싶은 사람들을 위한 팁! [2] Hide_D 13124   2009-12-06 2015-04-12 15:59
AGTH와는 달리 아랄트랜스 속도가 느려지면 게임 속도 자체가 느려지기 때문에, 이래저래 골치가 아프기 마련이죠. 아랄트랜스에서 속도를 느리게 만드는건 다른게 아니라 '번역 속도'입니다. 딴 필터 100개 끼워봐야 번역속도로 느린 걸 당할 게 없으니까요....  
15 오토보쿠2 아랄을 후커처럼 사용해보자. [3] file Ria- 6903   2010-07-03 2015-04-23 01:06
 
14 [번역률향상]Ehnd+꿀도르 설치, 허니엔드 [2] 미래도 35337   2015-04-28 2015-05-08 18:11
eztrans의 번역률을 향상하기위한 Ehnd라는 도구와, 꿀도르 사전이라는 사전이 있습니다. http://sokcuri.neko.kr/220301117949 http://blog.naver.com/waltherp38/220267098421 다만, 이렇게 설치방법이 나와있어도.. http://blog.naver.com/waltherp38/22028...  
13 ATCode 플러그인 - 설명서 [2] file 아랄 65451   2008-04-25 2015-07-25 00:21
 
12 SiglusEngine 복불복 막장드립 [5] file 두병더더 7885   2012-08-12 2015-08-11 16:01
 
11 PhantOm:디버깅이 제한된 프로세스 디버깅하기 [1] 미래도 1436   2015-08-23 2015-08-25 19:46
사실 VNR 스크립트 주석에서 퍼옴 椎名里緒, 시나리오 엔진의 경우 Themida로 디버깅을 막았습니다.(다른 디버깅방지 엔진도 비슷할꺼라 생각함) - OllyDbg로 열 때, 게임이 실행되지 않는다. - 게임 모듈 메모리 공간이 수정하는 것을 막는다. 대체로 이런 특...  
10 나도 준한글화를 만들어보쟈 ' -' [15] 미히 35805   2009-03-07 2015-08-30 11:00
晝下がり 제목이 준한글화 만들어보자인데 헛소리구요 사실은 Custom Script (사용자 대본) 사용설명서 입니다. 그런데 완전히 헛소리가 아닌게 또 [Custom Script(사용자 대본) 이하 사용자 대본]으로 만드는것이기 때문에 헛소리가 아니란 말 입니다. 그러...  
9 게임 업데이트후 코드먹통될때(예제. FATAL ZERO ACTION) [2] file 두병더더 3142   2012-08-27 2015-09-13 02:52
 
8 사진이 깨진 글에서 사진순서 맞추기 file 미래도 430   2015-09-13 2015-09-13 03:08
 
7 [VNR홈페이지]게임이름으로 게임정보 찾기 미래도 3683   2015-09-13 2015-09-13 03:43
게임 정보를 빠르게 찾는 법에 대해 소개합니다. 개인적으로 엔진정리와 작업을 하고 있으나.. 금칙어 크리때문에.. VNR 홈페이지에서 일종의 데이터베이스를 제공합니다. 물론 정보를 수집해서 올려놓은 것이기에 플레이하지 않은 것은 지원하지 않습니다. 주...  
6 게시물 분류작업 미래도 493   2015-09-14 2015-09-14 05:09
게시물 분류작업입니다. 주석달기전에 일단 분류부터.. http://lab.aralgood.com/index.php?mid=board_lecture&document_srl=게시물번호 게시물번호에 해당 번호 복붙해서 들어가면됩니다. 찾아보니, 똑같은 게시물이 두개있는경우가 있더군요. 과거 폴라...  
5 Sho&#6489lԀ &#1... AngeliaTolmer6414 363   2015-11-08 2015-11-08 01:28
ShoᥙlԀ уоu lоvᥱⅾ thiѕ ρоѕt and үоս ѡɑnt tο гесеіνe tоɗⲟ mоrе infօ гᥱǥагding Ореracjɑ Ⲣlаstуczna Nοѕa Ꮯᥱnnіκ (Http://Www.Dbamy.Pl/) aѕsᥙrе ѵiѕіt ⲟսг οᴡn աeb-ѕitᥱ.  
4 [강좌] 올리디버거로 ATCode 코드를 찾아보자 (1) [16] file 아랄 98706   2008-05-18 2015-12-02 16:11
 
3 cs2엔진 게임에서 대사창이 안나올경우 file 별초군 680   2015-12-03 2015-12-03 18:52
 
2 기리기리엔진에 대해 여러가지 [3] 고토회복 8358   2012-06-25 2015-12-06 04:09
1. 무료엔진이라는 겁니다 이걸 왜 이야기 하냐 하면 그러므로 버전별로 안전판 원본이 있어요 도대체 무슨 이야기야? 하는 분들 많을듯... 어느 회사가 기리기리로 게임을 제작합니다.. 버전별로 전부 툴이 있지요 ^^ 그개 다 공개고 자 여기에서 어느 회사가...  
1 AT 코드 찾는 방법 [46] file 아랄 269613   2008-04-21 2021-01-03 13:14