Decompiler는 무엇입니까?
한 decompiler는 실행 코드에서 소스 코드를 생산하고있는 프로그램입니다.
컴파일러가 소스 코드의 실행 코드를 생성하며,이 과정을 꺼꾸로 decompiler 시도합니다.
한 decompiler a disassembler의 특수 버전입니다. 반면 disassembler 어셈블리 언어를 실행 코드로 변환, decompiler 추가 가야 및 소스 코드를 C 또는 C와 같은 높은 수준의 언어에있는 실행 코드로 변환을 시도 + +.
Decompilers
부메랑
목표는 부메랑이 프로젝트는 오픈 소스 커뮤니티를 통해 시도 기계 코드 프로그램에 대한 실제 decompiler을 개발하는 것입니다. 입력하는 실행 파일과 같은 높은 수준의 compilable, 그 똑같은 일을하고 소스 파일을 만들 가능성도 maintainable 시도 decompiler 걸립니다. 따라서 실행 파일은 원본 파일을하고 해주는 컴파일러의 반대말이다. 그러나, 일반적인 decompiler the decompiler의 모든 행동을 반대로, 오히려 그것을 반복적으로 입력 프로그램의 변형을 시도하지 않는 결과까지 높은 수준의 소스 코드입니다. 따라서 원본 파일을 다시하지 않을; 그것처럼 아무것도 아닐 수있다. 아무 래도 상관 없다면 실행 파일, 또는 기호 또는하지 않은 특정 언어에서 작성됐다. (단, 메이저 리그와 같은 선언적 언어로 간주되지 않습니다.)
그 의도는 겸손의 노력으로 다양한 종류의 기계 코드 파일 디컴파일 수있습니다 (즉, 하나의 X86 예 - 창문, sparc 용 -, 등 솔라리스) retargetable decompiler를 만드는 것입니다. 또한 고도로 모듈화되고, 그래서 그 decompiler의 다른 부분을 실험적인 모듈로 교체할 수있습니다 취지였다. 그것은, 쌍방향 결국되고 의도였다 라 IDA 프로, 왜냐하면 어떤 것들 (그냥 변수가없는 이름과 의견이 분명히 있지만 매우 중요합니다) 전문가의 개입이 필요합니다. 여부 또는 양방향 the decompiler에서 별도의 도구에 속하는 미지 수다.
(크게)가 된 컴파일러의 정확한 동작의 독립적인 개별 지시 사항의 의미를 변환하여 강력한 기술을 사용하여 정적 단일 할당 Dataflow 분석과 같은, 부메랑해야 사용할 수있습니다. 최적화의 결과에 영향을주지해야한다. 이에 따라 목표는 일반 decompiler입니다.
|
스크랩 Decompiler는 무엇입니까?

