본문 바로가기

쓰기

< 실행파일 외 DLL 코드 후킹 >

 

안녕하세요.

 

아랄 쿠소 연구실장입니다.

 

5 4일자 업데이트 후부터 EXE 부분이 아닌 DLL 영역의 코드도 후킹이 가능하게 되었습니다.

 

 


위에 보시는 것 처럼
모듈 선택 콤보 박스가 있습니다.

 

여기엔 현재 게임에 로드 된 DLL들을 보여줍니다.

 

[Absolute]를 선택하시면 코드 주소는 절대주소를 의미합니다.

 

우리가 지금 껏 써왔던 일반적인 후킹 주소지요.

 

, 0x00400000 부터 시작하는 실행모듈의 주소입니다.

 

만일, [Absolute]가 아닌 어떤 특정 모듈을 선택했다면, 코드 주소는 모듈 시작 주소로부터의 상대 주소를 의미합니다.

 

아래는 코나카나 라는 게임의 대사 출력 함수 입니다.

(자체디버거로 안잡히더군요 ㅜㅜ)
 

 


0x031C3590
번지 함수는 EBX 레지스터로 텍스트를 전달 받네요.

(찾는 과정은 생략하였습니다.)

 

, 그럼 0x031C3590를 후킹 주소로 쓸 수 있을까요?

 

보통 실행파일은 0x00400000번지에 올려지는데, 위의 주소는 뭔가 이상하군요.

 

위의 빨간색 사각형을 보시면 TEXTWORK라는 별도의 DLL이란 것을 확인할 수 있습니다.

 

DLL은 어디에 로드되어 있는지 볼까요?

 

Alt-E를 누르면 현재 로드 된 DLL들을 모두 볼 수 있답니다.

 


 

TEXTWORK 모듈을 찾으셨나요?

 

, 이 모듈은 0x031C0000 번지에 로드되었습니다.

 

모듈의 시작점이 0x031C0000이고, 찾은 함수가 0x031C3590 이므로 우리는 텍스트 후킹 지점을 이렇게 표현할 수 있겠죠.

 

TEXTWORK가 로드 된 시작주소로부터 3590번지

 

, 그럼 이제 아랄트랜스 주소 입력 창에 어떤 값을 넣는지 대충 눈치 채셨나요.

 

 


이렇게 하면 앞으로 TEXTWORK.FIL이 어느 주소에 로드 되든지 간에 항상 시작주소로부터 + 0x3590번지를 후킹합니다.

 

참고로 아랄트랜스 내부적으로는 TEXTWORK.FIL!0x3590 이런 식으로 표시를 합니다.

 

궁금한 점 있으면 언제든 질문 해 주세요.

 

감사합니다.

 

앙마vv

2008.05.05
15:28:23
멍.~~  뭔소린지 ㅎㅎ;;

직접 해봐야지 뭔지 알겠네요 .. at코드 찾는것도 글읽으면 뭔소리 몰랐지만 직접 해보니 쉽더군요 ㅎㅎ

dll 로 하는 것은 디버그로 at코드가 안찾아 질때 하는건가요 ?

관리자

2008.05.05
18:33:09
at코드를 찾긴 찾았는데 그 주소가 0x00400000부터 시작하는 주소가 아닐때
사용하는 기능입니다.
그러나 대부분 게임들의 텍스트 출력 함수는 exe 파일에 있으니
반드시 알아야 할 내용은 아닌듯...  ^-------^

우루룽

2008.05.07
19:20:53
질문!
테레비가 사라진날이라는 게임 코드입니다만 이럴경우는 어떻게 입력해야 합니까?

GDI32.dll! OxBC0C
[ESP+0X10]

라파에

2008.05.07
19:56:11
/우르룽

모듈 : GDI32.dll
주소 : BC0C
인자 : [ESP+0X10]

군요 ^^ 강좌에 나와 있는 게임처럼 자체 디버깅에서 잡히지 않는한 올리디버거류의 디버깅툴을 사용 하실 필요는 없고
보통 아랄코드 찾으실때처럼 후킹주소를 추가 하시되 모듈만 따로 설정 하시면 됩니다!

관리자

2008.05.07
20:27:18

안녕하세요 우루룽님
GDI32.dll은 윈도우에서 그래픽 관련 함수들을 처리하는 모듈로써
게임과는 상관없어 보입니다.
이 외에도 kernel32.dll, ntdll.dll 등 윈도우의 system32폴더에 있는
dll이라면 잘못 짚으신 주소로 보입니다.
게임 폴더에 있는 DLL이라면 가능성이 큽니다.
즉 게임과 관계없는 윈도우 공용 DLL파일들은 그냥 넘기시기 바랍니다. ^^

라파에

2008.05.07
22:04:47
킁.. 그렇군요!

어쩐지 디버깅에서 텍스트가 나와도 많은 주소가 팅겨 버린다고 생각했는데

윈도우파일 이엿군요..  그렇담.. 뻘짓을 좀 많이 했구나.. ㅜㅜ;
 

우루룽

2008.05.08
00:26:31

예 감사합니다!

유피에르

2008.05.08
18:59:25
찾는 과정 설명이 필요합니다 ㅠ_ㅠ
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