요즘에는 PE 실행 사양을 읽었습니다. 그렇다면 나는 작은 C 프로그램을 만들고 push ebp, pop ebp
그리고 나는 그것을 컴파일했다. 성공적으로 컴파일 한 후 PE 파일을 실행 파일로 열었고 PE_magic + PE_header_size + PE_OPTHDR_entrypoint
위치에서 보았습니다. PE 마법은 파일에서 "PE"문자열의 첫 번째 항목이었고 PE_header_size는 24 였고 PE & COFF 사양에 따르면 PE_OPTHDR은 16이었습니다. 그 위치에서 주소 0x1000을 찾았지만 내 파일의 길이는 0x600입니다. 그래서 내가 올바른 위치에 있거나 진입 점 (0x200에있는 방법) 주소가 잘못 설정 되었습니까?진입 점이 정확한 위치에 있습니까?
내 파일 contens 및 내 코드의 이미지를 포함합니다. 이 파일에 표시되는 내용
int main() {
int a = 0;
__asm {
push ebp
pop ebp
}
}
적어도 헤더 정보를 읽을 때까지 PE 코드를 표시하십시오 –