2010-07-07 3 views
4

몇 년 전에 멋진 ARM 어셈블러 루틴을 작성했으며 설계된 ARM 임베디드 시스템에서 수년 동안 아름답게 일해 왔습니다. 이제 비 ARM 시스템에 이식 할 때가 왔습니다. 원래의 ARM 어셈블러 소스를 가져 와서 기본 C 파일을 얻는 도구 나 일종의 메소드가 있는지 궁금합니다. 며칠 후에 나 혼자서 할 수는 있지만 시작점을 갖는 것이 좋을 것입니다. 여전히 앱이나 메소드가 무료 인 경우 더 멋지다 :)ARM asm을 C로 다시 디 컴파일

제안 사항?

+2

나는 많은 운이 있을지 의심 스럽다. Decompilers는 컴파일러가 코드에서 어셈블리를 생성하는 방법에 대해 조금 알면 약간 "속일 수 있습니다". 코드는 손으로 작성 되었기 때문에 컴파일러가 생성 한 코드에서 예상되는 것과 약간 다른 동작을 할 가능성이 큽니다. – SoapBox

답변

2

불행히도 나는 그런 도구를 모른다 ... 좋을 것이다 ...;)

내가 줄 수있는 유일한 제안은 논리에만 집중하는 것입니다.

어셈블리 코드를 작성했습니다. 따라서 코드 작성 대상이 무엇인지 알 수 있습니다. ARM 어셈블리에서도 C 코드로 변환해서는 안됩니다.

나는 C 어셈블리를 ARM 어셈블리로 이식하는 것이 어려운 작업 일 수 있음을 의미합니다. 그러나 역방향 옵션의 경우 코드 논리를 알고 있고 C를 작성하는 방법을 알고 있다면 그냥 괜찮을 것입니다 ...

작업중인 메모리 영역을 쉽게 사용할 수 있도록 C 구조를 만듭니다. 알고리즘에 대해서는 변경되지 않습니다.)

+0

그건 내가 생각한 것 같아. 이 질문을 다른 날을 위해 남겨두고 아무도 다른 사람이 더 좋은 것을 찾지 못하면 당신에게 크레딧을줍니다 :) –

3

진수 : 그냥 ...

미안 내가 당신에게 이러한 도구를 제공 할 수 있습니다 ... 당신이 어떤 구조체의 도움 등으로, C로 어셈블리에서 무엇을하고 있는지

행운 번역 -Rays IDA Pro 용 Decompiler 플러그인은 ARM을 디 컴파일 할 수 있습니다. 다소 비용이 많이 들기 때문에 아마도 하나의 루틴 만 있으면 최상의 선택이 아닐 수 있습니다.

+0

그래, 내가 필요로하는 것 때문에 과잉. 나는 총알을 버리고 그것을 손으로 디 컴파일하는 것으로 끝났다. –