Сейчас на форуме: -Sanchez-, Alf, Adler, Rio (+5 невидимых)

 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 47 . 48 . >>
Посл.ответ Сообщение

Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 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.


Официальный сайт:
kpnc.org/idr32
[Note] Недоступен после трагической гибели Криса (RIP)

Гитхаб
Github sources

Скачать:
Страница загрузки

Dropbox автора
https://www.dropbox.com/sh/9ran313nidqtagb/AADl_m_9GVYSiXUviZtDQWQHa?dl=0

Актуальная версия программы:

Исполняемый файл
Внимание! Требует наличия вспомогательных файлов и баз знаний!!!

Базы данных качать по
ссылке.

Для работы необходимо скачать базу знаний + последнюю версию программы




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 23 октября 2010 02:09 · Поправил: Isaev
· Личное сообщение · #2

у мну только D7... проблема с таким сохранением появлялась периодически при пересохранении проектов под разными виндами (рус/нем) потому делал "перекодировщик" (именно к той кодировке, что была выше приведена... я её уже так читать могу как она меня достала) т.к. после сохранения в таком виде форма в другом виндовсе открывалась вся со знаками вопросов вместо символов и приходилось всё перебивать заново.

в общем это очередная проблема CODEPAGE наверное, как и в проектах D7

PS: сейчас у меня D7 вообще сохраняет в другой кодировке: #207#238#236#237#232#242#229
т.ч. за их сюрпризами не угнаться

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 22.4 (новичок), 23thx
Активность: 0.020
Статус: Участник

Создано: 23 октября 2010 20:03
· Личное сообщение · #3

sendersu пишет:
Вопрос - как ето сделать что называеться юзер-френдли с точки зрение интерфейса?


Может быть показывать как коммент рядом/ниже ?



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 24 октября 2010 19:46
· Личное сообщение · #4

Dazz
Уж очень не хочется переписывать модуль classes.pas, чтобы он еще и такие строчки обрабатывал. Есть другая идея - подключить плагин, который бы показывал скопированную в клипбоард строчку крякозябров в виде строки для заданной кодовой страницы. А плагин кто-то бы написал...



Ранг: 22.4 (новичок), 23thx
Активность: 0.020
Статус: Участник

Создано: 24 октября 2010 20:16
· Личное сообщение · #5

Плагин - идея не очень хорошая, т.к. таких строк бывает множество - не будешь же каждую копировать, чтобы посмотреть что там.. Можно конечно в hex-редакторе изменить русский текст на латинские буквы, как я обычно делал, если Olly не видела. Но как тут поведет себя IDR -не знаю, нужно тестить.



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 24 октября 2010 20:26
· Личное сообщение · #6

Dazz
Но есть же возможность посмотреть, как выглядит строка, с помощью FormViewer, может и плагин не нужен.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 24 октября 2010 20:26
· Личное сообщение · #7

crypto
а планируется вообще и в каком будущем, а может только в платной версии - перевод asm кода в код делфи?



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 24 октября 2010 20:31
· Личное сообщение · #8

reversecode
Планируется. После того, как закончится Миттельшпиль, он и так немного затянулся. Это будет уже Эндшпиль. Когда он начнется, точно не могу сказать, осталось еще много нерешенных проблем. Но на некоторых участков кода наверное уже можно потренироваться Насчет платной версии - не знаю, но для себя уяснил одну истину - на этой программе заработать невозможно Обсуждать эту сентенцию не предлагаю, все ответы и советы уже известны. Посмотрим!



Ранг: 22.4 (новичок), 23thx
Активность: 0.020
Статус: Участник

Создано: 24 октября 2010 20:31 · Поправил: Dazz
· Личное сообщение · #9

crypto
А может делать всплывающую подсказку, в которой и расшифровывать? Например поставил курсор на строку, нажал комбинацию клавиш и всплывает тултип.

з.ы. Думаю, можно исправить уже текст =)
Текущей версией программы могут обрабатываться файлы (как GUI, так и консольных приложений), скомпилированные компиляторами версий Delphi2 – Delphi2007. Ведется работа по поддержке версий Дельфи 2009 и 2010



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 29 октября 2010 21:03
· Личное сообщение · #10

Dazz
Уже исправлено.
reversecode
По-поводу очистки файла в ИДА: проблема пешается просто, достаточно при загрузке файла отменить Анализ в самом последнем окне визарда. Правда, точка входа все равно остается, но это уже не проблема.
Манглить имена неохота, может пойдет вариант вроде Sub_XXXXXXXX_Name с добавлением в качестве комментария прототипа?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 30 октября 2010 07:18
· Личное сообщение · #11

crypto Если после прота точка входа украдена и восстановлена в другой секции, то идр просит ввести EP, ввожу любой адрес в пределах секции кода и он нормально проводит анализ. Ну EP конечно треш но это не важно. Почему так?

-----
Yann Tiersen best and do not fuck





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 30 октября 2010 08:48
· Личное сообщение · #12

crypto
ну манглить я не настаивал, пусть в комментах будет вместе с аргументами и типом возрата
а имена к примеру я привык выставлять как
_XXX_XXXX_XXX_sub_2345345D
тоесть все имя процедуры после я оставляю такое как ида расставила



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 30 октября 2010 18:57
· Личное сообщение · #13

PE_Kill
Точка входа определяется на основе анализа той части кода, в которой находятся таблицы инициализации и финализации. Если определенная таким образом точка входа не совпадает с точкой входа, указанной в программе, IDR сообщает об этом и в качестве варианта предлагает определенную ею точку входа. Она в принципе может и не совпадать с истинной, поэтому программа и просит ввести истинную точку. После этого начинается анализ, собственно точка входа при этом не так уж и существенна Тем не менее, в Дельфийской программе в точке входа создаются основные формы, и эта информация очень важна... поэтому лучше уж ввести ее и не париться.



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 01 ноября 2010 22:00
· Личное сообщение · #14

reversecode
Как ни именуй, а перейти по имени в IDA в любом случае будет тяжко.



Ранг: 40.4 (посетитель), 3thx
Активность: 0.080
Статус: Участник

Создано: 02 ноября 2010 11:49 · Поправил: ZLOvar
· Личное сообщение · #15

crypto
Появилась ли есть база Delphi2009?
Вопрос решён. Только ссылку на первой странице топика поправить.



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 06 ноября 2010 12:59
· Личное сообщение · #16

Обновление программы.
Новые фичи:
1. Генератор idc-скрипта (для тех, кто дружит с Ильфаком ) После его запуска листинг фантастически отличается от родного (IDA-шного).
2. Генератор файла комментариев для тех, кто дружит с Олли.
3. Фантастически сокращено время генерации полного дерева классов (спасибо sendersu).
4. Исправлены баги просмотра дерева форм
5. Добавлена база знаний для Дельфи 2005 (оказывается, есть такая)
6. Исправлены другие баги.
Учет пожеланий и предложений будет в следующем билде.
Автор будет доступен после 25 ноября.
Юзайте, и да пребудет с вами сила!

| Сообщение посчитали полезным: _ruzmaz_


Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 06 ноября 2010 14:18
· Личное сообщение · #17

Не планируется генератор проекта для Delphi, я только из за этого пока еще DeDe использую.

-----
Yann Tiersen best and do not fuck




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 06 ноября 2010 15:09
· Личное сообщение · #18

PE_Kill
дело времени как про меня, вся инфа для етого есть,
только надо подождать пока crypto сил наберется!



Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 06 ноября 2010 15:15 · Поправил: crypto
· Личное сообщение · #19

takerZ
Это бета версия, возможны глюки. Вроде я боролся с этими кавычками, да похоже что-то упустил. Что касается конфликта имен, есть идеи, как это разрулить, но это в следующем билде.
ЗЫ
Пока можно заменой в текстовом редакторе такие глюки обходить.
PE_Kill
Планируется. Собственно он практически уже реализован по частям, нужно все собрать в одну функцию. Тоже переносится на следующий билд.
ЗЫ
ИМХО, генератор проекта, в котором все будет на ассемблере, мне не очень импонирует. По-крайней мере я хочу сюда кое-что добавить (вкусного).
sendersu
Я завтра начну этим заниматься (сил набираться ), а сегодня еще поотвечаю на вопросики, если они будут.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 06 ноября 2010 15:38 · Поправил: PE_Kill
· Личное сообщение · #20

crypto пишет:
ИМХО, генератор проекта, в котором все будет на ассемблере, мне не очень импонирует.

Просто в делфи очень удобно локализовывать обработчики экшенов. Например открыть разом все окна и друг за другом закрывать пока не найдется окно на котором есть что то интересное. Потом двойной клик на батоне и мы в обработчике. У тебя в просмотрщике такого нет к сожалению, поэтому и спрашиваю.

PS Так же очень удобно просматривать пропертис нужного компонента, что у тебя тоже не реализовано (в удобном виде как в делфи).

-----
Yann Tiersen best and do not fuck




Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 06 ноября 2010 16:43
· Личное сообщение · #21

PE_Kill
Ты же можешь просто открывать в IDR формы одну за другой и смотреть, нет ли чего интересного, а потом вызвать дерево формы и переходить на обработчики. Свойства можно смотреть в просмотрщике классов (полном дереве или ветке, как удобнее). Это альтернативные возможные варианты. А так, конечно, проект (в масимально близком к Дельфи виде) - конечная цель данной разработки.



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 08 ноября 2010 11:03
· Личное сообщение · #22

crypto
микро-баг
запись проекта в .idp файл - если поменять название на другое в диалоге записи файла -
IDR не дописывает расширение файла .idp




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 08 ноября 2010 12:35
· Личное сообщение · #23

Ну тогда уж второй микробаг, при закрытии IDR он спрашивает сохранить/нет проект, жмем да и если в диалоге сохранения нажать Отмена, то идр закроется не сохранив проект, что неправильно, должен просто отменить закрытие.

crypto пишет:
Ты же можешь просто открывать в IDR формы одну за другой и смотреть, нет ли чего интересного,

Это оооооооочень долго. Представь 400 форм, я их так сутки перебирать буду. А в самом делфи их можно открыть сразу все и просто друг за другом быстро закрывать. Времени уходит минут 20 максимум.

-----
Yann Tiersen best and do not fuck




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 08 ноября 2010 13:06
· Личное сообщение · #24

А какая разница - быстро открывать в IDR или быстро закрывать в делфи? Можно ведь считать, что в IDR они уже все открыты, просто на экране не отображаются. Закрывать их совсем необязательно (кроме последней, когда просмотр закончен, или попадется такая, что закроет весь экран), щелкаешь на следующую - и всё.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 08 ноября 2010 15:55
· Личное сообщение · #25

SVLab пишет:
щелкаешь на следующую - и всё

Странно, но у меня он не позволяет щелкнуть на следующую если текущая не закрыта.

-----
Yann Tiersen best and do not fuck




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 08 ноября 2010 17:51 · Поправил: SVLab
· Личное сообщение · #26

Так было раньше. Уже предыдущая выложенная версия (2.2.2.24) позволяла не закрывать. Если у тебя она или последняя, то это большой баг




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 08 ноября 2010 17:56
· Личное сообщение · #27

PE_Kill пишет:
Ну тогда уж второй микробаг...

Ага, уже писал про это...
https://ssl.cracklab.ru/f/action=vthread&forum=3&topic=15434 &page=12#17

Иногда в самый последний момент вспоминаешь, что ещё что-то не посмотрел и приходится переоткрывать заново проект.
Причем если уже есть открытый проект, и при этом закидываем в прогу новый exe - то в появляющемся диалоге Отмена есть.

PE_Kill пишет:
Это оооооооочень долго. Представь 400 форм...

Вообще я обычно в таких случаях ищу что надо по формам просто поиском - по тексту в Label, заголовку, и т.д., а если форму ещё не видел, и не знаю как она выглядит (иногда для открытия формы ввода рег данных надо знать какую-нить комбинацию клавиш или вроде того), то ищу по характерным признакам - обычно в таких формах есть текстовые поля, memo, richedit'ы и т.д. - быстро получается.


crypto пишет:
3. Фантастически сокращено время генерации полного дерева классов (спасибо sendersu).

Да, скорость очень высокая теперь, это круто. Но у меня на одном и том же проекте небольшом (450кб) скорость декомпила сильно упала в целом, именно из-за стадии Scan Known Units - время сканирования примерно в 2.5 раза увеличилось.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 08 ноября 2010 18:06
· Личное сообщение · #28

PE_Kill пишет:
у меня он не позволяет щелкнуть на следующую если текущая не закрыта

У меня такое только если формы в Text режиме смотрю, когда в виде Form смотрю - все ок - они не модально открываются.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 08 ноября 2010 18:22
· Личное сообщение · #29

4kusNick пишет:
3. Фантастически сокращено время генерации полного дерева классов (спасибо sendersu). Да, скорость очень высокая теперь, это круто. Но у меня на одном и том же проекте небольшом (450кб) скорость декомпила сильно упала в целом, именно из-за стадии Scan Known Units - время сканирования примерно в 2.5 раза увеличилось.

Построение дерева классов и "Scan Known Units" несколько разные вещи. По поводу замедленя на сайте написано: Усовершенствован алгоритм нахождения сигнатур (требует немного больше времени на анализ), ну а "немного" - понятие растяжимое




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 08 ноября 2010 20:39
· Личное сообщение · #30

SVLab пишет:
Построение дерева классов и "Scan Known Units" несколько разные вещи.

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

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 188.1 (ветеран), 419thx
Активность: 0.140
Статус: Участник

Создано: 23 ноября 2010 21:53
· Личное сообщение · #31

4kusNick
Медленнее, зато покрытие больше получается.

Типа я вернулся, могу отвечать на вопросы, если таковые имеются.


<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 47 . 48 . >>
 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати