2017-12-01 5 views
0

한 번 유효한 PE 실행 파일 이었지만 모든 헤더가 지워진 이진 파일 (DOS 헤더, PE 헤더 및 섹션 테이블)이 있습니다. 나는 하나의 섹션이 .text이라고 추측했다. IDA에서 asm으로 변환하면 유효한 asm 코드가 표시되기 때문이다. .rdata은 프로그램의 논리에 해당하는 문자열을 포함하기 때문에 쉽게 찾을 수있었습니다. 그러나 더 이상의 진전은 없습니다. 나는이 문제에 대해 비틀 거리는 첫 번째 것이 아니며 PE 헤더를 생성하는 도구/메소드가 있다고 생각한다. 어떤 제안?누락 된 PE 헤더를 어떻게 복원합니까?

+0

에서 TLS의 FLS이있는 경우 확실히 몇 가지 다른 소스 + 컴파일을 다운로드? (즉, 명백한 백업 복원 옵션 이후) (데이터에는 두 가지 범주가 있습니다. 1) 백업 작업 2) 손실 (및 두 가지 중 하나에 대한 높은 변동성이있는 일부 임시 상태)) – Ped7g

+1

첫 번째 질문은 다음과 같습니다. : 어떤 파일 형식입니까? 헤더가없는 특정 주소 또는 헤더가있는 다른 파일 형식의 일반 원시 메모리 컨텐트? PE 헤더를 정확히 복원 할 수는 없습니다. 그러나 파일에 대해 "단순화 된"PE 헤더를 만들 수 있습니다. 그러나 파일을 사용하여 수행하려는 작업 (예 : 실행, 일부 도구로 파일 전달)에 따라 다른 수준의 "단순화"가 필요합니다. 따라서 두 번째 질문 : 복원 된 파일로 무엇을하고 싶습니까? –

+0

@ Ped7g 불행히도 출처가 없습니다. – tna0y

답변

1

나는 당신이

  • (바이너리 시작) 진입 점
  • 재배치가 해결되지 수있는 몇 가지 문제가있을 것이라 생각합니다 (그러나 당신은 그것을 건너 기본 ADRESS를 해결할 수)
  • 기본 ADRESS는
  • 라이브러리 아마도 인스턴스에 대한 RESOURSE을위한 리소스를 생성 py2exe에 자신과 통근 기능
  • 을 사용 (그러나 일반적으로는 그냥 X86 또는 x64 경우 알 필요가 항상 동일) 파이썬 바이트 코드
  • 마지막 일 BU는 바이너리
+1

해체를보고 진입 점을 찾는 행운이있을 수 있습니다. 어떤 보편적 인 CRT 코드에서는 다른 실행 파일의 진입 점을보고 헤더없는 코드에서 동일한 코드를 찾을 수 있습니다. –

+0

네, 좋은 생각인데 다른 컴파일러로 컴파일하고 비교해야합니다. 각 컴파일러에는 자체 CRT가 있습니다. – MadSquirrel

관련 문제