본문 바로가기

쓰기

< 실행파일 외 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
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! [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
17 우타와레루모노 보이스패치후 바로가기 하는법 팁입니다. [3] maruichi 25976   2008-10-26 2008-10-26 10:30
제가 보이스 적용후 바로가기를 만들면 안되어서 이것저것 해보았지만 안되었습니다. 뭐가 문제인지 아무리 찾아도 몰랐는데 혹시나 했는 보이스 패치 버전이 문제였습니다. 제가 받은게 오래전이라 보이스 패치를 0.3으로 했는데 이럴경우 아랄을 실행하면 적...  
16 System35Plugin 대체 코드 [2] my vagina 25704   2008-10-19 2008-10-25 19:21
이번 업뎃으로 플러그인이 안먹혀서 System35Plugin 대체코드에요. 소스 있던 노트북이 뽀개져서 귀축왕 란스 /a:ATCode{HOOK(0x00424343,TRANS([ESP+0x10],PTRCHEAT,TWOBYTE)),ENCODEKOR,FORCEFONT(5)} /f:HK2FK{} /t:ezTransXP{} 투신도시II /a:ATCode{ENCOD...  
15 게임이 기리기리 엔진인지 알고 싶다면! [7] file Hide_D 32311   2008-10-18 2008-11-03 21:48
 
14 비스타에서 아랄트랜스로 후킹시 게임이 사라질때 [8] file my Vagina 27515   2008-10-06 2009-01-06 01:23
 
13 다국어도구 AppLocale 설치와 사용법 [3] file 야라토 48693   2008-08-16 2008-08-26 23:57
 
12 [강좌] 사용자 사전 플러그인 0.3 사용법 [11] file Hide_D 106955   2008-08-13 2009-04-02 21:32
 
11 유니코드 변경법 [4] file MILD 60225   2008-08-01 2009-02-06 14:00
 
10 [강좌]사용자 사전 플러그인 0.2 사용법 (CustomDic.txt 편집방법 첨부) [5] file Hide_D 82069   2008-07-21 2008-12-29 00:52
 
9 [강좌] TAT플러그인 사용법 2/2 [2] file my Vagina 40369   2008-07-19 2009-01-06 00:59
 
8 [강좌] TAT플러그인 사용법 1/2 [2] file my Vagina 53008   2008-07-19 2009-01-06 00:59
 
7 클립보드로 복사된 내용을 ClipHooker EX! 로 깨짐 없이 보는법 [6] file Hide_D 50459   2008-06-19 2008-12-23 17:32
 
6 (팁) 기리기리 플러그인의 ATData.ZIP [10] file 아랄 78683   2008-06-01 2008-07-10 20:24
 
5 [팁] 아랄트랜스 바로가기 파일 - 등록정보 대에서.. [1] file 아랄 40933   2008-05-24 2008-11-11 17:34
 
4 SHIFT-JIS 코드표 [2] file 아랄 43672   2008-05-12 2009-03-18 19:17
 
» DLL 코드 후킹 [8] file 아랄 67386   2008-05-05 2008-05-08 18:59
< 실행파일 외 DLL 코드 후킹 > 안녕하세요. 아랄 쿠소 연구실장입니다. 5월 4일자 업데이트 후부터 EXE 부분이 아닌 DLL 영역의 코드도 후킹이 가능하게 되었습니다. 위에 보시는 것 처럼 ‘모듈 선택’ 콤보 박스가 있습니다. 여기엔 현재 게임에 로드 된 DLL...  
2 [팁] AT코드의 더 많은 것들 [2] 아랄 64844   2008-04-25 2008-04-26 08:22
Q. AGTH의 H코드와 아랄트랜스의 AT코드는 둘 다 텍스트 출력지점을 뜻하는 걸로 아는데 무엇이 다른가? A. 둘 다 텍스트 출력지점임은 맞습니다. 하지만 프로그램의 성격이 미묘하게 다릅니다. AGTH의 H코드는 대부분 한 개의 문자가 출력되는 지점만 잡으면...  
1 아랄트랜스 0.2 - 실행시 옵션에 대하여 [1] 아랄 63988   2008-04-24 2008-11-11 23:31
아랄트랜스 0.2 - 실행시 옵션에 대하여 안녕하세요. 아랄 쿠소 연구실장입니다. 오늘은 AralTrans.exe의 옵션에 대해 설명하고자 합니다. 사실 아랄트랜스를 그냥 실행시키고, 적절한 번역 방식을 선택한 뒤 바로가기를 만들어 사용할 수도 있지만… 그래도 옵...