Сейчас на форуме: -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

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

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

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

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



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

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

Germetik
1) Все собираюсь вплотную заняться интерактивностью, да все никак не приступлю. Вот выложу все под версию 2010, тогда видимо и начну...
2) Ну, если есть дефайн, то андефайн уж точно будет, только отменить весь неправильно определенный код (с учетом вызово и переходов) будет невозможно, поэтому придется как у Ильфака делать - отменять вручную весь связанный код (при необходимости).



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 июля 2010 20:48 · Поправил: Germetik
· Личное сообщение · #3

Большое спасибо за проявленное внимание. С нетерпением буду ждать новых версий (и сразу же тестировать, благо есть на чем). Респект и уважуха, crypto, удачи!
P.S. Сегодня же прошла от меня WMZ-благодарность, надеюсь, что и все остальные пацаны с форума не будут забывать об этом (насчет материальной поддержки своих пацанов, "делающих доброе дело для нашей великой страны").




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 19 июля 2010 01:11
· Личное сообщение · #4

Germetik пишет:
делающих доброе дело для нашей великой страны


О какой стране речь? Крипто как я понял из Израиля, тут часть из России часть из Украины.
Скорее речь не о стране, а о вкладе в реверсинг. Тут соглашусь - любое действо должно поощряться,
но я по прежнему считаю что метод поощрений должен быть слегка другой - платить должны не те
кому нравится проект, а те кому его использование приносит доход. Только вот эти обычно не платят.

К примеру по слухам одна довольно известная в России антивирусная компания до сих пор использует пиратскую копию моего декомпилятора.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




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

Создано: 19 июля 2010 09:21
· Личное сообщение · #5

GPcH +1. Лично я благодари crypto за сэкономленные пару дней при работе над защитой.
ЗЫ
crypto А в случае незакрываемых формочек не проще добавить кнопочку на панельку КлозеФорм?

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




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 июля 2010 09:35 · Поправил: Germetik
· Личное сообщение · #6

GPcH пишет:
О какой стране речь?

Вообще-то я имел в ввиду СССР, где большинство из нас родилось, и, кроме того, я специально написал это в кавычках, т. к. фраза взята из какой-то песни "Красной плесени" (точного названия не помню - давно это было). Но, имею ввиду, конечно же, вклад в общее дело реверсинга, как правилно заметил GPcH, с чем полностью согласен.
P.S. Сорри перед модерами, за то, что пришлось отойти от темы.

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

Согласен, уверен, что сделаешь как надо (в крайняк - подсоветуем что-нибудь). А как насчет "розовых" юнитов из ехе, что я в ЛС ссылку кидал? Они почти все состоят из различных "неправильных" строк. Именно их хотелось бы дефайнить как текст. Надеюсь, что и с этим "безобразием" ты справишься (со временем, конечно же, т. к. работы у тебя хватает, наверное). Удачи!



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

Создано: 19 июля 2010 18:42
· Личное сообщение · #7

GPcH
Нет, я из СССР. Была такая великая страна. А в Израиль бы не отказался переехать, хотя там жарко, меня в Москве уже жара достала
Согласен, что бонус было бы неплохо получать за полученную прибыль (авторский гонорар).
VodoleY
А на какую панельку? Формы модальные, поэтому на панельку самой программы не получится. Добавлять в popup-menu какого-нибудь контрола? Должен быть один рецепт и чем рецепт нажатия комбинации клавишей хуже? По-крайней мере он системный.
Germetik
Значит, "розовых" юнитов у тебя не так уж и много. Но в них помимо текстовых строк нераспознанными будут, например, аргументы функции @DispInvoke, с которой я уже начал бороться. Могут быть самые разные варианты различных типов. Тут еще много думать нужно.
Спасибо за пожертвование, развивать программу станет приятнее.




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 20 июля 2010 15:13
· Личное сообщение · #8

crypto пишет:
А в Израиль бы не отказался переехать, хотя там жарко, меня в Москве уже жара достала


Если не секрет, где в москве шекели наличишь? ) Короче ясно - в предыдущих постах шекели чисто прикол.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




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

Создано: 20 июля 2010 17:55 · Поправил: VodoleY
· Личное сообщение · #9

crypto там в ЛС список. А для паблика..... а кто заставляет тебя делать модальные формы? я понимаю что криейт по дереву обектов это прикольно. и даже вроде клацаеца. ток интересней было бы не модальные ока, хош делай их олвейонтоп, а еще допавить на обьекте какойнить хинг клацабелыный со списком событий обьекта и линками на их обработчики (молчу что можно было бы вмантировать и обрабатывать событие он паинт 80 процентов компонетов можно было бы отрисовать)
З.Ы. Не вкоей мере не воспринимать это как- Все бросить и начать делать. Идея в воздух может понравица
З.Ы.Ы. вариант захватывать он паинт компонена в виде маразма идущий в разрез с идей проги ниче не запускать. НО то чем парит деде. нельзя прыгнуть на обработку события. куча ерроров. добавить бы списо обработчико гдето справа юзабельный, или тем же попап минюхой. в идеалии и то и другое для общей картины

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




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

Создано: 20 июля 2010 21:46
· Личное сообщение · #10

VodoleY
С трудом продрался через дебри твоего сленга... и ни фига не понял. Хинты же есть со списками событий и линками на обработчики, напиши ясным четким русским языком, что ты предлагаешь.
GPcH
Канечна, шекели - прикол, но тема актуальная.



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

Создано: 20 июля 2010 22:19
· Личное сообщение · #11

crypto ты в Делфи хоть чето четким русским видел?

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




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 20 июля 2010 23:52
· Личное сообщение · #12

повтыкал минутку на скриншот в первом посте и подумалось - почему бы не заменить адрес на FunctionName+Offset для кодовых xref-ов в панели XRefs?..



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

Создано: 21 июля 2010 06:23
· Личное сообщение · #13

VodoleY
Дык я же говорю четким русским языком, а не на Дельфи
rmn
Привет.
Думал так сделать: не нравится, что панелька раздуется по ширине.



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

Создано: 21 июля 2010 09:45
· Личное сообщение · #14

crypto пишет:
Думал так сделать: не нравится, что панелька раздуется по ширине.


попробуйте сделать и так и так - через опции выбор,
а пользователь пусть решает как ему удобнее (ИМХО)



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 июля 2010 18:59 · Поправил: Germetik
· Личное сообщение · #15

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



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

Создано: 21 июля 2010 19:14
· Личное сообщение · #16

Germetik
Сейчас это можно решить след. образом:
Если у формы есть хинт, то в нем указан класс формы, на него в дереве классов можно перейти через попап-меню, а там уже указан адрес, по которому находится таблица виртуальных методов
В грядущем билде Caption формы будет начинаться с [#XXX] - номера юнита (в порядке инициализации). Наверное, в дальнейшем я сделаю переход сразу на юнит, только пока не придумал, как это лучше сделать (есть, например, идея сделать это на уровне попап-меню в списке форм).
rmn
Кстати, забыл сказать (если ты это не прочитал в хелпе), что ссылки из одной процедуры окрашиваются в один цвет (серый и белый), это по-видимому эквивалентно заданию в виде FunctionName+Offset (за исключением имени функции)
VodoleY
Я посмотрел присланные формы. В них стандартные свойства Top, Bottom, Left, Right имеют тип Extended, вот на этом поток и валится. Как это исправить пока не знаю.
sendersu
С наследуемыми формами еще одна заковыка выскочила, я тебе в личку отпишу.



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 21 июля 2010 22:23
· Личное сообщение · #17

crypto пишет:
Кстати, забыл сказать (если ты это не прочитал в хелпе), что ссылки из одной процедуры окрашиваются в один цвет (серый и белый), это по-видимому эквивалентно заданию в виде FunctionName+Offset (за исключением имени функции)


Переходы внутрь другой функции хоть и встречаются в rtl/vcl, но достаточно редко и не представляют особого интереса. Важнее знать, к примеру, для функции, имеющей >100 xref-ов, когда на нее ссылается библиотечная функция или юзерская. Если отображать адреса, нам нужно будет пройти по каждому xref-у, чтобы узнать кто ссылается на текущую функцию. Если использовать имена, все намного проще.



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 21 июля 2010 22:24
· Личное сообщение · #18

crypto пишет:
Думал так сделать: не нравится, что панелька раздуется по ширине.


поставь сплиттер туда и horizontal scrollbar списку...



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

Создано: 22 июля 2010 06:11
· Личное сообщение · #19

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



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 июля 2010 19:43 · Поправил: Germetik
· Личное сообщение · #20

crypto пишет:
Сейчас это можно решить след. образом:Если у формы есть хинт, то в нем указан класс формы, на него в дереве классов можно перейти через попап-меню, а там уже указан адрес, по которому находится таблица виртуальных методовВ грядущем билде Caption формы будет начинаться с [#XXX] - номера юнита (в порядке инициализации). Наверное, в дальнейшем я сделаю переход сразу на юнит, только пока не придумал, как это лучше сделать (есть, например, идея сделать это на уровне попап-меню в списке форм).

Спасибо за разъяснение. Пока буду делать, как ты сказал, но, согласись, что через попап меню это было бы проще, и интуитивно понятнее, так, что жду, когда это появится в попапе (уверен, что это не главное в проекте, так что подождем-с). Очень жду дефайнов в Data, Text и т. д., а также "раздефайнивания" обратно. Торопить не буду, готов ждать. Надеюсь, что и до "дефайн-раздефайнов", ты все-таки доберешься. Удачи в твоем, я уверен, нелегком труде.
P.S. Прости за то, что уже третий раз я зациклился на этом. Делай свое правое дело, как знаешь, а я подожду новых релизов IDR (когда-то и мои просьбы, надеюсь, воплотятся в жизнь). Еще раз удачи!



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 июля 2010 20:06 · Поправил: Germetik
· Личное сообщение · #21

GPcH пишет:
метод поощрений должен быть слегка другой - платить должны не текому нравится проект, а те кому его использование приносит доход. Только вот эти обычно не платят.

Не согласен - те, кому нравится проект и есть те самые, кому он приносит доход (или будет приносить, когда он дойдет до эндшпиля, или ранее). Считаю, что это просто вопрос природной (или нашей советской) жадности. От одного лишения виртуального бакса еще никто не обеднел (и никогда не обеднеет), а вот для crypto - скажу пословицей - "с миру по нитке - голому рубаха" (хоть и не считаю crypto голым - раз есть мозги да трудолюбие, то это уже состояние, как ни крути).

P.S. Обращение к каждому участнику форума: - А ты помог ли автору материально (и добровольно)?

P.P.S. Когда проект будет готов - то эта ветка форума, со временем, закроется. А там, хоть делай в Ебауте Donate, хоть не делай - хрен от вас чего дождешься. Так давайте хоть не дадим проекту заглохнуть на полпути из-за нашей жадности. Ведь если не будет дохода, то IDR рано или поздно станет по-буржуйски шароварным (вины crypo в этом не будет ни какой, мы сами подтолкнем его на этот путь). Скажу так, как мы в детстве говорили - кто зажал свои копейки - тот лох!



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

Создано: 22 июля 2010 20:16 · Поправил: crypto
· Личное сообщение · #22

Germetik
Давай будем общаться по теме, а то добрые модераторы нас штрафанут
По-поводу интерактивности: это пока больное место, как ни крути, многих вещей не хватает, поэтому воленс-неволенс мне придется этим вплотную заняться после билда под версию 2010.




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 22 июля 2010 21:04
· Личное сообщение · #23

Germetik пишет:
Не согласен - те, кому нравится проект и есть те самые, кому он приносит доход


Да не сочтет крипто за флуд, но это не так. Скажу за себя. Мне нравится идея проекта. Но я его не использую. Мне не жалко дать 1-2 бакса. Только вот я их считаю насмешкой, потому что для Москвы 60 рублей не хватит даже чтобы сникерс с чаем купить. Именно поэтому я считаю что тут либо делать коммерческий проект и зарабатывать либо писать just for fun.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




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

Создано: 22 июля 2010 22:43
· Личное сообщение · #24

[offtop]
GPcH пишет:
для Москвы 60 рублей не хватит даже чтобы сникерс с чаем купить

Надо мыслить шире. Вы бакс, я бакс, кто-то еще бакс... Много конечно не будет, но на пиво наберется.
Я думаю все согласятся что пиво крипто заслужил?
[/offtop]



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

Создано: 22 июля 2010 22:54
· Личное сообщение · #25

Какое там пиво! Минимум пивоварню за такой-то проект! Даешь халявное пиво честным кодерам! ПС Модеры, сорри за оффтоп.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 23 июля 2010 03:01
· Личное сообщение · #26

GPcH пишет:
где в москве шекели наличишь

шекели...шекели...обналичиваю шекели....
//приезжайте на Ждановскую, обсудим...))))

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





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

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

Давайте всё же уже ближе к теме.




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

Создано: 04 августа 2010 13:59
· Личное сообщение · #28

у меня не воркает ручная загрузка 2009, все файлы есть, все новые

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




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

Создано: 04 августа 2010 18:30
· Личное сообщение · #29

BoRoV
Привет
Проверю
Жарко




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

Создано: 16 августа 2010 13:41
· Личное сообщение · #30

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

з.ы. мой предыдущий багрепорт, то был твой баг, или ошибка с моеё стороны ?

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




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

Создано: 17 августа 2010 13:41
· Личное сообщение · #31

crypto а ты чем дизасмиш? не с ДеДе случаем дернутым дизасмом? ибо мне ща тоже надо

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



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