Перейти к содержанию

крэш при делении


Hippan

Рекомендуемые сообщения

имеется код

Спойлер


[ENABLE]

aobscanmodule(INJECT,Tutorial-i386.exe,89 83 80 04 00 00 8D 55 D4 E8 12)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  pushad
  mov eax,0a
  mov ecx,5
  div ecx //крэш при этом div-е
  popad
code:
  mov [ebx+00000480],eax
  jmp return

INJECT:
  jmp newmem
  nop
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 89 83 80 04 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Tutorial-i386.exe"+23B80

"Tutorial-i386.exe"+23B5C: E8 5F 99 FE FF        -  call Tutorial-i386.exe+D4C0
"Tutorial-i386.exe"+23B61: E8 6A B4 FE FF        -  call Tutorial-i386.exe+EFD0
"Tutorial-i386.exe"+23B66: 50                    -  push eax
"Tutorial-i386.exe"+23B67: 85 C0                 -  test eax,eax
"Tutorial-i386.exe"+23B69: 75 65                 -  jne Tutorial-i386.exe+23BD0
"Tutorial-i386.exe"+23B6B: B8 05 00 00 00        -  mov eax,00000005
"Tutorial-i386.exe"+23B70: E8 8B AB FE FF        -  call Tutorial-i386.exe+E700
"Tutorial-i386.exe"+23B75: 8D 50 01              -  lea edx,[eax+01]
"Tutorial-i386.exe"+23B78: 8B 83 80 04 00 00     -  mov eax,[ebx+00000480]
"Tutorial-i386.exe"+23B7E: 29 D0                 -  sub eax,edx
// ---------- INJECTING HERE ----------
"Tutorial-i386.exe"+23B80: 89 83 80 04 00 00     -  mov [ebx+00000480],eax
// ---------- DONE INJECTING  ----------
"Tutorial-i386.exe"+23B86: 8D 55 D4              -  lea edx,[ebp-2C]
"Tutorial-i386.exe"+23B89: E8 12 62 01 00        -  call Tutorial-i386.exe+39DA0
"Tutorial-i386.exe"+23B8E: 8B 55 D4              -  mov edx,[ebp-2C]
"Tutorial-i386.exe"+23B91: 8B 83 6C 04 00 00     -  mov eax,[ebx+0000046C]
"Tutorial-i386.exe"+23B97: E8 24 00 07 00        -  call Tutorial-i386.exe+93BC0
"Tutorial-i386.exe"+23B9C: 83 BB 80 04 00 00 00  -  cmp dword ptr [ebx+00000480],00
"Tutorial-i386.exe"+23BA3: 7D 2B                 -  jnl Tutorial-i386.exe+23BD0
"Tutorial-i386.exe"+23BA5: A1 14 02 55 00        -  mov eax,[Tutorial-i386.exe+150214]
"Tutorial-i386.exe"+23BAA: E8 41 56 0F 00        -  call Tutorial-i386.exe+1191F0
"Tutorial-i386.exe"+23BAF: B8 64 00 00 00        -  mov eax,00000064
}

 

когда доходит до деления (здесть div ecx) то взламываемая программа/игра (на разных пробовал) вылетает

но иногда не сразу. Бывает что при первом заходе (при пошаговой отладке следил) на инструкцию результат (eax) какой-то бредовый типо 0x66666668 или еще что-то непонятное...а при втором вылет.Значения беру специально чтоб результат был без остатка ибо не трогать EDX

Может я чего не догоняю?

// Да и от меня устное предупреждение.
прочитай правила 

  1. Любой код, цитата и прочее - должны быть обернуты специальными тэгами. Кроме того, если фрагмент кода достаточно большой (более 10 строк кода), то его необходимо также обернуть тэгом спойлера (скрытый текст).


На две секунды  "В угол" . Garik66

Ссылка на комментарий
Поделиться на другие сайты

newmem:
  mov eax,0a
  mov ecx,5

xor edx,edx
  div ecx
code:
  mov [ebx+00000480],edx
  jmp return

 

Изменено пользователем Xipho
Не забываем оборачивать код специальным тэгом.
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.