![]() |
eXeL@B —› Вопросы новичков —› Исследование приложения Borland Delphi 6.0 - 7.0 в IDA |
Посл.ответ | Сообщение |
|
Создано: 27 апреля 2013 04:42 · Поправил: nen777w · Личное сообщение · #1 Привет! Набросайте пожалуйста правильных туториалов на тему исследование (реверсинг) приложения написанного на Borland Delphi 6.0 - 7.0 (так говорит PEiD) Часть функций из делфевых либ IDA распознала а часть говорит что это unknown_libraryname к тому же я совершенно понятия не имею как генерируются конструкторы/деструкторы Delphi компилятором и как там устроены объекты (компилятора жаль под рукой нет). Вот это System::__linkproc___ClassCreate() я смутно догадываюсь создание объекта? Может есть какие то вспомогательные файлы для IDA упрощающие реверсинг делфевых приложений. з.ы. про DeDe в курсе, очень помогло когда нужно было найти обработчки от контролов. ВО общем чем больше будет инфомациии на эту тему тем лучше разберусь. Спасибо. ![]() |
|
Создано: 27 апреля 2013 08:37 · Личное сообщение · #2 Все ваши темы как-то похожи друг на друга: то ИДА вам не может сделать то, то другое. Вам же обьясняли уже, что ИДА не волшебная палочка, которая все делает за вас, а инструмент, предполагающий знающего и мыслящего пользователя. Судя по вашим собственным словам, "к тому же я совершенно понятия не имею как генерируются конструкторы/деструкторы Delphi компилятором и как там устроены объекты (компилятора жаль под рукой нет)." вы пока что не один из таких пользователей. Так что нужно найти время и учиться, а не ждать пока кто-то для вас (такого занятого!) что-то сочинит. ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 27 апреля 2013 11:20 · Личное сообщение · #3 plutos Я вообще про маны спрашивал о возможно конкретных описаниях реверсинга Delphi программ (вот типа такого: http://blog.0xbadc0de.be/archives/67 (только здесь для С++ компилятора) или вот примерно такого http://www.xakep.ru/magazine/xs/057/012/1.asp (хотя тут ничего такого, но можно найти подход к реверсингу который автор использует)), структуры когда генерируемого Delphi компилятора и все на эту тему. A то что Вы написали - называется почесать свое ЧСВ об меня. Про IDA я в курсе как с ней работать, пользую иногда, но не так часто как хотелось бы, про волшебную палочку не понял, извините. ![]() |
|
Создано: 27 апреля 2013 11:28 · Поправил: reversecode · Личное сообщение · #4 то что вы спрашиваете,называется опытом и по нему манов нет, используйте idr, она частично поможет ![]() |
|
Создано: 27 апреля 2013 13:29 · Личное сообщение · #5 nen777w ИДА создает кашу из программ, написанных на Дельфи, пока вы отделите данные от кода, пройдет немало времени. Охота вам возиться? Обработайте программу в IDR (он не частично помогает, а кардинально), можете создать idc-файл для ИДЫ, если уж так хочется, тогда хоть многие структуры и функции определятся. А вообще приватная версия IDR декомпилирует практически весь код, если хорошо восстановить прототипы (некоторые неясные моменты с типами программа выясняет "на лету" у пользователя), декомпилятор частично работает в последней публичной версии. ![]() |
|
Создано: 27 апреля 2013 17:49 · Поправил: nen777w · Личное сообщение · #6 crypto пишет: Обработайте программу в IDR (он не частично помогает, а кардинально), можете создать idc-файл для ИДЫ, если уж так хочется, тогда хоть многие структуры и функции определятся. А вообще приватная версия IDR декомпилирует практически весь код, если хорошо восстановить прототипы (некоторые неясные моменты с типами программа выясняет "на лету" у пользователя), декомпилятор частично работает в последней публичной версии. Супер! Спасибо, сгенерировал IDC и после того как подсунул IDA теперь хоть более менее ясно на что обращать внимание не стоит. А как получить приватную версию, я так понял что автор IDR Вы? В той что на сайте есть закладка Source Code, но я так понял она в публичной версии не работает. ![]() |
|
Создано: 27 апреля 2013 21:01 · Личное сообщение · #7 |
|
Создано: 27 апреля 2013 21:22 · Личное сообщение · #8 |
|
Создано: 27 апреля 2013 21:32 · Личное сообщение · #9 |
|
Создано: 27 апреля 2013 21:42 · Личное сообщение · #10 gazlan подразумевалось что ida плохо флирт для делфи использует idr это делает лучше находить стандартные функции и генерить в idc - лучший вариант, в остальном как работает idr не знаю ![]() |
|
Создано: 27 апреля 2013 21:47 · Личное сообщение · #11 |
|
Создано: 27 апреля 2013 21:48 · Личное сообщение · #12 LeonoraFF пишет: OllyDbg + WinDASM как это спасает от декомпиляции если чел хочет алгос восстановить? да никак. поэтому или hexrays или idr или новомодный hopper ![]() |
|
Создано: 27 апреля 2013 21:55 · Личное сообщение · #13 |
|
Создано: 27 апреля 2013 21:56 · Личное сообщение · #14 |
|
Создано: 29 апреля 2013 09:07 · Личное сообщение · #15 LeonoraFF Все восстанавливается, если немного потрудиться над классами и прототипами. Вот маленький примерчик, созданный за 1 минуту (обработка выхода декомпилятора): Code:
У меня есть более весомый пример из 21 тысячи ассемблерных инструкций, содержащий сложные структуры из динамических массивов структур. Обработка была выполнена меньше чем за 1 минуту, правда на финальную обработку времени ушло несколько часов, зато выход полностью удовлетворил заказчика. Вот маленький фрагмент из этой функции (на что способен IDR): Code:
![]() |
|
Создано: 29 апреля 2013 14:33 · Личное сообщение · #16 |
|
Создано: 29 апреля 2013 15:00 · Личное сообщение · #17 |
|
Создано: 29 апреля 2013 16:16 · Личное сообщение · #18 crypto Хз. не работает редактирование. Выбираю неопознанную функцию. Говорю Define. Переименовать после этого нельзя. Аргументы поправить вместо знаков вопросов - тоже нельзя. Ни на одну функцию даже частично Src не работает. Всегда ругается Check prototype. Кстати, DeDe почему-то проименовал все юниты, а вот IDR половину назвал _UnitXX ----- старый пень ![]() |
|
Создано: 29 апреля 2013 17:16 · Поправил: crypto · Личное сообщение · #19 r_e Пробовал нажать кнопку Edit? И неплохо было бы взглянуть на файл, почему юниты не опознаются. И экранчик из Деде со всеми обозванными юнитами. ЗЫ Мне непонятен подход - нажать конпку и получить исходник. С файлом поработать надо, хотя бы прописать прототипы функций, входящих в исследуемую. Без этого сам понимаешь ни хрена хорошего не получится. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Исследование приложения Borland Delphi 6.0 - 7.0 в IDA |