리버싱 기술을 조금 응용하면 다른 응용프로그램의 기능을 추가/변경시킬 수 있습니다.
제가 애용하는 헥스 에디터 HxD.exe 에 필요한 기능을 살짝 추가하였습니다.
HxD.exe
DLL Injection 과 API Hooking 기술을 이용하여 HxD.exe 프로그램에 새로운 기능을 추가하였습니다.
제가 추가시킨 기능은 PE 파일 Offset 의 RVA 값을 계산해서 출력해 주는 것입니다. (위 그림 참고)
키보드나 마우스를 이용하여 커서 위치를 이동하면 Offset 값이 변함에 따라서 자동으로 그에 맞는 RVA 값이 계산되어 표시됩니다.
사용방법
HxD.exe - Hex Editor
hxdhook.dll - hooking dll
InjDll32.exe - Injector
PEInfo.dll - File Offset <->RVA converter
1. HxD.exe 실행
2. HxD 에서 아무 PE 파일을 오픈
3. InjDll32.exe 를 이용하여 HxD.exe 프로세스에 hxdhook.dll 을 인젝션
HxD.exe 프로세스에 hxdhook.dll 이 정상적으로 인젝션 되었다면 이제부터 프로그램 하단의 Status Bar 에 Offset 과 RVA 가 동시에 표시될 것입니다.
크게 유용하다고 볼 수 는 없지만 리버싱 기술을 응용하여 기존 프로그램에 새로운 기능을 추가하는 방법을 잘 보여주는 예제라고 생각합니다. 필요하신 분께서는 자유롭게 가져다 쓰실 수 있습니다.
* 블로그에 리버싱 기술 응용편을 올리기 위해 준비한 간단한 시연입니다. 자세한 동작 원리, 후킹 과정, 모듈 개발 과정 등은 따로 포스팅 하도록 하겠습니다.
ReverseCore
'tool' 카테고리의 다른 글
PEView.exe (21) | 2013.01.27 |
---|---|
리버싱 현업에서 사용되는 디버거(Debugger)들 (33) | 2010.09.29 |
InjDll.exe – DLL Injection/Ejection 전용 도구 (43) | 2010.03.15 |
Process Explorer - 최고의 작업 관리자 (1) | 2009.05.03 |
www.virustotal.com (3) | 2009.03.20 |
www.google.com (2) | 2009.03.06 |