Текущий архив: 2011.12.04;
Скачать: CL | DM;
Вниз
Дизассемблер: переводить или искать аналог? Найти похожие ветки
← →
ProgRAMmer Dimonych © (2011-08-12 14:45) [0]Стоит задача: перенести с C++ на Delphi код, использующий сишный модуль для дизассемблирования. В этом модуле и загвоздка: очень много объявлений константных массивов из структур, да ещё и идентификаторы есть, отличающиеся только регистром. Решил замахнуться на ручной перевод, перелопатил гору кода - где-то вручную, где-то поиском и заменой - через пару часов обнаружил, что старания напрасны: некоторые идентификаторы запортил напрочь.
Рассматриваю 3 варианта:
1) Найти хороший конвертер
Поиск в Google дал несколько утилит, которые, видимо, прямо на коленке были слеплены. Например, описание константного массива структур, в которых также есть вложенные структуры, превращает в блоки begin-end и между ними - тоже ересь. :(
2) Найти аналогичный модуль на Delphi
В сабжевом поддерживаются и 64-битные инструкции, и все расширения - и всё это нужно оставить. Поиск тоже результатов не дал: какой-то модуль, определяющий длину инструкции и всего-то.
3) Навороченный текстовый редактор
Не знаю, существуют ли такие вообще, но если бы найти редактор, в котором можно было бы Поиск-замену выполнять по идентификаторам. Или хотя бы задавать для поиска не просто символы, а маску (например, третье слово "operand" в строке) - это бы сильно помогло.
=====
Поделитесь, пожалуйста, информацией по этому поводу.
← →
Игорь Шевченко © (2011-08-12 15:06) [1]
> В сабжевом поддерживаются и 64-битные инструкции, и все
> расширения - и всё это нужно оставить
на два дня дел
← →
ProgRAMmer Dimonych © (2011-08-12 15:29) [2]
> на два дня дел
Только вот двух дней-то и нет :(
← →
Игорь Шевченко © (2011-08-12 15:56) [3]это я имел в виду не перевод с С(++), а написать с нуля модуль дизассемлирования IA32, x64
← →
ProgRAMmer Dimonych © (2011-08-12 16:01) [4]... сохранив совместимость с сишной реализацией.
← →
DiamondShark © (2011-08-12 17:04) [5]
> 3) Навороченный текстовый редакторНе знаю, существуют ли
> такие вообще, но если бы найти редактор, в котором можно
> было бы Поиск-замену выполнять по идентификаторам. Или хотя
> бы задавать для поиска не просто символы, а маску (например,
> третье слово "operand" в строке) - это бы сильно помогло.
Я может чего путаю, но в дельфийском редакторе был поиск/замена с регулярными выражениями.
← →
tesseract © (2011-08-12 17:23) [6]
> 1) Найти хороший конвертер
c2pas заголовки и данные относительно неплохо переводил.
← →
Anatoly Podgoretsky © (2011-08-12 19:27) [7]> Игорь Шевченко (12.08.2011 15:06:01) [1]
Значит не нужно
← →
Anatoly Podgoretsky © (2011-08-12 19:28) [8][2]
← →
Rouse_ © (2011-08-12 23:57) [9]Движок дизасма пишется за полтора - два дня (большее время на сверку с азбукой интеловской уходит).
Совет - брось, и напиши сам, заодно и разберешся что и как...
← →
Компромисс (2011-08-15 10:30) [10]Мне только одно непонятно: если настолько просто написать дизассемблер, почему нет качественных бесплатных дизассемблеров в сети...
← →
Игорь Шевченко © (2011-08-15 10:35) [11]Компромисс (15.08.11 10:30) [10]
потому что они даром никому не нужны
← →
Компромисс (2011-08-15 12:07) [12]Игорь Шевченко © (15.08.11 10:35) [11]
Понятно, спасибо.
← →
icWasya © (2011-08-15 15:36) [13]В общем случае нужно отделить ассемблерные инструкции от того, что ими не является.
Страницы: 1 вся ветка
Текущий архив: 2011.12.04;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.007 c