2011-01-30 2 views
1

나는 하지이 프로그램에서 작성된 어떤 언어 알고,하지만 난이 작성되었습니다 어떤 언어를 알아 소스 코드 을 디 컴파일 할 수 있습니다 디 컴파일러를 찾을 싶습니다.모든 언어에서 작동하는 "궁극적 인"디 컴파일러와 유사한 소프트웨어가 있습니까?

이 경우, 파스칼, C, BAS, 비주얼 베이직, QB 또는 뭔가를이 방법과 디코딩을 만들어/읽을하려면 .src로 exe2bin 같은

뭔가를 저장하거나 내가 DOS-프로그램, 나는 파스칼에 만들어진 같아요 - coupple이 을 exe2src. 이러한 프로그램을 디 컴파일하여 Win32 응용 프로그램으로 만들 수 있어야합니다.

+6

그건 불가능합니다. –

+0

* 가능하다해도 라이선스 계약에 심각한 영향을 미칠 수 있습니다. –

+1

"할 수 없음"? 그것은 용감한 호출입니다. @Oli :-) 믿을 수 없을 정도로 어려운 동안, 나는 불가능 성 태그에 선을 그었습니다. – paxdiablo

답변

2

당신은 일종의 "모든 이론"디 컴파일러를 찾고있는 것 같습니다. 그와 같은 일은 없다. 의심스러운 점이 있으면 다음과 같이 생각하십시오.

오픈 소스 소프트웨어와 오픈 소스 소프트웨어가 다른 이유는 무엇입니까?

대답은 물론 닫힌 소스 프로그램의 소스 코드를 볼 수 없다는 것입니다.) 기존 디 컴파일러로 시도 할 수도 있지만 성공할 것이라는 보장은 없습니다.

+0

이론적으로 모든 프로그램에서 플랫폼 특정 기계 코드를 얻을 수 있습니다. 균열은 증명됩니다 :) –

6

Hexrays http://www.hex-rays.com/decompiler.shtml은 Windows 실행 파일을 C 소스 코드로 디 컴파일하는 제품입니다. 다른 디 컴파일러 이상으로 왕복 디 컴파일을 수행하지 못합니다. 언어에 따라 디 컴파일 된 소스에서 프로그램을 재구성하는 것이 어느 정도 불가능할 수 있습니다.

일부 언어의 경우 다른 언어보다 쉽습니다. 예 : .NET 언어에는 Reflector가 있으며 VB6과 비슷한 것을 본 것으로 믿습니다.

+1

가능성이 더 높습니다. VB 6에서 본 것은 프로그램이 의사 코드 (P 코드)로 컴파일 된 경우에만 작동합니다. 네이티브 코드로 컴파일 된 경우, 아마도 최선의 방법은 16 진 덤프 일 것입니다. VB 6 코드가 표시되지 않습니다! –

0

많은 경우에 비효율적이지만 모든 유형의 이진 파일을 하나의 고급 언어로 변환하는 디 컴파일러를 작성할 수 있습니다.

0

숙련 된 인력은 16 진수 파일 뷰어로 .exe를 볼 수 있습니다. 대부분의 컴파일러는 프로그램의 문자열에 자신의 ID를 매우 명확하게 남깁니다.

이제는 더 힘들어하는 프로그램입니다.