본문 바로가기

쓰기

적는 것을 깜빡 하고 있었는데,


ATCode나 기타 방법들을 사용할 때,


한 함수 내에서 후킹 포인트는 단 하나만 잡아야 합니다.



아랄트랜스 0.2에서는


후킹과 동시에

실행파일 원본과 그 원본의 복사본을 준비해 놓고


원본의 후킹포인트를 jmp를 사용해서 번역 모듈로 이동하게 한 다음

복사본으로 이동시킨 뒤,


복사본의 함수가 끝나는 지점을 따라서 다시 원본으로 돌아오는 구조이기 때문에



한 함수의 맨 처음 후킹 포인트보다 뒤에 있는 후킹 포인트에 도달하지 않게됩니다.

조회 수 :
7695
등록일 :
2009.07.20
03:20:18
엮인글 :
https://arallab.hided.net/25273/bed/trackback
게시글 주소 :
https://arallab.hided.net/board_documents/25273

아랄

2009.09.20
09:20:22

그래서 후킹 모듈을 개선했습니다. ^^

0.3 버전에 적용될 겁니다.

 

후킹된 지점에서 사용자 정의 함수로 jmp 한 후 일련의 작업을 수행한 뒤 원본 코드로 돌아와야 하는데

jmp코드 때문에 원래 코드들이 깨졌으므로 원래코드를 코드조각으로 백업해서 이곳으로 점프를 시킵니다.

코드조각은 5~10바이트 정도의 원래 코드를 수행하고 원본으로 jmp합니다.

 

물론 복사본으로 jmp하는 예전 방식은 코드조각 백업 방식보다 더 안정적이므로 여전히 공존할 겁니다.

복사본으로 jmp 할 것인지 코드조각으로 jmp 할 것인지 프로그래머가 정할 수 있습니다.

물론 ATCode 플러그인의 경우 고급 사용자를 위해 두 방식 중 어떤 것을 사용할지 정할 수 있도록 해줘야겠죠.

 

Hide_D

2009.09.20
10:00:22

 굿 -_-b

아랄님 '살아계셨군요!'

나는누구인감?

2009.09.20
20:01:06

굳.

살아계셨던듯

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 [SVN] AralTrans 0.3 - All Plugins [6] 아랄 2009-10-23 10340
공지 [SVN] AralTrans 0.2 - Full Source [2] 아랄 2008-07-22 16054
12 AralTrans v0.3 Renewal Project [1] file 아랄 2011-04-17 5901
11 [0.2] OnPluginInit에서 MessageBox 출력시 주의! Hide_D 2009-12-11 6809
10 STL iterator 사용시 주의사항 [1] 아랄 2009-10-04 7553
» 한 함수에 후킹 포인트를 2개 이상 잡을 수 없습니다. [3] Hide_D 2009-07-20 7695
8 [부정확] 플러그인에 쓰레드를 사용할때 [2] Hide_D 2009-01-07 7450
7 아랄 컨테이너 창이 hidden상태일 수 있으므로 MessageBox 주의! [2] 아랄 2008-11-07 7256
6 파일 다이얼로그를 띄운 후 작업폴더가 바뀌는 현상 [3] 아랄 2008-10-28 7766
5 [소스] 플러그인 개발을 위한 기본 프레임워크 20080810 file whoami 2008-08-10 8610
4 [문서] MultiPlugin 2 - 필터 플러그인 규격 file whoami 2008-07-26 9376
3 [개발환경구축] AralTrans 프로젝트 소스 다운받기 [3] file 아랄 2008-07-24 8165
2 [개발환경구축] TortoiseSVN 설치하기 file 아랄 2008-07-24 7703
1 [문서] 아랄트랜스 0.2 - 플러그인 규격 [5] file 아랄 2008-06-22 9922