2012-04-18 2 views
0

가능한 중복 :
Is there a C++ decompiler?
Is there a decompiler that will work on Visual Studio 6 C++MFC의 디 컴파일하지 조립

내가 MFC로 작성 EXE 파일을 디 컴파일 할 수있는 방법이 필요합니다

, 나는, IDA Pro를 시도했지만 물음표 문자가 많기 때문에 파일을 어셈블리로 변환합니다. 코드를 직접 변환하는 파일을 사용할 수 없다면 어셈블리를 C++로 변환 할 수있는 방법이 있습니까? :(

감사

답변

1

아니요 컴파일시 프로세스가 변수 이름을 포함한 모든 메타 데이터를 파괴하고, 최적화 과정이 어려운 원본 소스의 경우에도 의사의 복제본을 복구 할 수 있습니다.

여기에 매우 단순화를의 .. 예를의 당신은 foo는이 int이며 "foo는 ++", 쓰기 가정 해 봅시다 컴파일러에 따라이 다음 중 하나에 컴파일 수 :

  • inc dword ptr [esp+12h] - foo는 스택에 로컬로 유지
  • inc dword ptr [00000f00h]-
  • mov eax, dword ptr [esp+12h]; inc eax를 증가하는 또 다른 방법 - - foo는 변수 힙
  • add dword ptr [00000f00h], 1입니다 EAX에있는 스택에서 이동, 다음

가능성은 거의 있습니다 ...

  • 등 증가 무한.

    가장 좋은 방법은 Hex-Rays Decompiler와 같은 것입니다.하지만 저렴하지는 않습니다. IDA와 함께 pseudo-C 코드를 생성합니다.이 코드를 사용하여 특정 함수 및 루틴이 작동하는 방식을 발견 할 수 있습니다.

  • +0

    또한이 질문을 살펴보십시오. http://stackoverflow.com/questions/273145/is-it-possible-to-decompile-a-windows-exe-or-at-least-view-the-assembly – Polynomial

    +0

    어느 옵션을 선택해야합니까? : 새 어셈블리 데이터베이스 패널? – SWE

    +0

    나는 그 질문을 이해하지 못한다. 어떤 소프트웨어를 사용하고 있습니까? 너 뭐하려고? – Polynomial