program tip

C ++ 디 컴파일러가 있습니까?

radiobox 2020. 8. 10. 07:51
반응형

C ++ 디 컴파일러가 있습니까? [닫은]


C ++ 소스 코드를 잃어버린 프로그램이 있습니다. 좋은 C ++ 디 컴파일러가 있습니까?

나는 이미 부메랑을 만났다 .


Hex-Rays로 IDA Pro사용할 수 있습니다 . 디버깅 정보로 컴파일하지 않으면 일반적으로 바이너리에서 좋은 C ++를 얻을 수 없습니다. 코드를 뒤집는 많은 수작업 을 할 준비를 하십시오.

바이너리를 제거하지 않았다면 IDA Pro가 작업 할 수있는 C 유사 코드를 생성 할 수 있기 때문에 희망이 있습니다. 일반적으로 적어도 몇 년 전에 사용했을 때는 매우 거칠다.


정보는 컴파일 과정에서 폐기됩니다. 디 컴파일러가 클래스와 모든 것 (아마도 불가능할 것임)으로 논리적으로 동등한 코드를 생성 할 수 있다고하더라도 자체 문서화 부분은 최적화 된 릴리스 코드에서 사라집니다. 변수 이름, 루틴 이름, 클래스 이름 없음-주소 만 있습니다.


예, 그러나 그들 중 누구도 노력할만한 가치가있는 충분한 코드를 생성하지 못할 것입니다. 이전 앱을 처음부터 다시 작성하는 것보다 내부에 어셈블러 블록이있는 디 컴파일 된 소스를 읽는 데 더 많은 시간을 소비하게됩니다.


C ++ 코드를 생성하는 디 컴파일러를 본 적이 없습니다. C 코드 생성을 합리적으로 시도하는 몇 가지 실험적인 것을 보았지만 특정 컴파일러의 코드 생성 패턴 일치에 의존하는 경향이 있습니다 (변경되었을 수 있습니다. 마지막으로 조사한 지 오래되었습니다. ). 물론 모든 상징적 인 정보는 사라질 것입니다. "디 컴파일러"를위한 Google.


원본 코드가 얼마나 크고 잘 작성되었는지에 따라 좋아하는 언어 (여전히 C ++ 일 수 있음)로 다시 시작하고 마지막 버전에서 저지른 실수로부터 학습하는 것이 좋습니다. 누군가 버리기 위해 쓰는 것에 대해 한 번 말하지 않았습니까?

nb 분명히 이것이 거대한 제품이라면 시간의 가치가 없을 수도 있습니다.

참고 URL : https://stackoverflow.com/questions/205059/is-there-ac-decompiler

반응형