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

 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 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

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

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

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

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



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

Создано: 14 апреля 2010 20:37 · Поправил: VodoleY
· Личное сообщение · #2

Пишу на делфе 8 лет... ну и как бы 15 занимаюсь наоборотписанием crypto.... нет слов. спасибо за то, что ты делаешь.
З.Ы. ты мне сэкономил 2 ночи. РЕСПЕКТ

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




Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 14 апреля 2010 21:28 · Поправил: yanus0
· Личное сообщение · #3

crypto
смотря на то, как преобразуется код после программы, мне кажется что сделать полную декомпиляцию, то есть получение исходников, не то что не проблема, а просто дело времени!!!!!!!! Спасибо тебе за программу. сори за эмоции.



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

Создано: 14 апреля 2010 21:56
· Личное сообщение · #4

yanus0 вощем то...... надо сильно курить над хексреем.. и над книжкой умной под названием "Компиляторы- Принцыпы, технологии, инструмены" типа база есть, в остальном.. дайте сток времени!

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 апреля 2010 22:32 · Поправил: Модератор
· Личное сообщение · #5

Ух сколько соплей... Может будете ЛС пользоваться в следующий раз?

yanus0 пишет:
сори за эмоции.

нет, не извиню, правила одинаковы для всех

crypto
думаю автору в своей теме можно немного пофлудить




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

Создано: 14 апреля 2010 23:17
· Личное сообщение · #6

crypto
было бы не плохо что бы кроме MAP файла IDR генерировал еще и IDC для IDA
хотя в инете есть левые плагины для загрузки MAP в IDA, но это все костыли



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

Создано: 15 апреля 2010 07:55
· Личное сообщение · #7

VodoleY
yanus0
Спасибо за респекты и эмоции
На самом деле проблем еще много осталось, прежде чем переходить к декомпиляции. Хотя местами это уже можно сделать (там где нет проблем или они все были устранены юзером).
ЗЫ
Ваша благодарность может быть выражена и в другой форме

int
Извини за частичный флуд, но надо же ответить.

reversecode
Это в ближайших планах, сейчас пытаюсь прикрутить версии 2009 и 2010.




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

Создано: 16 апреля 2010 01:27
· Личное сообщение · #8

crypto
- а можно сделать чтобы при даблклике в тексте формы на строку с событием переходило на него в CodeViewer (на форме переход на события здорово сделан!, тащусь прям )?
- XRefs шире чуть сделать надо, а лучше сплиттер туда тоже воткнуть (если их много появляются скролбары и ппц)
- в PopUp в CodeViewer добавить Copy RVA

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 16 апреля 2010 13:28
· Личное сообщение · #9

Isaev пишет:
- XRefs шире чуть сделать надо, а лучше сплиттер туда тоже воткнуть (если их много появляются скролбары и ппц)

Это чтобы выводить в 2, 3 и т.д. столбика? Просто шире никак нельзя, что тогда останется собственно на код? Сплиттер можно было бы, если у кого экран достаточно широкий.

А что за "Copy RVA"?




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

Создано: 17 апреля 2010 00:33
· Личное сообщение · #10

SVLab пишет:
Это чтобы выводить в 2, 3 и т.д. столбика?

нет хоть в один... если XRefs больше чем на 1 страницу, появляются скролбары вертикальный и из за него горизонтальный, который там ну вообще не нужен... Можно его "попросить" чтобы не появлялся при создании компонента...
SVLab пишет:
А что за "Copy RVA"?

Ну как в DeDe

Или я просто не нашёл? Приходится адреса вручную переписывать...

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 17 апреля 2010 09:59
· Личное сообщение · #11

Что-то странное, я никогда не видел горизонтального скроллбара в XRefs. Компонент там вроде как не совсем стандартный, может в разных ОС его работа немного отличается? У тебя какая?

С копированием адреса, конечно, неудобно, но пока нельзя даже скопировать произвольный кусок кода, что уж об отдельном адресе...



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

Создано: 17 апреля 2010 14:46
· Личное сообщение · #12

SVLab
Адрес можно скопировать. Руки просто не доходят. Будет в следующем билде.
В принципе и сплиттер можно замутить между Xrefs и кодом - ширину будет юзер устанавливать и сам решит, какой ширины какое окно будет. Только вот сплиттеры плохо себя ведут иногда



Ранг: 129.7 (ветеран), 2thx
Активность: 0.070
Статус: Участник

Создано: 17 апреля 2010 18:58
· Личное сообщение · #13

crypto,
Code:
  1. AutoSnap = false

Будет вести себя получше




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

Создано: 21 апреля 2010 21:57
· Личное сообщение · #14

SVLab пишет:
Что-то странное, я никогда не видел горизонтального скроллбара в XRefs.



-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 22 апреля 2010 09:52
· Личное сообщение · #15

Интересно, у тебя ширина XRefs почему-то изначально меньше. Ресурсы в EXEшнике IDR случайно не правил? Если нет, напиши все-таки, какая ОС.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 22 апреля 2010 12:52
· Личное сообщение · #16

темы отключены, может поэтому?



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

Создано: 22 апреля 2010 13:54
· Личное сообщение · #17

Да нет, я пробовал у себя отключать, от этого ширина не меняется.




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

Создано: 23 апреля 2010 10:13
· Личное сообщение · #18

WinXP SP2, тема win classic, ресурсы не трогал

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

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

Isaev
SVLab
При инциализации программы дефолтная ширина этого списка (если не найдена запись в ini-файле) равна ширине экрана/10. У меня на компе эта величина равна 128, что немножко не хватает, чтобы отобразить список без горизонтального скролл-бара.
Я добавил второй сплиттер, правда пришлось отказаться от лейбла XRefs (да он собственно и не нужен в этой ситуации).

Может быть лучше добавить опцию меню Copy Adr в дерево классов (я просто смотрю на окошко ДеДе)? Или хотим в оконо Кода - тогда какой адрес копировать в буфер?



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

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

Ну, у меня тоже 128, и все хватает, пикселей 20 до вертикального еще остается, и горизонтального нет. А вообще, конечно, ориентироваться на ширину экрана не стоит, было бы лучше без сплиттера, но привязываться к ширине строки, там ведь она постоянная.

Наверное, адрес выделенной инструкции. Не помешало бы и копирование всей выделенной строки. Я, конечно, в программировании 0, но вроде бы есть у листбокса свойство мультиселекта, его нельзя включить, чтобы можно было копировать произвольно выделенный блок текста?



Ранг: 116.5 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 23 апреля 2010 16:18 · Поправил: Valemox
· Личное сообщение · #21

crypto, думаетцо самое то, было бы копирование всей выделенной строки и реализовать это в листбоксе можно даже с API - SendMessage(List1.hwnd, LB_GETCURSEL, 0, 0) определит какая итем по номеру выделена юзером в листе.



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

Создано: 23 апреля 2010 18:01
· Личное сообщение · #22

SVLab
Valemox
Посмотрю, как будет все это выглядеть, если включить мультиселект, не было бы подводных камней.




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

Создано: 24 апреля 2010 13:17
· Личное сообщение · #23

crypto пишет:
дефолтная ширина этого списка (если не найдена запись в ini-файле) равна ширине экрана/10. У меня на компе эта величина равна 128, что немножко не хватает, чтобы отобразить список без горизонтального скролл-бара.

ясно, у меня 124 так того что в ини можно добавить этот параметр вполне хватает и ничего мудрмть не надо

crypto пишет:
Может быть лучше добавить опцию меню Copy Adr в дерево классов (я просто смотрю на окошко ДеДе)? Или хотим в оконо Кода - тогда какой адрес копировать в буфер?

можно в попапменю оба пункта добавить, это не столь важно где, главное чтобы где-нибудь было

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 27 апреля 2010 12:32 · Поправил: VodoleY
· Личное сообщение · #24

crypto Начал катать прогу... все гуд, ток горячих кнопочек нефатат.. медленно поулучается тыкать мышко.. И на процедурах нейм позишин как то по жесткому работает... Вылазит пустая трока(почемубы не дефолтное значени) и если на дизазме нелья ниче делать(как вариант поставить комент) то зачем она в меню...

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





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

Создано: 27 апреля 2010 13:35
· Личное сообщение · #25

VodoleY
был разговор о том что бы IDR генерировала idc скрипт который все накладывал в IDA
а дальше уже что хоч то и делай
crypto
может в далеком будушем вообще сделать IDR как плагин для ревесигна в IDA ? ))




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 27 апреля 2010 13:38
· Личное сообщение · #26

reversecode пишет:
может в далеком будушем вообще сделать IDR как плагин для ревесигна в IDA ?

а смысл?

-----
Лучше быть одиноким, но свободным © $me




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 27 апреля 2010 13:38
· Личное сообщение · #27

reversecode
У IDA анализатор хуже чем тот, то сейчас в IDR. В далёком будущем у IDA будет более сильный открытый аналог.




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

Создано: 27 апреля 2010 14:30
· Личное сообщение · #28

BoRoV
что бы можно было лучше работать в IDA
смысл сечас в IDR виден только тем кто использует Ольку и кидает отмапленый map и уже знает где какие функции - я не прав?

а мне приходилось двояко Ctrl+C -> Ctrl+V из IDR в IDA что бы было лучше анализировать

int
правильно в IDA вообще паршивый анализатор делфи
поэтому прикрутить IDR как анализатор вместо флирта IDAшного - было бы суппер

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



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

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

reversecode ну не скажи...а обработчики событий? или ты еще и деде юзаеш? +я был приятно удивлен быстрого просмотра ресурска ас форм. так что работа стоящая. тем паче что деде проэкт остановелн.
З.Ы. + витала идея сделать его типа хэкс рея

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




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 27 апреля 2010 17:28
· Личное сообщение · #30

reversecode пишет:
правильно в IDA вообще паршивый анализатор делфи
поэтому прикрутить IDR как анализатор вместо флирта IDAшного - было бы суппер

бред, объясняю почему:
анализатор он общий для всех, его задача находить таблицы классов и обрабатывать switch-конструкции, иными словами разделять код и данные на сколько это возможно
FLIRT по описанию и определению это механизм распознавания в уже проанализированных функциях стандартных или не очень библиотечных функций. Нет никаких проблем сделать либу для FLIRT, которая будет совершенно делать то, что ей положено. А вот анализатор в IDA сам по себе кривой, хотя часто делает свою работу неплохо.

IDR всё-таки не дизассемблер, а декомпилятор. В будущем он будет (я надеюсь) давать код Delphi, который после небольшого допиливания можно будет даже компилировать. Лепить IDR к проприетарному продукту с дебильной системой продаж и совершенно иным списком решаемых задач есть глупость несусветная.



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

Создано: 14 мая 2010 20:45
· Личное сообщение · #31

В обчем прикрутил я наконец-то версию 2009, она еще сыровата, могу дать двум-трем человекам на тестирование. Потом выложу на сайте.


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 47 . 48 . >>
 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати