2010-07-13 2 views
7

어셈블리를 C 또는 C++로 변환 할 프로그램이 있습니까? 많은 검색을 수행했지만 작동하는 것을 찾을 수 없었습니다. "Boomerang"이라는 프로그램이 있습니다. 멋져 보이고 싶었지만 원했지만 매우 불안정하고 사용하려고 할 때 충돌합니다. (boomerang)어셈블리를 C++로 변환하는 프로그램이 있습니까?

다른 무료 프로그램이 있습니까?

+0

많은 중복이 있습니다. [C/C++ 코드로 OBJ를 변환하는 디 컴파일러가 있습니까?] (http://stackoverflow.com/questions/669003/is-there-a-decompiler-to-convert-a-obj-into-cc-code) –

답변

1

이것은 불가능합니다.

할 수 없습니다.

그것은 필사자의 이해를 넘어선 것입니다.

음, C 코드가 내장 어셈블리를 사용하지 않는 한. 그러나 거기조차 그것은 iffy 조금이다.

역 컴파일러는 "어셈블리를 C로 변환"하지 않습니다. 디 컴파일러는 으로 프로그램의 원래 소스 코드 인을 시도합니다. 매핑이 반드시 완벽하지는 않으며 임의의 어셈블리에서는 불가능합니다 (결과 C에서 인라인 어셈블리를 사용하지 않는 한 다시).

+0

? 아니요 ... 완벽하지는 않지만 최소한 약간 높은 수준으로 유지하면 작업하기가 더 쉬워집니다. – mpen

+1

-1 디 컴파일 된 코드의 유지 관리가 어려울 수 있지만 수행 할 수 있습니다. – zoli2k

+1

@ zoli2k : 아니요, 임의 어셈블리의 경우 수행 할 수 없습니다. C의 기능은 어셈블리 언어의 기능과는 달리 느슨한 것이 아닙니다. 예를 들어, 내 어셈블리가 "TST % r1"로 구성되어 있다고 가정 해 봅시다. 이 명령은 프로세서 단계 카운터를 1 씩 증가 시키지만 결과를 사용하지 않으면 다른 효과가 없습니다. 이 혼자의 명령과 동일한 C 코드는 없습니다. 다른 많은 예가 있습니다 - 프로세서 내부 레지스터 읽기, I/O 장치에 직접 쓰기, HLT 명령까지도 가능합니다. 내가 말한 것은 옳았다. – Borealid

1

변환기를 ASM에서 C로, Datatek에서 ASM을 C/C++/Cobol/C#으로 변환하는 도구는 거의 없습니다. 그러나 변환 된 코드의 유지 관리가 문제가 될 수 있다고 생각합니다.

+0

네, 두 가지 모두를 보았습니다. Relogix 나는 그것을 사용하는 방법과 idk에 내장되어 있다고 생각하지 않습니다. 그리고 당신은 그것을 지불해야합니다 datatek. 나는 보았다. 그러나 나는 당신이 다운로드에 관해 아무것도 볼 것을 보지 않았다. – blood

2

당신이 찾고있는 것은 디 컴파일러입니다.

당신은 ASM 소스보다 훨씬 좋지 않은 무언가로 끝날 것이고, 어쨌든 당신은 C로 끝날 것이라고 확신합니다.

+0

나는 decompiler를 원한다고 생각하지 않는다. 나는 어셈블리 코드를 가지고있다. 그러나 그것을 C++로 바꾸고 싶다. – blood

관련 문제