Здравствуйте, pva, Вы писали:
pva>Да и скажу Вам по секрету, бряк на регион памяти нужен ну крайне редко. И в 99.9% случаев можно обойтись без него. Добавили, ну и ладно.
При анализе защит обычно хардварными бряками и пользуются, + хардварные быстрее в сотни раз обычных мемори, чтото ты загнул про 99.9%
Re[10]: Посоветуйте книги/статьи по реверс-инженерингу
Здравствуйте, Жора Корнев, Вы писали:
pva>>Да и скажу Вам по секрету, бряк на регион памяти нужен ну крайне редко. И в 99.9% случаев можно обойтись без него. Добавили, ну и ладно. ЖК>При анализе защит обычно хардварными бряками и пользуются, + хардварные быстрее в сотни раз обычных мемори, чтото ты загнул про 99.9%
=) Сдается мне, здесь стоит различать hwbp r/w и такую вещь как бряк на регион (устанавливается в оле на секцию памяти, при доступе к которой нужно брякнуться).
Хардварные бряки никто не отменял и их полезность не оспаривает.
newbie
Re[3]: Посоветуйте книги/статьи по реверс-инженерингу
N>Сейчас вот читаю мыщиха (Образ мышления IDA Pro)
выкинь каку. оно устарело не на один ледниковый период. сейчас в качестве скриптов в иде используется питон и эта книга совсем не по реверсу.
по реверсу у меня выходила всего одна книга -- фундаментальные основы хакерства. там показано как идентифицировать основные структуры языков высокого уровня. впрочем, она тоже сильно устарела, а мир ушел вперед.
есть одна хорошая книга на анг, но она про обратное инженерное проектирование. там основные концепции реверса. не уверен, что она вам будет интересна, т.к. она вообще не о компьютерах.
pva>>Не думаю что оля понадобится если освоить иду. N>Встречал мнения что Оля удобнее чем IDA, хотя что может быть удобнее hexrays ?
ольга -- это отладчик. она удобнее иды тем, что автоматически распознает все магические адреса в регистрах. типа POP EAX и в EAX какая-то фигня, а это не фигня, а это указатель на API функцию или базовый адрес загрузки DLL. ида об этом молчит, а ольга автоматически комментирует.
N>Ну а еще патчить (если нужно) можно только олей.
здраствуйте, я ваша тетя. с каких это пор идой нельзя патчить?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[6]: Посоветуйте книги/статьи по реверс-инженерингу
Запомнить значение eax, а лучше открыть еще одну въюху ассемблерного листинга и стать курсором туда.
Замапить этот адрес на вот такую структуру (на данный момент что удалось мне расковырять):
Дождаться когда pBits_40h станет не равным 0, т.е. выделять память под битмапу. Прошагать еще один вызов (обычно после этого в эту память копируют даные).
Стать курсором на начало замапленой области, т.е. туда куда указывал eax, Shift+F2 и потом dump_ppm()
Скрипт вот:
А теперь вопрос гуру, как бы это еще больше автоматизировать?
Например сделать автоматический вызов скрипта как только указатель на данные станет равен не 0, ну или не сразу а через 2-3 команды call.
Спасибо.
з.ы.
Скрипт тоже попинайте если там что то не так.
Re[4]: Посоветуйте книги/статьи по реверс-инженерингу
Здравствуйте, мыщъх, Вы писали:
М>ольга -- это отладчик. она удобнее иды тем, что автоматически распознает все магические адреса в регистрах. типа POP EAX и в EAX какая-то фигня, а это не фигня, а это указатель на API функцию или базовый адрес загрузки DLL. ида об этом молчит, а ольга автоматически комментирует.
Мыщьх, ты вообще дано иду видел? В ледниковом периоде наверно?
newbie
Re[7]: Посоветуйте книги/статьи по реверс-инженерингу
Здравствуйте, nen777w, Вы писали:
N>Например сделать автоматический вызов скрипта как только указатель на данные станет равен не 0, ну или не сразу а через 2-3 команды call.
Для этого прийдется добавить обертку для трассировки скриптом. Смотри в справке "Index of debugger related IDC functions"
newbie
Re[4]: Посоветуйте книги/статьи по реверс-инженерингу
N>>Сейчас вот читаю мыщиха (Образ мышления IDA Pro) М>выкинь каку. оно устарело не на один ледниковый период. сейчас в качестве скриптов в иде используется питон и эта книга совсем не по реверсу.
Всеравно полезно почитать было. Тем боле я ж только эту главу и читал.
М>по реверсу у меня выходила всего одна книга -- фундаментальные основы хакерства. там показано как идентифицировать основные структуры языков высокого уровня. впрочем, она тоже сильно устарела, а мир ушел вперед.
Спасибо гляну.
N>>Ну а еще патчить (если нужно) можно только олей. М>здраствуйте, я ваша тетя. с каких это пор идой нельзя патчить?
Ну можно конечно, но мороки больше как мне показалось (хотя вот честно взять скрипт и попробовать я не пробовал).
В оле как то проще, ассемблировать + очень удобная фитча Оли добивать остаток длины команды nop-ами, IDA такое не делает.
Ну а потом Write to exe и все.
Re[11]: Посоветуйте книги/статьи по реверс-инженерингу
От:
Аноним
Дата:
02.05.13 07:25
Оценка:
pva>Про PyDbg вообще первый раз слышу. Это какая-то сборка напободие Immunity Debugger?
есть еще pykd ( pykd.codeplex.com ) для windbg.
например с помощью него на windbg портировали mona.py ( http://redmine.corelan.be/projects/mona — автоматизация поиска и эксплуатации уязвимостей )
Re: Посоветуйте книги/статьи по реверс-инженерингу
Почему-то кажется, что выковыривать какой-то нетривиальный алгоритм из ассемблерного кода это жестокое извращение.
Если алгоритм(например, обработка изображения) на C++ перевести на асм, уже непросто понимать что происходит, а если он еще и оптимизирован(переставлены команды асм'а итп) то что происходит понять становится почти невозможно (то есть проще самому написать).
Re[2]: Посоветуйте книги/статьи по реверс-инженерингу
Здравствуйте, HolyNick, Вы писали:
HN>Почему-то кажется, что выковыривать какой-то нетривиальный алгоритм из ассемблерного кода это жестокое извращение. HN>Если алгоритм(например, обработка изображения) на C++ перевести на асм, уже непросто понимать что происходит, а если он еще и оптимизирован(переставлены команды асм'а итп) то что происходит понять становится почти невозможно (то есть проще самому написать).
ну так reverse engineer'ы не пальцем деланы
Re[2]: Посоветуйте книги/статьи по реверс-инженерингу
HN>Почему-то кажется, что выковыривать какой-то нетривиальный алгоритм из ассемблерного кода это жестокое извращение.
Ну вот как раз похожим делом занимался недавно. Главное ИМХО как можно точнее восстановить структуры, а дальше зная примерно как пишуться приложения на высокоуровневых ЯП и как должен работать алгоритм уже дело техники и навыков.
У меня ушло на все около 5-ти дней.