eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 47 . 48 . >> |
Посл.ответ | Сообщение |
|
Создано: 06 декабря 2009 17:29 · Поправил: crypto · Личное сообщение · #1 IDR (Interactive Delphi Reconstructor) – декомпилятор исполняемых файлов (EXE) и динамических библиотек (DLL), написанных на языке Delphi и выполняемых в среде 32х-разрядных операционных систем Windows. Программа, прежде всего, предназначена для компаний, занимающихся разработкой антивирусного программного обеспечения. Она также может в значительной мере помочь программистам в восстановлении утраченных исходных текстов программ. Текущей версией программы могут обрабатываться файлы (как GUI, так и консольных приложений), скомпилированные компиляторами версий Delphi2 – Delphi2010. Ведется работа по поддержке Дельфи 2011. Конечной целью проекта является разработка программы, способной восстановить большую часть исходных Delphi-текстов из скомпилированного файла, но пока IDR, как и другие Delphi-декомпиляторы, сделать этого не может. Тем не менее, IDR может значительно облегчить такой процесс. По сравнению с другими декомпиляторами анализ, выполненный IDR, отличается наибольшей полнотой и достоверностью. Кроме того, высокая интерактивность делает работу с программой комфортной и (не побоимся этого слова) приятной. IDR выполняет статический анализ (анализируемый файл не запускается на выполнение), что позволяет безопасно изучать вирусы, трояны и прочие приложения, запуск которых опасен или нежелателен. Программа не требует установки и не делает никаких записей в реестр Windows. Официальный сайт: [Note] Недоступен после трагической Гитхаб Скачать: Dropbox автора https://www.dropbox.com/sh/9ran313nidqtagb/AADl_m_9GVYSiXUviZtDQWQHa?dl=0 Актуальная версия программы: Внимание! Требует наличия вспомогательных файлов и баз знаний!!! Базы данных качать по Для работы необходимо скачать базу знаний + последнюю версию программы |
|
Создано: 04 декабря 2017 15:18 · Поправил: hoyux · Личное сообщение · #2 |
|
Создано: 04 декабря 2017 15:45 · Личное сообщение · #3 hoyux пишет: Сделай под 64 IDR, реально не хватает. ето не поддержка (а-ля дописать пару строк), ето равносильно новому прожекту, про что автор уже писал | Сообщение посчитали полезным: shellstorm, hoyux |
|
Создано: 04 декабря 2017 16:20 · Личное сообщение · #4 hoyux https://github.com/crypto2011/IDR Пилите pull request, помогите автору, проект может улучшать любой желающий. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: sendersu |
|
Создано: 04 декабря 2017 16:21 · Личное сообщение · #5 hoyux пишет: Сделай под 64 IDR, реально не хватает. Вычленяй мою подсветку Delphi. Сырки открыты. О да, подсветка это как раз самая сложная часть. Мало того, что нужно переписать практически полностью парсер, так и clang это не древний delphi компилятор, он уже не оставляет такой роскоши в виде избыточности кода. |
|
Создано: 05 декабря 2017 14:58 · Личное сообщение · #6 |
|
Создано: 06 декабря 2017 08:55 · Личное сообщение · #7 |
|
Создано: 11 декабря 2017 23:51 · Поправил: Incitatus · Личное сообщение · #8 Камрады, доброй ночи. Вопрос от чайника. Необходимо добыть алгоритм одного расчета из проги (D2014). Загнал в IDR, наметился было прогресс, но знаний не хватает. Ассемблер последний раз в руках держал от Z80... На чтение учебников много времени нет, так как вопрос надо решить оперативно. В общем, не пинайте сильно, а лучше подскажите... пардон, что вопросы дурацкие. 1. После обработки, IDR нашел sub_XXXX с вызовом где-то глубоко внутри функции @System.@UStrEqual, для которой код не генерится, но выдается сообщение об ошибке "I -> Loop -> Loop still unknown". В KB находится до буквы идентичная функция, ее использование результата не дает. 2. Есть ли какая-то возможность использовать то, что делает IDR в IDA? По сути, мне не нужен дельфийский код, вполне хватило бы С, дизассемблированного Идой, но ИДА не видит дельфийских названий, а без них на выходе только вермишель из 15 тысяч безымянных сабов. Последние сигнатуры FLIRT есть только для BDS2010, но их использование толку в моих руках не дает. Но руки кривые в данном вопросе, что есть, то есть. Использую IDR 01.04.2017 и IDA 6.6 Заранее спасибо. |
|
Создано: 12 декабря 2017 00:54 · Личное сообщение · #9 |
|
Создано: 12 декабря 2017 16:36 · Личное сообщение · #10 SReg, спасибо за помощь, нашел, получилось. Можно еще вопрос? Не ругайтесь, если он глупый... Анализируемый код содержит строковые ресурсы, которые используются алгоритмом, в основном это текстовый xml. Дайте плз наводку, как распознать обращения к ним из анализируемых функций? И еще небольшой Часть кода той или иной процедуры в IDR помечается розовым цветом. Как я понимаю, ее наличие не позволяет реконструктору получить исходный код... когда в этом сегменте есть вызовы call - мн понятно, что это указывает на то, что в вызываемом прототипе не все хорошо, правильно? Но что IDRу не нравится в таком коде? Code:
....а дальше везде белый бэк... Спасибо |
|
Создано: 13 декабря 2017 07:26 · Личное сообщение · #11 Incitatus Розовым помечается код, несущественный с точки зрения компиляции (в вашем примере это пролог - сохранение в стеке регистров и инициализация локальных переменных типа string), это историческая фича, сейчас она вроде как бы и не нужна. Тем более, в ней часто наблюдаются промахи. Строковые ресурсы: открываем закладку Strings, при выборе строки справа появляется список референсов |
|
Создано: 13 декабря 2017 16:38 · Личное сообщение · #12 crypto Спасибо за разъяснение. Большую часть нашел. Связанный с этим вопрос - в теле ресурса XML содержатся символы китайского алфавита, которые отображаются не корректно. Различные эксперименты с режимами отображения строк и шрифтами эффекта не дали, при том, что в других местах, скажем если открыть данный exe в VisualStudio - они читаются отлично. Можно ли как то помочь этому делу, поскольку сопоставлять китайский текст с некорректно отображаемым китайским текстом как-то уж очень непросто? |
|
Создано: 15 декабря 2017 08:06 · Личное сообщение · #13 |
|
Создано: 06 января 2018 11:57 · Личное сообщение · #14 Здравствуйте! Помогите разобраться. Декомпилировал одну программу с помощью IDR, пытаюсь ее собрать в Delphe 7 и получаю ошибку: [Fatal Error] SysUtils.pas(10): Program or unit 'sysutils' recursively uses itself Подскажите, в чем моя ошибка и как ее обойти? 1d59_06.01.2018_EXELAB.rU.tgz - 2018-01-06_120752.png |
|
Создано: 06 января 2018 12:10 · Поправил: unknownproject · Личное сообщение · #15 eu8cc пишет: Здравствуйте! Помогите разобраться. Декомпилировал одну программу с помощью IDR, пытаюсь ее собрать в Delphe 7 и получаю ошибку: [Fatal Error] SysUtils.pas(10): Program or unit 'sysutils' recursively uses itself Подскажите, в чем моя ошибка и как ее обойти? Если вы думаете, что декомпилятор выплюнет для вас прекрасно рабочий код, то это заблуждение. Читайте доки и юзайте отладчики. А касательно ошибки. Что там, собственно, непонятно ? Рекурсия или незнание английского ? Все там достаточно понятно - юнит sysutils рекурсивно используется в самом себе. Этого быть не должно. Учите и как кодить на делфи в довесок. ----- TEST YOUR MIGHT |
|
Создано: 06 января 2018 13:16 · Личное сообщение · #16 |
|
Создано: 06 января 2018 13:20 · Личное сообщение · #17 eu8cc пишет: Извините что заставляю вас нервничать) А можно по подробнее, что нужно подкорректировать чтобы не ругалась на sysuils? Переименовать целевой юнит на все, что угодно, кроме sysutils. Директиву uses не трогать. ----- TEST YOUR MIGHT | Сообщение посчитали полезным: eu8cc |
|
Создано: 15 января 2018 01:39 · Личное сообщение · #18 |
|
Создано: 15 января 2018 01:50 · Поправил: dosprog · Личное сообщение · #19 |
|
Создано: 15 января 2018 02:50 · Личное сообщение · #20 dosprog пишет: Сейчас она на BorlandC++Builder'е. Я просто думал, что IDR умеет борланд декомпилить, делфи ведь основан на борланде. Добавлено спустя 13 часов 10 минут dosprog пишет: Да. Borland Delphi, но не C++. Но я заметил, что он вполне успешно разбирает некоторые проги из борланд с++ именно, вот ultraiso написана на борланд с++, он нашел все формы, все обработчики смотрю. Вот эту http://rgho.st/8vv6yn94D разобрал. |
|
Создано: 15 января 2018 16:20 · Личное сообщение · #21 Борланд - это компания, которая разработала язык, а речь идет о BCC. BCC структурно очень сход с Delphi, потому что разработан той же самой Борланд. Борланд же "декомпильнули" на стадии банкротства еще. Idr хорош для своих целей, но только в том случае, если требуется полный разбор функционала софта. Делфисту разобрать делфовый код итак труда не составит, так что использование idr для узких задач - моветон. А делфи основан на паскале, а не на борланде ----- TEST YOUR MIGHT |
|
Создано: 15 января 2018 18:36 · Поправил: mazaxaker · Личное сообщение · #22 unknownproject пишет: Idr хорош для своих целей, но только в том случае, если требуется полный разбор функционала софта. Мне им нравится быстро находить обработчики контролов, ну и плюс распознавание системных вызовов делфи вроде GetText, которые олька не видит. Кстати по борланд с++ ищу туторы с информацией о том, как отличать в коде те куски кода, которые всунул компилятор, чтобы их не изучать. Разбираю прогу на борланд с++ и вижу, что код, который там писал разраб периодически разбавляется каким-то непонятным кодом, который очевидно компилятор напихал. Вот такое хочу отличать, есть ли по этой теме туторы. До этого исследовал проги на visual c++ и заметил, что их ассемблерный вид намного приятнее для реверсера. А борланд смотрю кучу всякого пихают мусора какого-то) |
|
Создано: 15 января 2018 22:26 · Личное сообщение · #23 mazaxaker пишет: Но я заметил, что он вполне успешно разбирает некоторые проги из борланд с++ именно, вот ultraiso написана на борланд с++, он нашел все формы, все обработчики смотрю Некоторые это еще не все, для уверенного разбора билдера нужно дописывать парсер, как вариант попробуй вручную выбрать другую версию базы vcl, иногда помогает. |
|
Создано: 15 апреля 2018 01:39 · Поправил: MacTep · Личное сообщение · #24 Для ленивых. Добавил возможность пункта в контекстное меню проводника для exe / dll файлов из меню, чуток иконок и вызов калькулятора, блокнота и ... PS: Для внесения данных в реестр ( Help - Settings - Shell Integration ) запустить приложение с правами Администратора. | Сообщение посчитали полезным: Gideon Vi |
|
Создано: 16 апреля 2018 08:15 · Поправил: crypto · Личное сообщение · #25 |
|
Создано: 19 апреля 2018 10:25 · Поправил: MacTep · Личное сообщение · #26 При работе IDR вкладка - Code View - popup меню пункт Copy Address вызывается исключение ' List index out of bounds (-1)'. Если не выбран ни один элемент списка lbCode свойство ItemIndex = -1. Добавлено спустя 8 часов 46 минут Поправил ошибку, добавил пункт popup меню Copy Line вкладки Code View. Архив с сорцами тут |
|
Создано: 22 апреля 2018 22:01 · Личное сообщение · #27 Собрал новую сборку. Исправлены ошибки кода, добавлен пункт в poup меню 'Copy Line' вкладки 'Strings'. |
|
Создано: 23 апреля 2018 20:52 · Личное сообщение · #28 Салют All ! - Исправлены ошибки в коде - Добавлена секция TrustInfo с разделом Security для поддержки управления учетными записями (UAC) в манифест приложения |
|
Создано: 25 апреля 2018 18:54 · Личное сообщение · #29 + Добавлена поддержка копирования несколько элементов списка в буфер обмена, пункт 'Copy Lines' во вкладках 'Code Viewer', 'Strings'. |
|
Создано: 26 апреля 2018 09:33 · Личное сообщение · #30 |
|
Создано: 28 апреля 2018 11:16 · Личное сообщение · #31 |
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 47 . 48 . >> |
eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
Эта тема закрыта. Ответы больше не принимаются. |