eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 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 октября 2010 20:59 · Личное сообщение · #2 Как бы обновление на сайте. База знаний для 2010 закрыта паролем. Если очень нужно, обращайтесь на crypto2011@gmail.com, жертвуйте 15 зеленых или 500 деревянных - и пароль у вас в руках. Для некоторых форумчан могут быть сделаны исключения. ЗЫ Если нужно растолковать новые фичи, скажите, дам развернутые пояснения. |
|
Создано: 09 октября 2010 22:27 · Личное сообщение · #3 |
|
Создано: 09 октября 2010 23:11 · Поправил: GPcH · Личное сообщение · #4 Зачем сделана возможность ручного выбора версии, если сколько не пытайся выбрать 2009 версию для 2010 файла - все равно не открывает (хотя на открытие файла версия DB вообще никак не должна влиять). Мой декомпиль если не определяет версию - все открывает в режиме Delphi 7 и пока никто не заметил разницу PS: солюшен то я нашел (всмысле как загрузить 2010 без базы), только вот тут его писать не буду для хитрецов и халявщиков. Кому надо - не пожалейте 15 баксов, возможно новые версии будут выходить чаще. Сам увы этот декомпилятор не юзаю (ибо для себя есть все свое). ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 10 октября 2010 06:12 · Поправил: crypto · Личное сообщение · #5 |
|
Создано: 10 октября 2010 07:07 · Поправил: Error13Tracer · Личное сообщение · #6 GPcH, может анализатор crypto знает сам какая версия делфи используется crypto, если не сложно, сделайте выбор пользователя приоритетнее определителю версий, а лучше ещё и галку в настройках, так сказать, чтобы юзер выбирал стоит верить ему или программе, машины тоже не совершенны и огромное спасибо за такой продукт |
|
Создано: 10 октября 2010 09:21 · Личное сообщение · #7 Error13Tracer GPcH использует, насколько я понимаю, идеи DeDe, а тот, как известно на определенном этапе перестал развивать свою программу. В следующий билд планруется сделать еще одну фичу: возможность строить свои базы знаний (например, по списку юнитов, используемых в программе, или расширенные за счет других известных библиотек базы) и выбирать их вместо стандартных. |
|
Создано: 10 октября 2010 09:24 · Личное сообщение · #8 |
|
Создано: 10 октября 2010 09:40 · Поправил: crypto · Личное сообщение · #9 Да простят меня модераторы: здесь требуется пространный ответ, поэтому "правкой" я не воспользовался. Isaev Относительно упомянутой фичи. Замечал наверное, что после сканирования в списках элементов стандартных юнитов есть нераспознанные , которые называются просто sub_XXXXXXXX? Не распознаны они могут быть по разным причинам, но глобальная причина одна - отсутствие точного совпадения распознаваемого куска кода и куска кода из базы знаний. IDR проверяет совпадение с точностью до фиксапов и если хотя бы в одном байте произошло рассогласование, проверка прекращается и происходит переход к следующей процедуре базы знаний. Например, может не совпасть смещение поля класса, потому что юнит и исследуемая программа были скомпилированы при разных установках относительно выравнивания. Еще причинами несовпадения могут быть оптимизация и несовпадение версий компилятора. В любом случае появляются такие пропуски и если пропущенная процедура представляет интерес (например, вызывается в исследуемом месте), то исследователю ничего другого не остается, как лезть в дизассемблированный юнит и находить в нем пропущенную процедуру или пытаться понять, что данная процедура делает. Я тоже так поступал, а потом придумал эту фичу, существенно упрощающую процесс (иногда попадание 100%, иногда приходится прокрутить вверх или вниз, чтобы найти подходящего кандидата). Ты выбираешь двойным щелчком пропущенную процедуру, выбираешь опцию "Fuzzy scan in KB" и в полученном окне видишь слева код процедуры, а в правом - кандидата из базы знаний. Число между кнопками Prev и Next - это расстояние от данного положения в базе знаний (как бы курсор в базе данных) и служит для ориентации, чтобы ты всегда мог вернуться в исходное положение и продолжить поиск в другом направлении. Теперь ты сравниваешь содержимое обоих окон, при этом нужно прежде всего опираться на текстовые поля. Содержимое может существенно различаться, и тем не менее при этом может быть полное соответствие (например, в случае оптимизации). Если ты считаешь, что соответствие найдено, жми кнопку Use, при этом будет заимствован прототип и еще некоторые свойства найденной процедуры. Я применил термин Fuzzy, потому что процесс на самом деле носит вероятностный ("нечеткий") характер, но к "нечеткой логике" данная фича отношения не имеет. Azur1d Ну да, я именно это и имел в виду |
|
Создано: 10 октября 2010 13:44 · Личное сообщение · #10 |
|
Создано: 10 октября 2010 14:33 · Личное сообщение · #11 |
|
Создано: 10 октября 2010 19:39 · Поправил: crypto · Личное сообщение · #12 To all Может кто-нибудь сказать на основе имеющегося опыта работы с программами на Дельфи, какие Дельфийские библиотеки особенно популярны у программистов. Вот я лично знаю про RxLib (кажись так), а есть ли другие? И вторая половина вопроса: где взять соответствующие файлы dcu. Может вопросы не по адресу и мне следует спрашивать подобное где-нибудь в Королевстве Дельфи и прочая? |
|
Создано: 10 октября 2010 19:49 · Личное сообщение · #13 |
|
Создано: 10 октября 2010 20:00 · Поправил: crypto · Личное сообщение · #14 Archer Это юниты, начинающиеся на id (входят в Дельфи по умолчанию)? У меня в базы включены все юниты, которые входят в Дельфи (берутся из соответствующей директории). А вот к примеру я часто вижу юниты, начинающиеся на tx или cx, в Инете ничего не нашел. Может быть про них что-то известно. Ну не может быть совпадений названий более чем в пяти программах! Но ты прав - придется походить, поспрашивать. |
|
Создано: 10 октября 2010 20:24 · Личное сообщение · #15 |
|
Создано: 10 октября 2010 21:29 · Поправил: 4kusNick · Личное сообщение · #16 Порой встречаются проги с использованием KOL\MCK (http://kolmck.net/). На счет IDR - стоит ли в будущем ожидать многопоточности при анализе? И иногда нехватает вывода строк (ANSI и UNICODE) в дизасме при первичном осмотре кода. Ещё некоторые строки не попадают во вкладку Strings (при осмотре этих строк, в Explorer'е видно, что это обычные PAnsiChar). О, и ещё - когда закрываешь IDR - уже не сможешь отменить его закрытие - не важно - согласишься сохранять проект или нет. Это не так важно, но для юзабилити не будет лишней кнопка Cancel в том MessageBox'е. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 10 октября 2010 22:39 · Поправил: yanus0 · Личное сообщение · #17 есть такая тема руБорде [url=http://forum.ru-board.com/topic.cgi?forum=35&topic=47325&start=72 0#lt ]->Link<-[/url] по выкладке коммерческих компонентов для делфи там посмотреть и спросить по названиям компонентов, если надо будет доступ к обменнику с компонентами в пм. + jvcl.delphi-jedi.org/ www.devexpress.com/ |
|
Создано: 10 октября 2010 22:53 · Личное сообщение · #18 crypto пишет: Дык в 2010 куча изменений по сравнению с 2009 Я понимаю, но почему если я выбираю режим Delphi 2009, то он не применяется к EXE скомпилированном в 2010? Ведь если можно выбрать, то почему выбор пользователя не приоритетнее внутреннего? crypto пишет: То есть тебе пароль не нужен Чессно - неа. Если только для коллекции. Иначе бы наравне со всеми отбашлял 15 баксов. Вообще из реверсерского софта юзаю только HIEW, Olly и свои наработки. crypto пишет: GPcH использует, насколько я понимаю, идеи DeDe Из DeDe у меня ни строчки. Честное слово. Формат баз полностью свой. Просто у меня в базах хранятся ТОЛЬКО сигнатуры функций и контрольная сумма для их определения. Причем контрольная сумма - довольно интересная собственная идея, которую я нигде не встречал, позволяющая контрольной суммой в 4 байта полностью описать всю функцию с учетом релоков. Ничего лишнего я в базах не храню ибо при декомпиляции практически никому не нужны типы/структуры и так далее. ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 11 октября 2010 00:03 · Личное сообщение · #19 |
|
Создано: 11 октября 2010 00:53 · Личное сообщение · #20 crypto crypto пишет: А вот к примеру я часто вижу юниты, начинающиеся на tx или cx, в Инете ничего не нашел. cx - видимо ето из DevExpress - очень популярных компонентах www.devexpress.com/Products/VCL/ tx - трудно сказать, а можно сюда примеры названий? в чем вообще задумка - начать делать юзерские KB? если да - то ето может иметь далекие последствия! (аналог - *.sig/IDA) |
|
Создано: 11 октября 2010 01:28 · Личное сообщение · #21 |
|
Создано: 11 октября 2010 02:01 · Личное сообщение · #22 |
|
Создано: 11 октября 2010 07:59 · Личное сообщение · #23 |
|
Создано: 11 октября 2010 08:24 · Личное сообщение · #24 |
|
Создано: 11 октября 2010 08:49 · Личное сообщение · #25 |
|
Создано: 11 октября 2010 15:11 · Личное сообщение · #26 crypto пишет: какие Дельфийские библиотеки особенно популярны у программистов. Помимо того что написал Azur1d RegExpr,GraphicEx crypto пишет: Это юниты, начинающиеся на id (входят в Дельфи по умолчанию)? да, но могут быть поставленны отдельно более новые версии 4kusNick пишет: Порой встречаются проги с использованием KOL\MCK +1 если сделаешь поддержку, будешь вроде первый в этой области, но гемора там хватает. ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 11 октября 2010 16:37 · Личное сообщение · #27 |
|
Создано: 11 октября 2010 16:51 · Личное сообщение · #28 да, кол это редкость, а вот всякие скинабельные компоненты это да, но и то не так уж и часто бывают, вот DCPCrypt нужно добавить, в 70% прог, что мне попадались с каким либо крипто/хешами, то они были реализованы с его помощью... хотя и в этой поставке справляется неплохо с этой либой, ещё бы было бы неплохо FGInt и еже с ним... ----- Лучше быть одиноким, но свободным © $me |
|
Создано: 11 октября 2010 19:19 · Личное сообщение · #29 Да, я согласен, что KOL/MCK штука экзотическая, упомянул про неё лишь потому, что бывают проекты целиком на ней, что в случае большого и толстого проекта причиняет неслабую головную боль при ковырянии. Однако, не могу не согласиться, что если и добавлять его в todo, то в самый конец списка) ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 13 октября 2010 19:31 · Поправил: crypto · Личное сообщение · #30 Полазил я по разным местам. Получается, что собрать коллекцию dcu разных вендоров под разные версии Дельфи будет крайне затруднительно. Даже не знаю, как это лучше сделать... Вендоры как правило архивы в открытом доступе не держат. Не обращаться же к ним с просьбой прислать старые файлы за бесплатно? Так что давайте, что у кого в загашнике есть, кидайте мне, я буду разгребать. |
|
Создано: 13 октября 2010 20:44 · Личное сообщение · #31 |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 47 . 48 . >> |
eXeL@B —› Софт, инструменты —› Interactive Delphi Reconstructor (IDR). Миттельшпиль |
Эта тема закрыта. Ответы больше не принимаются. |