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

 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 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

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

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

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

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



Ранг: 4.6 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 18 июля 2011 13:23
· Личное сообщение · #2

У меня при нажатии на магическую кнопку выдает ошибку "Unknown argument type (refine prototype)"
Софт отсюда: http://sunnyphotos.ifolder.ru/15790676



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

Создано: 18 июля 2011 13:52
· Личное сообщение · #3

ajax
Билдер есть, однако требуется разрешить некоторые проблемы.
infini
Значит нужно описать прототип вызываемой функции.




Ранг: 68.0 (постоянный), 6thx
Активность: 0.060
Статус: Участник

Создано: 19 июля 2011 00:25
· Личное сообщение · #4

Предлагаю добавить в программу возможность анализа уже запущенного процесса, как в DeDe.

| Сообщение посчитали полезным: mak, hlmadip, Error13Tracer


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 26 июля 2011 21:59
· Личное сообщение · #5

Защиту от Думми можно сделать , сделал Анализ , скрипт сделал , полазил посмотрел что нужно , жму закрывать , спрашивает сохранить проект? Говорю да , потом через 5 сек передумал , жму опять закрыть и слово нет , там вылазиет месага с ошибкой по адресу XXXXXX ... Отменить сохранение так сделал)

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




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

Создано: 28 июля 2011 15:50
· Личное сообщение · #6

Dr3d
А пусть кто-нибудь из корифеев подскажет, как это проще всего сделать (лучше кодом, ссылок не надо, я их и сам могу найти и прочитать). Очень не хочется от декомпилятора отвлекаться.



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 28 июля 2011 16:09
· Личное сообщение · #7

Дак исходники DeDe есть...

-----
.[ rE! p0w4 ].




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

Создано: 28 июля 2011 20:09
· Личное сообщение · #8

Ultras
Дык я знаю, что есть. Идею скажите, как это сделано, дальше - моя забота...




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 июля 2011 20:37
· Личное сообщение · #9

А в чём там особая сложность идеи то? Запускается процесс, выводится окошко с кнопкой ОК. По нажатию дампится просто из памяти основной файл, база находится через перечисление модулей, размер из файла на диске взять можно. Разбиение на секции тоже из файла на диске. Импорт-не знаю, нужен или нет, зависит от проводимого анализа, обычно он тоже виден сразу без редиректов. А больше и не нужно ничего, наверно. Разве что ОЕП по сигнатурам найти.




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 03 августа 2011 20:17
· Личное сообщение · #10

Имхо, нафик не нужно пока лезть в процесс. Для дампа юзать petools и т.п. С новыми рад студиями, crypto еще прибавится основной работы.

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 03 августа 2011 22:00
· Личное сообщение · #11

ajax поддерживаю, дамп и самому сделать несложно. А после последних багфиксов crypto, дампы открываются отлично.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 05 августа 2011 12:25
· Личное сообщение · #12

Может лучше попросить сделать плагины , а там уже пользователи сами сделают то что нужно ..

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




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

Создано: 05 августа 2011 13:42
· Личное сообщение · #13

mak
Плагины - это вряд ли, я их даже не закладывал, а переделывать архитектуру IDR мне уже не хочется, не вижу глубокого смысла.



Ранг: 18.8 (новичок), 21thx
Активность: 0.030
Статус: Участник

Создано: 06 августа 2011 23:26
· Личное сообщение · #14

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



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

Создано: 07 августа 2011 11:51
· Личное сообщение · #15

Обновление 2.5.2.55 beta.

Из-за изменения флажков анализа добавлен импорт имен из idp-файла (можно перенести все изменения, сделанные в проекте, во вновь проанализированный файл);
Исправлен баг отображения прототипа абстрактного виртуального метода класса (например, TStrings.Clear);
Исправлен баг анализа функций после их редактирования;
Исправлен баг удаления поля класса (поля не удалялись, после этого возникала ошибка при редактировании и добавлении полей);
Исправлен баг добавления поля класса;
Исправлен баг отображения элементов формы.

| Сообщение посчитали полезным: sendersu, yanus0, Gideon Vi, obfuskator, XQuader, 4kusNick, DimitarSerg, _ruzmaz_, Isaev

Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 08 августа 2011 15:49
· Личное сообщение · #16

А что должно происходить по File\Save Delphi Project? Я может что-то не так делаю, но у меня ничего не происходит.



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

Создано: 08 августа 2011 18:18 · Поправил: crypto
· Личное сообщение · #17

vden
В директории Projects домашней директории IDR (пока так сделано) будут файлы для загрузки в Дельфи.
to all
Основной функционал в развитии, поэтому ничему не удивляйтесь. Бета версия именно это и означает.

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


Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 10 августа 2011 16:18
· Личное сообщение · #18

beta = better than nothing

-----
От многой мудрости много скорби, и умножающий знание умножает печаль


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

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

Создано: 12 августа 2011 23:15
· Личное сообщение · #19

Кстати, кто-то в моем топике утверждал, что "многие будут благодарны" за возможность копировать текущий адрес в буфер. И где же благодарности?

| Сообщение посчитали полезным: sendersu, Airenikus, Error13Tracer, _ruzmaz_, ==DJ==[ZLO]


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

Создано: 13 августа 2011 01:07
· Личное сообщение · #20

У тебя в названии продукта заявлено об интерактивности. Вот ее то пока и нет, поэтому лично я пока что использую IDR как генератор MAP файлов и проекта Delphi, а дальше уже другими средствами ведется анализ, действительно интерактивными. Поэтому сложно оценивать те малые добавки к интерактивности, что делаются сейчас. Я надеюсь, что когда ты полностью допилишь движок, то как раз начнешь разрабатывать эту область. Как анализатор, продукт уже давно переплюнул DeDe, возможно скоро выложу статью по анализу и доработки одного приложения при помощи IDR. В любом случае спасибо за тулзу.

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




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

Создано: 13 августа 2011 07:51
· Личное сообщение · #21

PE_Kill
Вот ее то пока и нет
Вот она есть: редактирование членов класса, редактирование прототипа функций и процедур, определение участков как код, именование переменных. Это конечно не IDA, но мне лично пока хватает. Что еще нужно?



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 13 августа 2011 09:31
· Личное сообщение · #22

crypto на днях столкнулся с такой проблемой.
есть обработчик (например на кнопочке) он через case вызывает нужный обработчик (в зависимости от выбраных условий) ну в моем случае в каких листбоксах какие еллементы выбраны. теперь суть проблемы. на проге висес аспрот, ну и немного поморфировал кусочек перед самим case. IDR дошел до jmp[eax*4] (case) и дальше остановился. я не возражаю. там дальше надо делать анализ.. НО я не смог его заставить перейти на нужный мне обработчик. т.е. я так понимаю если нет ссылки на функцию(распознанной IDR ) это считаюца данные и в код их никаким пряником не заманиш. тоже самое вышло и с вложенными в это вариант кейса процедурами. вздохнул, и отложил IDR...

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





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

Создано: 13 августа 2011 10:34
· Личное сообщение · #23

VodoleY пишет:
на проге висес аспрот, ну и немного поморфировал кусочек перед самим case

Мой распаковщик не деморфит?

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




Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 13 августа 2011 11:06
· Личное сообщение · #24

PE_Kill вопрос собственно не в деморфе. я та и руками выправлю. дело в том что IDR на casе упираеца рогом, и это было бы пол беды еслиб можно было дальше руками пойти (или я не знаю как)

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 15 августа 2011 08:47 · Поправил: crypto
· Личное сообщение · #25

VodoleY
Пришли мне файл и описание проблемы, посмотрю.
Archer
Вопрос свой снимаю - я почему-то в ssl оказывался...



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

Создано: 15 августа 2011 13:58
· Личное сообщение · #26

VodoleY
Делаешь так: Explore Address 5E909, Define As Code. После этого double click на 56ED29 прекрасно работает. Но ты прав, нужно как-то сделать юзабильнее.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 15 августа 2011 14:16
· Личное сообщение · #27

crypto пишет:
Но ты прав, нужно как-то сделать юзабильнее

Я бы сказал больше, пересмотри весь юзабилити гуя

-----
xchg dword [eax], eax




Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 15 августа 2011 14:16
· Личное сообщение · #28

crypto кстати кнопку Define As Code профтыкал. (раз у тя через пкм основная масса действий уж в попап добавил бы эту опцию ) видимо жара и на меня действует

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 15 августа 2011 14:36
· Личное сообщение · #29

void пишет:
пересмотри весь юзабилити гуя

критикуя, предлагай (с) кто-то

напишите список из 10 пунктов (мин) что можно и нужно сменить

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

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

Создано: 15 августа 2011 15:27
· Личное сообщение · #30

VodoleY
раз у тя через пкм основная масса действий уж в попап добавил бы эту опцию
Добавить в попап для элементов юнита можно, только есть ли у тебя твердая уверенность, что приведенное бинарное начало нераспознанного фрагмента - это код? Для этого и открывается окошко Explorer, чтобы убедиться в этом. Можно конечно добавить цветом, что данный фрагмент может быть кодом, но как-то это не кошерно... да и промахи возможны.



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 15 августа 2011 16:59 · Поправил: VodoleY
· Личное сообщение · #31

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

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....



<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 47 . 48 . >>
 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати