Декомпиляция ARM asm обратно в C - PullRequest
4 голосов
/ 07 июля 2010

Несколько лет назад я написал замечательную программу для ассемблера ARM, и она прекрасно справилась со своей работой на тех встроенных системах ARM, для которых она была разработана. Теперь пришло время перенести его на системы, отличные от ARM, и мне было интересно, есть ли какой-нибудь инструмент или какой-нибудь метод, чтобы взять мой исходный ассемблерный источник ARM и получить из него элементарный файл C. Я мог бы сделать это сам через пару дней, но было бы неплохо иметь отправную точку. Еще приятнее, если приложение или метод были бесплатны:)

Есть предложения?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

Плагин Hex-Rays Decompiler для IDA Pro может декомпилировать ARM.Это несколько дорого, поэтому, вероятно, не лучший выбор, если вам нужна только одна рутина.

2 голосов
/ 07 июля 2010

К сожалению, я не знаю такого инструмента ... Было бы неплохо ...; )

Так что единственное предложение, которое я могу дать, - это сосредоточиться на логике.

Вы написали ассемблерный код. Итак, вы знаете, что код должен делать. Преобразование его в код на Си не должно быть таким сложным, даже при сборке ARM.

Я имею в виду, что перенос C на сборку ARM может быть сложной задачей. Но для обратного варианта, если вы знаете логику кода и знаете, как писать C, все должно быть в порядке ...

Создает структуры C для облегчения областей памяти, с которыми вы работаете. Насчет алгоритмов они не изменятся. Просто переведите то, что вы делаете, из ассемблера в C, с помощью некоторых структур и т.д ...

Извините, я могу дать вам такой инструмент ...

Удачи:)

...