Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как заменить cmp?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Взлом программ] >> Как заменить cmp?
Имя
Сообщение << Старые топики   Новые топики >>
Как заменить cmp? - 2011-08-12 16:43:46.500000   
VintProgpRO

Сообщений: 11
Оценки: 0
Присоединился: 2011-07-08 08:44:26.156666
Вот кусок кода:
.text:004C47DF 028 inc ebx ; default
.text:004C47DF ; jumptable 004C478B cases 0-2
.text:004C47E0 028 add ebp, 38h
.text:004C47E3 028 cmp ebx, 4Bh ; edx < 4Bh (markers)
.text:004C47E6 028 fldz
.text:004C47E8 028 fldz
.text:004C47EA 028 fldz
.text:004C47EC 028 jl loc_4C49F0 беда в том что в это сравнивание больше байта не запишешь .text:004C47E3 028 cmp ebx, 4Bh
как мне пачнуть его чтобы можно было записывать 2 байта туда,
писал такую функцию:
void injectFunction (DWORD address, DWORD function)
{
DWORD Old;
VirtualProtect( PVOID(address), 16, PAGE_READWRITE, &Old);
BYTE * patch = (BYTE *)address;
*patch = 0xE9; // JMP
*(DWORD *)(patch+1) = (function-(address+5));
VirtualProtect( PVOID(address), 16, Old, &Old);
}
Пытался кусок кода заменить, но все равно ошибка!

Код:
injectFunction(0x04C47E3, (DWORD)Code_1);

void Code_1()
{
_asm cmp ebx, 10h
_asm fldz
return;
} кто знает выход из данной ситуации, пожалуйста помогите!
Post #: 1
RE: Как заменить cmp? - 2011-08-12 20:39:46.470000   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
CMP EBX,4Bh занимает три байта

Post #: 2
RE: Как заменить cmp? - 2011-08-13 12:42:04.603333   
VintProgpRO

Сообщений: 11
Оценки: 0
Присоединился: 2011-07-08 08:44:26.156666
Ну и?
Post #: 3
RE: Как заменить cmp? - 2011-08-14 13:36:49.780000   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
Что ну и? Ты говоришь: тебе нужно пропатчить  два байта, но они у тебя не влазиют т.к. CMP EBX,4Bh занимает один байт.
Я тебе говорю, что CMP EBX,4Bh занимает не один, а три байта! и твои два байта патча запросто влезут на место трех.
В чем проблема?
Post #: 4
Страниц:  [1]
Все форумы >> [Взлом программ] >> Как заменить cmp?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.