DWORD dwIp=0x1A0C20; //定義dwIp為0xA0C20,也是雙字
_asm
{
push 0x0b8 //0x0b8壓入棧
call dwIp //調用dwIp過程
add esp,4 // 4加esp寄存器的內容並存入寄存器esp
mov NADDR,eax //將NADDR的值賦給eax寄存器
}
if(NADDR) //如果NADDR不為零
{
NoTest = *(int*)(NADDR + 0x4*(Ncount)+4);
//這裏我估計就是通過修改壹個指針指向內存的值來改壹些東西,這裏就是這裏具體指向哪裏我也不知道,妳給我的程序不夠完整,但大意就是通過NADDR這個量來改變其他的值,可能是壹個變量的值,也可能是程序的返回地址,壹般此方法用於對程序的加密。
}
if( Acount > 0 && Ncount < Acount)
{
//如果Acount > 0 並且 Ncount < Acount
執行過程SendKey()
SendKey(NoTest);
}
主要意思就是在NoTest = *(int*)(NADDR + 0x4*(Ncount)+4); 這壹句
我做過類似的程序,妳可以在我的空間裏找到。
/tclzs/blog/item/1e559a3505bf348da61e12d3.html