728x90
반응형
GetDrvieType()함수 실행이 끝난 상태에서 레지스터 정보를 살펴보면, EAX 레지스터에는 3이 저장되어 있고 ESI 레지스터에는 0이 저장. 레지스터를 변경하는 명령어를 보면 ESI 레지스터는 모두 3만큼 증가시키고,
EAX레지스터는 2만큼 감소.
ESI 레지스터를 증가시키는 명령어 2개를 실행하지 않으면 EAX레지스터와 ESI레지스터의 값은 동일하게 된다.
따라서 JMP 명령어를 수정하면 쉽게 목적을 달성 할 수 있다.
우리는 00401023으로 JMP해야 하므로 00401023으로 수정해준다.
아래와 같은 결과를 얻을 수 있다.
728x90
반응형
'리버싱 > 리버싱 걸음마' 카테고리의 다른 글
정보보안 SUA - [정보보안공부] 5주차 과제 - Hooking의 기초 (0) | 2021.03.03 |
---|---|
정보보안 SUA - [정보보안공부] 4주차 과제 - Windows 데스크톱 앱 개발 (0) | 2021.02.26 |
정보보안 SUA - [정보보안공부] 3주차 과제 - 리버싱 로드 맵 및 PE로더 (0) | 2021.02.24 |
정보보안 SUA - [정보보안공부] 2주차 과제 - Windows 데스크톱 앱 개C/C++ 언어의 다양한 개념들이 x86 어셈블리 언어로 변환 결과물 (0) | 2021.02.05 |
정보보안 SUA - [정보보안공부] 2주차 과제 - C/C++ 언어의 다양한 개념들이 x86 어셈블리 언어로 변환 (0) | 2021.02.05 |