在hYiNg先生写的加壳软件PE-Armor中所用到的ANTI-BPM 断点的代码

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

创编

创编

2

0

2004-08-28T16:31:00Z

2004-08-28T16:31:00Z

1

192

1098

9

2

1348

9.2812

6 磅

6 磅

0

3

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; ANTI-BPM

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

start:

call _00350788h

mov ecx,[esp+0ch]

;

pCONTEXT

inc dword [ecx+000000b8h] ; CONTEXT.regEip

xor eax,eax

xor eax,[ecx+04h]

;

CONTEXT.iDr0

add eax,[ecx+08h]

;

CONTEXT.iDr1

xor eax,[ecx+0ch]

; CONTEXT.iDr2

add eax,[ecx+10h]

;

CONTEXT.iDr3

add [ecx+000000b0h],eax ; CONTEXT.regEax 保存此时的几个DRx寄存器运算后的值到EAX中

pushad

lea esi,[ecx+04h]

;

CONTEXT.iDr0

mov ebp,[ecx+000000b4h] ; CONTEXT.regEbp

lea edi,[ebp+0041186dh]

add edi,00000108h

mov ecx,00000006h

cmp dword [ebp+00410f22h],00

jnz @f

repz movsd

@@:

popad

xor eax,eax

ret

_00350788h:

xor ecx,ecx

push dword [fs:ecx]

mov [fs:ecx],esp

int 3

nop

pop dword [fs:ecx]

add esp,04

mov [ebp+00410f56h],eax ; 如果下了BPM断点的话,EAX中就不会是正确的值了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航