Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Протекторы —› Исследование защиты Themida |
<< . 1 . 2 . 3 . |
Посл.ответ | Сообщение |
|
Создано: 13 августа 2009 09:51 · Поправил: blueboar2 · Личное сообщение · #1 Решил тут поразбираться со страшным зверем которого зовут Themida. Причем не так, как большинство - как бы получше сграбить дамп, чтоб проверки протектора обмануть, а именно по хакерски - дизассемблировать и понять структуру протектора. Я понимаю, что в каждом случае штамм Themida отличается друг от друга (из-за ее возможностей, и разных настроек при запуске). Но не будете же вы спорить, что один раз ее дизассемблировав второй и последующие разы пойдут проще? Как подопытный кролик пошел The Bat 4.0.24 (авторские права автора The Bat я не нарушаю, так как взламывать его прогу я не собираюсь, а сам использую Outlook). Естественно, пока я Themida не взломал, но несколько шагов уже сделал. Результаты моих изысканий оформил тут: Собственно просьба к умным и знающим людям - где поправить, где наставить на путь истинный, а где и поругать. Я думаю, в конце концов мы таки разберемся в данном протекторе. ![]() |
|
Создано: 23 декабря 2009 23:14 · Личное сообщение · #2 |
|
Создано: 25 декабря 2009 12:28 · Личное сообщение · #3 |
|
Создано: 01 февраля 2010 16:16 · Личное сообщение · #4 Итак, первый этап пройден. Виртуальная машина ЗАКОНЧИЛАСЬ. Оно и ежу понятно, что закончилась она только первая VM, а там еще куча предстоит. Но пока она вышла обратно в ассемблерный код и пытается найти экспорты KERNEL32.DLL А вся виртуалка (к слову сказать около 400 байт) делала следующее: - Сохранила на стеке некую константу непонятного вида - Сохранила на стеке базу KERNEL32.DLL (найденную ранее в ассемблерном коде) - Сохранила на стеке адрес, по которому находится код, запускающий следующую VM И... все. Для этого нужно 400 байт ![]() |
|
Создано: 02 февраля 2010 11:08 · Личное сообщение · #5 Продвинулись далее. В связи с этим откорректированное предыдущее сообщение: А вся виртуалка (к слову сказать около 400 байт) делала следующее: - Сохранила на стеке ХЭШ строки 'LoadLibraryExA' - Сохранила на стеке базу KERNEL32.DLL (найденную ранее в ассемблерном коде) - Сохранила на стеке адрес, по которому находится код, запускающий следующую VM - Сохранила букву 'L' в памяти А ассемблерный код за ней делал следующее - Нашел экспорты KERNEL32.DLL - Нашел из них те, что на букву L - Из них вычислил хэш и нашел функцию LoadLibraryExA - Сохранил ее адрес. И снова занырнул в виртуалку. Разбираюсь ![]() |
|
Создано: 03 февраля 2010 07:40 · Личное сообщение · #6 |
|
Создано: 03 февраля 2010 13:25 · Личное сообщение · #7 |
|
Создано: 03 февраля 2010 14:04 · Личное сообщение · #8 |
|
Создано: 03 февраля 2010 14:14 · Личное сообщение · #9 а покрыто ВМ что нибудь такое Code:
Адреса конечно-же другие, т.к. версия Фимы другая ----- 127.0.0.1, sweet 127.0.0.1 ![]() |
|
Создано: 03 февраля 2010 14:19 · Личное сообщение · #10 |
|
Создано: 03 февраля 2010 16:12 · Личное сообщение · #11 |
|
Создано: 30 октября 2012 14:47 · Личное сообщение · #12 |
|
Создано: 30 октября 2012 20:23 · Личное сообщение · #13 |
<< . 1 . 2 . 3 . |
![]() |
eXeL@B —› Протекторы —› Исследование защиты Themida |