DWORD NADDR =0; //定义NADDR为0,NADDR是双字
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); 这一句
我做过类似的程序,你可以在我的空间里找到。
http://hi.baidu.com/tclzs/blog/item/1e559a3505bf348da61e12d3.html
1.楼主你的代码不清晰,dwIp是什么过程?
2.不是故意贬低,E语言真的很差,C Delphi能实现,他未必可以。
3.此区多为学C++的,一者是E学的没意思了跑过来学C了,属于初学,另一种常年混迹于C++之中,也不懂什么E语言
即是如此,楼主请便 ^_^
是汇编的吧
_asm
{
push 0x0b8
call dwIp
add esp,4
mov NADDR,eax
这是内嵌了汇编的C++代码
大概知道什么意思
可是我不懂什么E语言
额~这段代码不是c++的