
24.04.2007, 21:21
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от TaNkist
Что-то не смог найти реализацию этого смещения в статье. Вроде в коде esp не трогают.
кто поможет?
Хек, я же специально реализовал этот механизм, чтоб исключить появление нулей при изменении длины шэлкода))) но использовать его забыл)))
Код:
mb_al = buffer_len and 0xff
mb_ah = buffer_len shr 8
xor eax, eax
if mb_al > 0 & mb_ah > 0
mov ax, buffer_len
else if mb_al > 0 & mb_ah = 0
mov ah, mb_al
else if mb_al = 0 & mb_ah > 0
mov ah, mb_ah
end if
mov ebp, esp
add ebp, ecode - Begin
Предполагалось вычесть из esp, eax, но я пропустил эту строку)))
Код:
mb_al = buffer_len and 0xff
mb_ah = buffer_len shr 8
xor eax, eax
if mb_al > 0 & mb_ah > 0
mov ax, buffer_len
else if mb_al > 0 & mb_ah = 0
mov ah, mb_al
else if mb_al = 0 & mb_ah > 0
mov ah, mb_ah
end if
sub esp, eax
mov ebp, esp
add ebp, ecode - Begin
Кстати пока исправлял, заодно модернизировал ещё одну(теперь одну) инструкцию, вместо
Код:
mov ebp, esp
add ebp, ecode - Begin
Код:
lea ebp, [esp + ecode - Begin]
|
|
|