eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 47 . 48 . >> |
Посл.ответ | Сообщение |
|
Создано: 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. Официальный сайт: [Note] Недоступен после трагической Гитхаб Скачать: Dropbox автора https://www.dropbox.com/sh/9ran313nidqtagb/AADl_m_9GVYSiXUviZtDQWQHa?dl=0 Актуальная версия программы: Внимание! Требует наличия вспомогательных файлов и баз знаний!!! Базы данных качать по Для работы необходимо скачать базу знаний + последнюю версию программы |
|
Создано: 25 февраля 2014 19:24 · Личное сообщение · #2 |
|
Создано: 25 февраля 2014 19:41 · Личное сообщение · #3 |
|
Создано: 25 февраля 2014 20:59 · Личное сообщение · #4 unknownproject пишет: Кстати, crypto убрал вовсе пароль с архива kb2010.Это для тех, кто не в курсе или не пользовался ранее его софтом и не нуждался в данной базе знаний, так что не сочтите за боян. 2010 сам по себе жуткий боян. Со времен 2010 вышли: XE - XE5 целых пять версий. А разработчики Delphi делятся на два типа - те которые юзают Delphi 7 и те которые юзают самое последнее из купленного (как я). Потому имхо всякие 2007-2010 дельфи днем с огнем не сыскать на реальном софте. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 26 февраля 2014 09:23 · Личное сообщение · #5 TryAga1n Если прототип выглядит как TSecurity.Create(?.?), значит он действительно не задан, по крайней мере, не задан тип аргументов, имена давать не обязательно, просто исходный код читаться будет лучше. Как менять прототип. Входим в нужный объект (чтобы он появился на экране ассемблерного кода) или выбираем его в списке элементов юнита (тот что снизу), правой клавишей вызываем меню и выбираем "Edit function". В появившемся диалоге нажимаем кнопку Edit и редактируем прототип. Если это элемент класса, лучше сразу чекнуть соответствующий бокс и выбрать в комбо-боксе нужный класс (при этом скрытно от пользователя первый аргумент поименуется Self, а его тип будет выбранным классом), потом отредактировать сам прототип, добавляя нужные или удаляя ненужные аргументы (промахи первых этапов анализа). Можно использовать ключевое слово var (даже нужно, чтобы код потом декомпилировался корректно, тут уже нужно чувствовать сам язык Дельфи), слово const не используется. Можно вводить тип массив или динамический массив. Прототип нужно ввести корректно, иначе могут быть глюки, поскольку правильность его написания не проверяется. Если редактируемый объект функция или процедура, нужно проверить соответствующий флажок (список слева) и изменить его, если это требуется. Объект может быть еще stdcall или embedded, тоже нужно выставить флажок. С embedded объектами нужно быть аккуратным, поскольку их в некоторых случаях трудно идентифицировать, IDR проверяет некоторые эвристики, которых в большинстве случаев достаточно, но могут быть промахи). Кстати, если в декомпилируемом объекте встречаются embedded объекты, IDR это учитывает и в декомпилированном тексте появятся декомпилированные embedded объекты, однако этот текст не отвечает синтаксису языка Дельфи, его нужно редактировать. Вообще, получившийся исходный код (пока не написан хороший постпроцессор) всегда нужно будет редактировать. Однако чаще всего это не так сложно, поскольку все логические конструкции будут разобраны, а пользователю нужно будет немного покорпеть над именами переменных. Итак, после завершения редактирования нажимаем кнопку Ok и смотрим, что получилось. В приведенном примере вызова TSecurity.Create видим, что используется 4 аргумента: eax с типом TSecurity, edx (dl), который для конструкторов имеет значение False или True, ecx (cx) скорее всего типа WORD и стековый аргумент, который тоже скорее всего имеет тип Cardinal или Integer (или WORD), точнее скажет анализ самого конструктора. Имена переменным пока задавать нельзя, это стоит в планах развития, но на него нет времени. | Сообщение посчитали полезным: TryAga1n |
|
Создано: 26 февраля 2014 09:26 · Поправил: crypto · Личное сообщение · #6 |
|
Создано: 26 февраля 2014 09:30 · Личное сообщение · #7 |
|
Создано: 26 февраля 2014 09:49 · Личное сообщение · #8 crypto пишет: Hotkey = Esc or Alt+F4. Hint: press F11 on opened Form and you will see list of Form objects. After mouse right click pop-up menu appears for searching. Тоже сталкивался с такой проблемой. Хоткеи не работают, естественно первым делом тестил ESC и Alt+F4, видимо ты это исправил в последующих версиях, которые еще не выложены. crypto пишет: Если найдется энтузиаст, умеющий (и хочущий ) написать help для последней версии IDR Кто сможет написать хелп лучше, чем сам автор? |
|
Создано: 26 февраля 2014 10:25 · Личное сообщение · #9 |
|
Создано: 26 февраля 2014 16:42 · Личное сообщение · #10 |
|
Создано: 27 февраля 2014 09:02 · Личное сообщение · #11 |
|
Создано: 27 мая 2014 22:24 · Поправил: gazlan · Личное сообщение · #12 To crypto Мелкий, но противный BUG в генераторе IDC-скриптов: не экранируются кавычки внутри строки. Incorrect: Code:
Correct: Code:
|
|
Создано: 02 июня 2014 09:00 · Личное сообщение · #13 |
|
Создано: 02 июня 2014 09:13 · Поправил: reversecode · Личное сообщение · #14 |
|
Создано: 02 июня 2014 11:57 · Поправил: crypto · Личное сообщение · #15 |
|
Создано: 02 июня 2014 12:33 · Личное сообщение · #16 |
|
Создано: 02 июня 2014 14:33 · Личное сообщение · #17 |
|
Создано: 02 июня 2014 15:15 · Поправил: r_e · Личное сообщение · #18 имхо, как-то так (если в лоб) Code:
----- старый пень |
|
Создано: 02 июня 2014 16:37 · Поправил: reversecode · Личное сообщение · #19 |
|
Создано: 02 июня 2014 17:31 · Личное сообщение · #20 reversecode Если ты вдруг не заметил, то там код и есть банальный for с созданием новой строки. Code:
----- старый пень |
|
Создано: 02 июня 2014 18:39 · Личное сообщение · #21 я знаю контейнеры но когда человек сказал что для него сложно это реализовывать значит нужно подсунуть максимально простую реализацию push_back явно в простую не входит, учитывая что там скорее всего билдер и stl нет String намекает на это поэтому c_str()[i] для перебора и res += chr; в результирующую строку самое простое |
|
Создано: 02 июня 2014 19:05 · Поправил: F_a_u_s_t · Личное сообщение · #22 reversecode пишет: push_back явно в простую не входит, учитывая что там скорее всего билдер и stl нет String намекает на это Написано на билдере, но он держит std 0x ( современные версии естественно ). А точнее там реализация от dinkumware - http://ru.wikipedia.org/wiki/Dinkumware Добавил: Извиняюсь, не внимательно просмотрел пост Крипто, вы правы, там не stl строка, а стандартные строки реализованы через TObject, реализация в исходниках на делфи. String паскаль строки string stl строки. |
|
Создано: 02 июня 2014 19:19 · Личное сообщение · #23 |
|
Создано: 03 июня 2014 09:00 · Личное сообщение · #24 |
|
Создано: 04 июня 2014 20:13 · Личное сообщение · #25 |
|
Создано: 04 июня 2014 21:08 · Личное сообщение · #26 |
|
Создано: 05 июня 2014 00:19 · Поправил: rmn · Личное сообщение · #27 с экранируются спецсимволы в строке text. Кавычки же в idc инструкции оставляешь без изменения: Code:
| Сообщение посчитали полезным: crypto |
|
Создано: 17 сентября 2014 13:24 · Личное сообщение · #28 kb2011.bin and kb2012.bin are temporaly free. https://www.dropbox.com/s/j2ajf3q0ubenwjz/kb2011.7z?dl=0 https://www.dropbox.com/s/q5jxi1rppd85ihx/kb2012.7z?dl=0 | Сообщение посчитали полезным: CyberGod, Ultras, colorblind, r_e, dimka_new, m0bscene, AKAB, Maximus, 4kusNick, v00doo, mak, zNob, sendersu, Horna, gazlan, AliS S0fT, =TS=, Dart Raiden, MarcElBichon, Dazz |
|
Создано: 17 сентября 2014 13:36 · Личное сообщение · #29 |
|
Создано: 25 сентября 2014 17:02 · Личное сообщение · #30 |
|
Создано: 25 сентября 2014 23:39 · Личное сообщение · #31 crypto пишет: Для тестирования нужен исполняемый файл, созданный в данной версии. DXE3, консоль, дебаг + релиз прицепил http://prntscr.com/4q8p1l http://prntscr.com/4q9esf http://prntscr.com/4q9f26 пока поживет пару дней XE3 если надо еще будет 13ac_25.09.2014_EXELAB.rU.tgz - xe3_test.rar | Сообщение посчитали полезным: crypto |
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 47 . 48 . >> |
eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
Эта тема закрыта. Ответы больше не принимаются. |