| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Использование дизассемблера в Delphi |
| Автор: Vasek 10.9.2005, 22:29 |
| Существуют ли диззассемблеры, которые переводят файл EXE не в ассемблер, а в object pascal? Если есть, то где ее можно скачать? |
| Автор: Dimannn 10.9.2005, 23:27 | ||
Хорошо бы было. Тока чёто никто ещё такого не придумал |
| Автор: Alex 10.9.2005, 23:48 |
| это сделать нельзя |
| Автор: Satana 11.9.2005, 09:58 |
| Vasek Есть прога называется помойму DeDe (раньше была на www.cracklab.ru) так вон она переводит в дельфевский код вот только потом етот проект почемуто не компилиться Вот и ссылка если интересно http://www.cracklab.ru/download/get.php?g=10 |
| Автор: Alex 11.9.2005, 10:25 | ||
Она востанавливает структуру проекта, но не сам код функций, его она включает как асемблерные вставки |
| Автор: Z10 11.9.2005, 16:59 | ||
...... и ещё это называется декомпилятор |
| Автор: Mayk 11.9.2005, 17:15 | ||||||
декомпиляторы сей поступают так же. Делают int func() { asm{ .. и поехало Кстати, не стоит забывать про один важный момент, который препятсвует успешной декомпиляции - оптимизация. Так, например, умный компилятор(как говорилось в эхе по си]) заменит деление умножением и сдвигом. Таким образом код
"декомпилируется" в что-то типа(во что точно компилируется - смотрите http://forum.vingrad.ru/index.php?showtopic=63079&st=0&unread=#)
На самом деле будет еще страшнее. Согласитесь, что умножение на 702812831 и деление на 55 это разные для восприятия вещи |
| Автор: Alex 11.9.2005, 17:48 |
| Много, что сделает оптимизатор. По этой причине я и говорю, что получить object pascal код нельзя. |