본문 바로가기

쓰기

< 실행파일 외 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 40495   2012-08-30 2014-02-26 20:12
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 319322   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
17 CS2엔진 야매+ file 두병더더 2313   2012-09-16 2012-09-24 12:09
 
16 http://www.dlsite.com/maniax/ 들어가는데 팁 [2] file nicday1234 3668   2012-09-17 2012-09-18 00:34
 
15 U・Me SOFT사 코드 찾기 간단한 방법(편법)... 유피에르 2486   2012-10-14 2012-10-14 23:52
FORCEFONT(5),ENCODEKOR,FONT(HY엽서M,-13),HOOK(0x0042A6A0,TRANS(EAX,PTRCHEAT),RETNPOS(COPY)),HOOK(0x0040459A,TRANS(ESI,OVERWRITE(IGNORE)),RETNPOS(COPY)) 이게 무슨 게임 코드였는지는 까먹었는데..;; U・Me SOFT게임의 코드입니다.. (쿨럭쿨럭.. 적용...  
14 CustomDic 이 적용이 되지 않을때. [10] file TwoComet 4613   2012-10-16 2012-11-06 23:42
 
13 기리기리 데이터 추출 [1] file 두병더더 7756   2012-12-06 2012-12-13 11:50
 
12 코드를 찾아 여행하는 히치하이커를 위한 작은 팁 [1] 어린나무 7904   2013-01-22 2014-09-26 16:06
의지의 한국인어쩌면 이글은 올라가자마자 짤릴거 같지만 일단은 글을 써보도록 하겠습니다. 일단 불순한의도로 가입을 하였고 많은 능력자분들의 도움으로 게임을 즐겨왔습니다.(하드에 미연시나 야동, 기타 성인물이 없으신 분만 저를 욕하세요) 아무튼 그중...  
11 NTLEA GUI 0.92 이상을 쓰시는 분은 필히 보시기 바랍니다. [5] TwoComet 2877   2013-02-01 2013-07-29 03:13
현재 NTLEA 0.87 beta 를 쓰고 있었다가 저걸로 한번 사용하게 되었었습니다. 근데 큰 문제가 생깁니다. 어플로케일의 AlLayer.dll 가 인젝션 되지 않는 사태가 벌어지는군요. 솔직히 기능면에서는 0.87 beta 나 0.92 GUI 나 같습니다. 만약 0.92을 인스톨하여...  
10 미연시 플레이시 특히 오프닝 엔딩영상에서 강제종료 되는문제. 소라노카제 3280   2013-04-13 2013-04-13 11:40
많은 미연시 플레이어들이 겪으시는 문제인데.... 해결책을 아는 분이 적네요..... 저만 모르던가요. 어째든 최근들어 알게 된겁니다만............. "그리자이아의 과실" 과 "지금 당장 오빠에게 여동생이라고 말하고 싶어" 밑 여러 작품에서 이유없는 강제 ...  
9 [팁]단순후커사전SDK 두통 1450   2013-07-06 2013-07-08 20:42
[후커사전] 단순후커사전 SDK Ver1.00 자료실에 올릴까 하다가 그냥 방문해서 이것저것 봐보는게 좋을듯싶어서 링크 다른건 모르겠는데 ezTransMini 요놈 쓸만하네요.  
8 에우슈리 & 아나스타샤 게임에서 오류가 뜨시는분 Peith 529   2013-08-07 2013-08-07 00:49
이런 에러가 뜨시는분 전에 질문을 올렷는데 더미컷 버전이라 그렇다고 하시더군요 근데 제가알기론 타유우타랑 명색의 예희는 더미컷 버전이 아닌데 말이죠 환린이랑 전여신은 잘 모르겟지만 그것들도 더미컷이 아닐겁니다 설치하는데 필요한 용량과 게임 파...  
7 [번역률향상]Ehnd+꿀도르 설치, 허니엔드 [2] 미래도 35338   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...  
6 PhantOm:디버깅이 제한된 프로세스 디버깅하기 [1] 미래도 1436   2015-08-23 2015-08-25 19:46
사실 VNR 스크립트 주석에서 퍼옴 椎名里緒, 시나리오 엔진의 경우 Themida로 디버깅을 막았습니다.(다른 디버깅방지 엔진도 비슷할꺼라 생각함) - OllyDbg로 열 때, 게임이 실행되지 않는다. - 게임 모듈 메모리 공간이 수정하는 것을 막는다. 대체로 이런 특...  
5 사진이 깨진 글에서 사진순서 맞추기 file 미래도 430   2015-09-13 2015-09-13 03:08
 
4 [VNR홈페이지]게임이름으로 게임정보 찾기 미래도 3683   2015-09-13 2015-09-13 03:43
게임 정보를 빠르게 찾는 법에 대해 소개합니다. 개인적으로 엔진정리와 작업을 하고 있으나.. 금칙어 크리때문에.. VNR 홈페이지에서 일종의 데이터베이스를 제공합니다. 물론 정보를 수집해서 올려놓은 것이기에 플레이하지 않은 것은 지원하지 않습니다. 주...  
3 게시물 분류작업 미래도 493   2015-09-14 2015-09-14 05:09
게시물 분류작업입니다. 주석달기전에 일단 분류부터.. http://lab.aralgood.com/index.php?mid=board_lecture&document_srl=게시물번호 게시물번호에 해당 번호 복붙해서 들어가면됩니다. 찾아보니, 똑같은 게시물이 두개있는경우가 있더군요. 과거 폴라...  
2 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ᥱ.  
1 cs2엔진 게임에서 대사창이 안나올경우 file 별초군 680   2015-12-03 2015-12-03 18:52