본문 바로가기

프로젝트/디스어셈블러 만들기

EP찾기


RAW=RVA-VA+PointerToRawData라는것을 이용해서

EP의 RVA를 OptionalHeader구조체서 참조해오고,

VA와PointerToRawData를 code부분의 Sectionheader구조체서 참조해오고,

그것을 계산시킨값을 code라는부분에 저장시켜봤습니다.

일단 이상태는 기계어(어셈블리어가 아님)일테니까 실험적으로 20바이트만 출력해보도록 해봤습니다.



그러니 이렇게 기계어가 막 튀어나오는데


실제 이 기계어는 올리디버거의 Opcode와 똑같습니다.

다음번에는 이제 IA-32의 instruction과 함께 이 기계어로부터 어셈블리어로 변환시키는 작업을 해보겠습니다.

'프로젝트 > 디스어셈블러 만들기' 카테고리의 다른 글

IA-32 opcode map-1  (2) 2013.08.12
디스어셈블러 원리 파악  (0) 2013.07.19