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

 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 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

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

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

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

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



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

Создано: 01 февраля 2016 16:01 · Поправил: polarator
· Личное сообщение · #2

Anyone knows what to use for Embarcadero Delphi XE4 and higher versions.
IDR rocks, but I get "Cannot find table of initialization and finalization procedures".
If anyone needs here is the file in question : --> Link <--
(exeinfo reads: Borland C++)




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

Создано: 01 февраля 2016 17:17 · Поправил: Isaev
· Личное сообщение · #3

GPcH пишет:
C++ Builder представляет собой практически тоже самое внутри EXE что и Delphi.

Данная софтинка же разбирает файлы на основе баз, которые в си билдере по-моему не используются. я этои имел ввиду под принципом работы.
А ещё раньше имел ввиду, что это не СИ реконструктор, а Delphi, потому странным показался вопрос, будет ли он разбирать си

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





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

Создано: 01 февраля 2016 19:43
· Личное сообщение · #4

Isaev пишет:
Данная софтинка же разбирает файлы на основе баз, которые в си билдере по-моему не используются.


База знаний - это набор имен функций и сигнатур по которым эти функции определяются. Что в Delphi что в билдере, что в QT, что где угодно еще - это единственный метод определить что указанный набор байт это та или иная функция фреймворка.
Если быть еще точнее - билдер (до новомодного lvm компилятора который появился в XE8 толи XE9) представлял собой полную копию Delphi на уровне скомпилированных файлов. Отличия лишь в точке входа и немного иной RTTI структуре (отличия минимальны). Потому отсутствие поддержки билдера тут чисто нежелание автора получать просьбы/багрепорты еще и по билдеру. И тут право автора.

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


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

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

Создано: 01 февраля 2016 21:10
· Личное сообщение · #5

GPcH пишет:
Если быть еще точнее - билдер (до новомодного lvm компилятора который появился в XE8 толи XE9) представлял собой полную копию Delphi на уровне скомпилированных файлов.

абсолютно верно.. местами.. если не знать ньансов.. екзешник билдера от делфи отличить достаточно тяжело.. ибо даже vcl общий

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




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

Создано: 01 февраля 2016 21:33 · Поправил: vden
· Личное сообщение · #6

polarator пишет:
Anyone knows what to use for Embarcadero Delphi XE4 and higher versions.
IDR rocks, but I get "Cannot find table of initialization and finalization procedures".

Your exeinfo is correct, it's C++ Builder and IDR is for Delphi only.
There is kind of trick to load BCC app. When IDR asks for OEP press Yes, OK. It will load forms and search signatures. Don't expect big analysis here.


VodoleY пишет:
екзешник билдера от делфи отличить достаточно тяжело

я давно не смотрел билдер,
кто-то знает, такая сигнатура может отсутствовать? я всегда детектил по ней

Code:
  1. .text:00402218 start
  2. .text:00402218                 jmp     short loc_40222A
  3. .text:00402218 ; ---------------------------------------------------------------------------
  4. .text:0040221A                 db  66h ; f
  5. .text:0040221B                 db  62h ; b
  6. .text:0040221C                 db  3Ah ; :
  7. .text:0040221D                 db  43h ; C
  8. .text:0040221E                 db  2Bh ; +
  9. .text:0040221F                 db  2Bh ; +
  10. .text:00402220                 db  48h ; H
  11. .text:00402221                 db  4Fh ; O
  12. .text:00402222                 db  4Fh ; O
  13. .text:00402223                 db  4Bh ; K
  14. .text:00402224                 db 90h
  15. .text:00402225                 db 0E9h
  16. .text:00402226                 dd offset ___CPPdebugHook




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

Создано: 01 февраля 2016 22:06
· Личное сообщение · #7

___CPPdebugHook используется мотором билдера (в С++)
всегда видел ее

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

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

Создано: 09 февраля 2016 09:35 · Поправил: crypto
· Личное сообщение · #8

Для XE4 все уже готово (базы знаний сгенерены), времени сейчас почти нет. Как освобожусь, выложу на оф.сайт все базы и саму программу.
ЗЫ
Я выложил проект на bitbucket для дальнейшего публичного развития.

| Сообщение посчитали полезным: sendersu, DimitarSerg, Hellspawn, Dart Raiden, =TS=, DICI BF, vden, soft, VodoleY, SReg

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

Создано: 10 февраля 2016 17:59
· Личное сообщение · #9

crypto пишет:
ЗЫ
Я выложил проект на bitbucket для дальнейшего публичного развития.


А ссылку можно на проект? Ничего не гуглится.



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

Создано: 12 февраля 2016 09:02
· Личное сообщение · #10

RCE
Если серьезные намерения улучшить программу, я пришлю приглашение. Если только посмотреть код, то, сорри, мест в бесплатном проекте всего 5, только 2 из них свободны.



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

Создано: 12 февраля 2016 15:33
· Личное сообщение · #11

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



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

Создано: 12 февраля 2016 20:40
· Личное сообщение · #12

RCE
Он и так открыт, только для ограниченного количества участников (5). Если больше, нужно денежку платить. Я пока жду каких-то сдвигов, если будет тенденция к росту числа участников, заведу платный аккаунт.



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

Создано: 12 февраля 2016 20:42
· Личное сообщение · #13

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




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

Создано: 13 февраля 2016 13:58 · Поправил: BoRoV
· Личное сообщение · #14

crypto пишет:
Он и так открыт, только для ограниченного количества участников (5).

Это как раз приватный репозиторий, т.е. проект не открыт. Сделай из него публичный репозиторий и не будет никаких проблем.

https://confluence.atlassian.com/bitbucket/plans-and-billing-224395568.html

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




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

Создано: 13 февраля 2016 22:09
· Личное сообщение · #15

https://_crypto@bitbucket.org/idr_team/idr.git

BoRoV
У меня нет галочки на private, как можно сделать публичным, я пока не выяснил.




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

Создано: 14 февраля 2016 12:27
· Личное сообщение · #16

crypto пишет:
У меня нет галочки на private, как можно сделать публичным, я пока не выяснил.

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

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




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

Создано: 15 февраля 2016 09:03
· Личное сообщение · #17

BoRoV
Репозиторий был уже создан. Ладно, мне посоветовали импортировать проект в GitHub.



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

Создано: 16 февраля 2016 15:55
· Личное сообщение · #18

https://github.com/crypto2011/IDR

| Сообщение посчитали полезным: Dart Raiden, v00doo, Jonny, BfoX, nick8606, VodoleY, tihiy_grom, Vintersorg, olegpr, RCE, vden, Hellspawn, Isaev, redlord, SReg, 4kusNick, MarcElBichon, binarymaster, gajemuxi, HandMill

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

Создано: 18 февраля 2016 17:08
· Личное сообщение · #19

А можно выложить инструменты с мануалом по генерации баз?



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

Создано: 19 февраля 2016 08:51
· Личное сообщение · #20

Для этого нужно разрешение Алексея Хмельнова. Билдер написан на основе его утилиты.




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

Создано: 19 февраля 2016 12:05
· Личное сообщение · #21

crypto пишет:
Для этого нужно разрешение Алексея Хмельнова. Билдер написан на основе его утилиты.

Так его же утилита тоже опенсорсная, в чем проблема?

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




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

Создано: 19 февраля 2016 19:38
· Личное сообщение · #22

BoRoV
Лично я считаю, что проинформировать все-равно нужно.



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

Создано: 21 марта 2016 13:59
· Личное сообщение · #23

Алексей Хмельнов дал свое согласие на размещение исходников билдера баз знаний.
https://github.com/crypto2011/KBBUILDER.git

| Сообщение посчитали полезным: v00doo, VodoleY, sendersu, SReg, Bronco, mak, 4kusNick, HandMill, gajemuxi, topmo3

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

Создано: 23 марта 2016 18:32
· Личное сообщение · #24

Ребят, я прошу простить своё невежество, но вкладка Source Code несёт какую-то ценность? У меня там всегда пусто А в хелпе про эту вкладку ничего не сказано...


Спасибо!



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

Создано: 28 июня 2016 21:52
· Личное сообщение · #25

То, что выложено на https://github.com/crypto2011/KBBUILDER.git - ето не тот самый инструмент, с помощю которого делаются BIN файлы для баз знаний. Там только исходники инструмента DCU32INT - которые можно свободно скачать на страничке Алексея, там уже версия 1.20 (на GitHub-е версия 1.18).
У меня к автору вопрос - в файле Main.cpp в функцию TFMain_11011981::IsValidCode есть строчки
Code:
  1.         if (!memcmp(DisInfo.Mnem, "arpl", 4) ||
  2.             !memcmp(DisInfo.Mnem, "out", 3)  ||
  3.             !memcmp(DisInfo.Mnem, "in", 2))
  4.         {
  5.             return -1;
  6.         }

Если в DisInfo.Mnem сидит, к примеру инструкция INC - то результат будет -1. Ето так задумано, или ето баг ?



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

Создано: 30 июня 2016 09:21
· Личное сообщение · #26

В файле Infos.cpp в функцию InfoProcInfo::AddArg(BYTE Tag, int Ofs, int Size, String Name, String TypeDef) нигде не инициализируется argInfo->Register. Ето так задумано, или ето баг ?



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

Создано: 30 июня 2016 10:54 · Поправил: vden
· Личное сообщение · #27

tmcdos пишет:
к примеру инструкция INC - то результат будет -1

Это скорее всего баг. Судя по всему отсеиваются некоторые инструкции. Там, наверно, больше подойдет strcmp.
Запостьте issue на github.



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

Создано: 09 июля 2016 15:32 · Поправил: tmcdos
· Личное сообщение · #28

Обновил тулза VCL explorer - https://github.com/tmcdos/VCL-explorer
Картинка екрана

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

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

Создано: 10 июля 2016 18:16
· Личное сообщение · #29

tmcdos
То, что выложено на https://github.com/crypto2011/KBBUILDER.git - ето не тот самый инструмент, с помощю которого делаются BIN файлы для баз знаний.


Это не есть правда: достаточно поискать crypto в исходниках и будут видны различия. Даже в печати по /? увидите мое добавление. Я просто добавил в исходники Хмельнова свой код, остальное - конечно же его! О чем я, кстати, говорил выше.
ЗЫ
Смотреть надо внимательно!



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

Создано: 10 июля 2016 18:57
· Личное сообщение · #30

Извиняюсь, действительно не досмотрел. Прошу прощения.




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 06 августа 2016 10:26
· Личное сообщение · #31

Вроде не было ссылки в теме, как я понимаю tmcdos перенес проект с BCB на дельфу )
https://github.com/tmcdos/IDR

-----
ds


| Сообщение посчитали полезным: vden, gajemuxi, Anatolio
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 47 . 48 . >>
 eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати