Главная » Статьи » Крэкинг

Байты возле ОЕР Borland Delphi 6.0 - 7.0
//Borland Delphi 6.0 - 7.0

// Стандартное начало ОЕР программ Написанных на Delphi 
PUSH EBP
MOV EBP,ESP
ADD ESP,-10
MOV EAX,004F9828 // Начало таблицы инициализации в EAX
CALL 00406E6C    // Первый CALL GetModuleHandleA

================================================================
PUSH EBP
MOV EBP,ESP
ADD ESP,-10
XOR EAX,EAX
MOV DWORD PTR SS:[EBP-10],EAX
MOV EAX,004AB860 // Начало таблицы инициализации в EAX CALL 004056FC
CALL 004056FC // Первый CALL GetModuleHandleA
=========================== 1 ===================================
//Байты, которые чаще всего  расположены возле ОЕР
//Последовательность байт
55 8B EC 51 53 56 57 89 4D FC 8B DA 8B F0 8B C3
//Команды ASM
PUSH EBP
MOV EBP,ESP
PUSH ECX
PUSH EBX
PUSH ESI
PUSH EDI
MOV DWORD PTR SS:[EBP-4],ECX
MOV EBX,EDX
MOV ESI,EAX
MOV EAX,EBX
=======2 Если программа при запуске показывает Заставку==============
//Последовательность байт
53 8B D8 B2 01 8B C3
//Команды ASM
PUSH EBX                                 
MOV EBX,EAX
MOV DL,1
MOV EAX,EBX
=======================================================
0012FFA0   00407265  /CALL в GetModuleHandleA изProgram.00407260
0012FFA4   00000000  \pModule = NULL
========================================================

Как. Найти Начало Начало таблицы инициализации для MOV EAX, // Начало таблицы инициализации в EAX


============== Вариант 1 =================================

1) Установить, Брекпоинт на GetModuleHandleA убедиться, что вызов GetModuleHandleA произошел из секции кода.

2) Перейти по указанному адресу в OLLYDBG установить Железный Брекпоинт чуть ниже CALL от куда был вызов GetModuleHandleA F9.

3) Дальше трейс  до самого пследниго CALL  далие F7.

4) Идем по F8 до последнего CALL далее F7 до такой команды MOV EAX,DWORD PTR DS:[EDI+EBX*8] если глянуть что сейчас в EAX то можно увидеть начало таблицы  инициализации  для MOV EAX, // Начало таблицы инициализации в EAX.

============== Вариант 2 =================================

Поиск по последовательности байт MOV EAX,DWORD PTR DS:[EDI+EBX*8]
// Байты
8B 04 DF 43
//Команды ASM

MOV EAX,DWORD PTR DS:[EDI+EBX*8]  
INC EBX
=========================================================
Есть еще третий вариант нахождение начало таблицы  инициализации  для MOV EAX пролистать вверх от джампа.

З.ы.ы Сильно не пинайте....

Категория: Крэкинг | Добавил: -=Hellsing=- (06.03.2010) | Автор: -=HellSing=- E W
Просмотров: 3170 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]