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 Актуальная версия программы: Внимание! Требует наличия вспомогательных файлов и баз знаний!!! Базы данных качать по Для работы необходимо скачать базу знаний + последнюю версию программы |
|
Создано: 09 октября 2014 16:16 · Личное сообщение · #2 У меня просто прелесть при открытии этих чудных pdf: >>Ссылки на pdf, doc удалил. В связи с этим сделал "новый" вариант pdf: ----- Don_t hate the cracker - hate the code. | Сообщение посчитали полезным: _FUCKER_ |
|
Создано: 09 октября 2014 16:40 · Личное сообщение · #3 _FUCKER_ Ну да, известная проблема с pdf-файлами. Наверное, не зря все хакеры мира их используют. GPcH Меня бы заинтересовало ваше мнение, если бы оно было конкретно: я не гадалка, не могу знать, что за сэмплы используются для тестирования. У меня большая библиотека экзешников, некоторые из них имеют размер более 10 М, практически на всех программа работает без зависаний. Мягко выражаясь, это критиканство. По-поводу усилий - это все-таки уроки декомпиляции с помощью IDR, на их написание и чтение уходит гораздо больше времени, чем на реальную работу по восстановлению исходного кода. Я лично считаю, что проект находится в рабочем состоянии и им можно пользоваться. Если есть отличное мнение - пользуйтесь другими продуктами, я свой никому не навязываю и не рекламирую. |
|
Создано: 09 октября 2014 16:48 · Личное сообщение · #4 Так и знал что задену за гордость. crypto пишет: Меня бы заинтересовало ваше мнение, если бы оно было конкретно Например http://rghost.ru/58430320 crypto пишет: Я лично считаю, что проект находится в рабочем состоянии и им можно пользоваться. Ok, как скажешь. Со стороны увы это выглядит немного иначе. Если нужны еще сэмлы - пиши. Как вариант попробуй декомпилировать Lite версию моего декомпилятора (на ней UPX - думаю снять не проблема). Защит от декомпиляции там нет. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 09 октября 2014 16:52 · Личное сообщение · #5 |
|
Создано: 09 октября 2014 17:01 · Личное сообщение · #6 crypto Давай начнем с этих двух сэмплов (Bat и Lite версия декомпилятора). Вот непакованная версия декомпилятора: http://rghost.ru/58430567 Глядишь и на остальных падать перестанет А насчет прототипа все же в чем проблема использовать упрощение, что все параметры либо String, либо если не детектятся как строка по эверистике то DWORD? Это решит сносный вывод листинга декомпилятора без ошибок. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 09 октября 2014 17:16 · Поправил: crypto · Личное сообщение · #7 GPcH Только что загрузил твой первый сэмпл: http://rghost.ru/58430320 - все нормально (отметил первые секции до секции .tls). Все прошло нормально. Рекомендации: взять свежую версию IDR (из урока 2), взять базы знаний XE3 (я их выкладывал здесь, наверное ты их пропустил): https://www.dropbox.com/s/j550gi0aiagy0yi/syskb2013.7z?dl=0 https://www.dropbox.com/s/v242bxgegj0jaeg/kb2013.7z?dl=0 Второй сэмпл действительно падает (не хватает памяти для выделения рабочих областей). Ситуацию спасет пересмотр стратегии хранения данных, что я уже давно хотел сделать. |
|
Создано: 09 октября 2014 18:19 · Личное сообщение · #8 |
|
Создано: 09 октября 2014 19:28 · Личное сообщение · #9 crypto пишет: Только что загрузил твой первый сэмпл: http://rghost.ru/58430320 - все нормально (отметил первые секции до секции .tls). Все прошло нормально. Тут бы какой нибудь автоматики что ли добавить Я пробовал с первыми секциями (как в туториале), пробовал выделять все - всегда падало. Как ты описал выше - действительно грузит. Версию естественно использую последнюю что ты выкладывал и базу тоже. Возможно с частью моих сэмплов проблема также в выделении не тех секций. И все же - ответь про типизацию в декомпиляторе (задавал вопрос дважды). ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 09 октября 2014 21:58 · Личное сообщение · #10 |
|
Создано: 10 октября 2014 08:38 · Личное сообщение · #11 GPcH Наверное типизацию можно сделать, как ты говоришь. Однако, сэкономив время на первом этапе (получение промежуточного исходного кода, в котором прототипы функций и процедур совсем не те, что нужно), мы наверстаем это время на этапе доведения кода до кондиции. На мой взгляд, поскольку типизацию все равно придется делать, то проще сделать ее на уровне IDR, поскольку изменения сразу будут отражены всюду в проекте. В остальном это дело вкуса и привычек каждого. TryAga1n С автоматизацией уже было. Однако, думается мне, нужно все-таки пересматривать концепцию внутренних данных. |
|
Создано: 10 октября 2014 11:36 · Личное сообщение · #12 crypto Да это понятно. Ценю твое желание сделать сразу хорошо. Но все равно считаю что на первом этапе нужно отказаться от типизации. На мой взгляд все равно одному человеку не потянуть декомпиляцю в полный исходник за разумные сроки. А если так - то может упростить вывод кода до String/Int и сделать сносный псевдо-паскаль, удобный для чтения? Думаю многие будут за. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! | Сообщение посчитали полезным: _FUCKER_ |
|
Создано: 10 октября 2014 11:49 · Личное сообщение · #13 |
|
Создано: 11 октября 2014 01:40 · Поправил: vden · Личное сообщение · #14 crypto пишет: как изменить представление внутренних данных, чтобы не было проблем с памятью Я не знаю структуру внутренних данных. Но думаю нужно сделать хранение на диске с кэшированием в оперативной памяти. Плюсы: + не требуется много памяти + загрузка происходит быстрее, если не нужно грузить сразу весь массив в память Минусы - дисковые операции гораздо медленнее чем операции в памяти, но кэширование и индексирование данных должно помочь - в зависимости от реализации, может потребоваться периодическая чистка базы данных (вроде Clean Garbage в IDA) Реализация может быть например B-Tree, т.е. словарь Ключ-Значение, или другая, более оптимальная для конкретной структуры данных. |
|
Создано: 11 октября 2014 22:32 · Поправил: ajax · Личное сообщение · #15 |
|
Создано: 12 октября 2014 01:38 · Поправил: vden · Личное сообщение · #16 |
|
Создано: 14 октября 2014 23:51 · Личное сообщение · #17 |
|
Создано: 15 октября 2014 08:10 · Личное сообщение · #18 |
|
Создано: 15 октября 2014 08:45 · Личное сообщение · #19 |
|
Создано: 15 октября 2014 10:15 · Поправил: crypto · Личное сообщение · #20 vaz21102 BSS - сегмент неинициализированных данных, в файле его нет, но при загрузке сегмент создается и заполняется 0. Выбирать следует сегменты, которые IDR будет анализировать (данные тоже, не только код). Идея выбора сегментов заключалась в том, чтобы исключить загрузку сегментов BSS, имеющих огромный размер. Реализация оказалась к сожалению кривой, поэтому пока рекомендую выделять все сегменты вплоть до tls. Поправлю ситуацию - выложу обновление. Чтобы подсластить пилюлю, сообщаю, что недостаток IDR, связанный с отсутствием прототипов для событий, исправлен (собственно, все было, однако был косяк с проверкой одного условия и прототипы просто не извлекались из базы). Теперь прототипы событий заполняются автоматически. | Сообщение посчитали полезным: Hellspawn, v00doo |
|
Создано: 15 октября 2014 18:39 · Личное сообщение · #21 |
|
Создано: 15 октября 2014 19:52 · Личное сообщение · #22 |
|
Создано: 15 октября 2014 20:20 · Личное сообщение · #23 |
|
Создано: 15 октября 2014 22:05 · Личное сообщение · #24 |
|
Создано: 17 октября 2014 16:00 · Поправил: olegpr · Личное сообщение · #25 DreamS пишет: Ошибки доступа к памяти "Access violation..." ... Присоединяюсь. AV и зависание, если не выделить все сегменты. И ещё: При сохранении Delphi project создает только dfm файлы, а потом виснет. Происходит не на всех программах, но стабильно. Версии от 29.08.2013 и от 14.02.2013 тоже виснут, но успевают создать и .pas Упёртые подопытные собраны в Delphi 7 |
|
Создано: 17 октября 2014 19:21 · Поправил: SReg · Личное сообщение · #26 olegpr пишет: Происходит не на всех программах... Упёртые подопытные собраны... crypto просил вылаживать проблемные файлы, а не пустословить и писать "Ничего не работает!". т.к. для фикса баги ее нужно повторить ему у себя | Сообщение посчитали полезным: _FUCKER_ |
|
Создано: 21 октября 2014 12:17 · Личное сообщение · #27 crypto Оставил в личке ссылку на файл. Добавлено спустя 3 часа 48 минут Переименование и указание типа переменных через "Name Position" в закладке CodeViewer не вызывает переименование их в закладке Names. Там изменяются только после сохранения проекта и открытия заново. Или не знаю куда нажать? И было бы замечательно иметь возможность переименовывать непосредственно в закладке Names. |
|
Создано: 24 октября 2014 21:17 · Личное сообщение · #28 |
|
Создано: 24 октября 2014 21:24 · Личное сообщение · #29 vaz21102 О КАК. Ну спасибо, что хоть не задали по этому поводу вопрос типа ладно, пусть вы не сказали про востановленный импорт.. но хотя бы молодцы что до дампа дошли. Типа в случае с протом с таким же успехом можно zip файл IDR анализировать ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 24 октября 2014 21:40 · Личное сообщение · #30 VodoleY Хватает даже просто дамп создать и протекторы отвалятся - IDR уже спокойно декомпилирует , нет необходимости мучатся с тем чтоб дамп.exe запускался . Про то что IDR с дампом защищенных программ работает мне подсказали участнитки из этой ветки..Может это я и самый последний узнал но решил поделится... |
|
Создано: 24 октября 2014 21:59 · Личное сообщение · #31 |
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 47 . 48 . >> |
eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
Эта тема закрыта. Ответы больше не принимаются. |