본문 바로가기

카테고리 없음

리버싱 예제 2

이번 예제는 PE 파일 내에 존재하지 않는 Windows API를 호출하는 문제이다. 


Tiny_PE.exe를 실행시키면 아래와 같은 메세지 박스가 화면에 출력된다. 이 때 두 버튼 중 하나를 선택해 클릭하면 프로그램이 바로 종료된다. 




첨부한 Tiny_PE.exe 파일을 이용하여 아래와 같이 Program Flow로 실행되는 exe파일을 작성하도록 한다.




우선 Tiny_PE 파일을 DeRox를 이용해 코드를 확인한다.




위와 같이 작동하는 응용프로그램을 개별적으로 제작하여 어셈블코드가 어떻게 작성해야하는지 알아본다.



주의할 점은 컴파일 시 최적화를 사용 안 함(/Od)로 체크하도록한다.




Release 모드로 컴파일 하여 실행 파일을 DeRox 프로그램을 통해 확인하면 다음과 같은 어셈블코드를 확인할 수 있다. 



이제 이와 같이 코드가 작동할 수 있도록 Tiny_PE.exe의 코드영역을 수정하자. 그전에 데이터 영역에 메시지 박스에서 사용할 YES와 NO 문자열을 넣어준다



그리고  IAT와 관련된 정보를 수정한다.