能力值:
( LV2,RANK:10 )
|
-
-
2 楼
http://bbs.pediy.com/showthread.php?t=85491&highlight=fixcode&page=2
18楼
仅供参考
看了楼主修复 CALL 和 JXX 的函数,狂晕了一下,这C不是一般难懂,下面来个ASM版本的
fixcode proc PCopyNtOpenProcess_addr:dword,PNtOpenProcess_addr:dword,PNtOpenProcess_Size:dword
;write by fixfix
pushad
mov edi,PCopyNtOpenProcess_addr
mov ecx,PNtOpenProcess_Size
mov esi,PNtOpenProcess_addr
rep movsb
popad
pushfd
pushad
xor ecx,ecx
mov eax,PNtOpenProcess_addr
j: cmp PNtOpenProcess_Size,ecx
jne @F
popad
popfd
ret 12
@@: cmp byte ptr [eax],0e8h
jne @f
mov edx,dword ptr [eax+1]
lea esi,dword ptr [eax+edx+5]
mov edi,PCopyNtOpenProcess_addr
add edi,ecx
sub esi,edi
sub esi,5
mov dword ptr [edi+1],esi
add eax,5
add ecx,5
jmp j
@@: cmp byte ptr [eax],0fh
jne @F
cmp byte ptr [eax+1],8Fh
jg @F
mov edx,dword ptr [eax+2]
lea esi,dword ptr [eax+edx+6]
mov edi,PCopyNtOpenProcess_addr
add edi,ecx
sub esi,edi
sub esi,6
mov dword ptr [edi+2],esi
add eax,6
add ecx,6
jmp j
@@: inc eax
inc ecx
jmp j
fixcode endp
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
用反汇编引擎分析这类指令,然后修复操作数即可。
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
长度5 e8 e9开头 计算后4字节当前地址
自己函数中再计算得出相对地址
一般情况够用了
|