-
-
[原创]TP 第三处断点清0 寻找方法以及源码
-
发表于:
2012-4-5 00:18
5822
-
for (;;)
{
//CALL的头部特征码
//f0 0f c1 08 9d 61 8b e5 +29=9d +30=61 +34=ff +36=80
if (*Psd5==0xf0&&*(Psd5+1)==0x0f&&*(Psd5+2)==0xc1&&*(Psd5+3)==0x08&&*(Psd5+4)==0x9d&&*(Psd5+5)==0x61
&&*(Psd5+6)==0x8b&&*(Psd5+7)==0xe5&&*(Psd5+29)==0x9d&&*(Psd5+30)==0x61&&*(Psd5+34)==0xff&&*(Psd5+36)==0x80)
{
KdPrint(("Psd5首地址:%x \n",(ULONG)Psd5));
BYTE *calladd;
// while (1)
//{
Psd5add=Psd5-98;
calladd=Psd5add+5+*(ULONG*)(Psd5-97);
//if ((*(Psd5-1) == 0xcc) && (*(Psd5-2) == 0xcc))
//{
KdPrint(("calladd的数值是:%x \n",(ULONG)calladd));
//提升IRQL中断级
WPOFF(); //清除CR0
//写入
RtlCopyMemory(calladd,C390,2);
//恢复Irql
WPON(); //恢复CR0
break;
//}
//Psd5--;
//}
// break;
}
Psd5++;
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)