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 |