VC制作工具

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:49:19
我是想问那种游戏工具要用到什么样的函数?
用工具在游戏里实现的自动行走,他们用的是模拟点击还是发送数据封包,或者还有其它什么方法?
如何找静态地址(固定)进行判断?比如用readprocessmemory读取?
大概的制作流程是怎的?
写几个代码参考一下就可以了,我是用C++的,先谢谢了
分数不重要,完成后为你加分!
CE工具?是指搜索动态内存的工具么?MOV指令,是用反汇编查指令么?查到后就可以每次读取都能找到准确位置了吗!我完全明白你(sdhexu)的意思!终于有点头绪了…太感谢你了

首先启动目标进程,采用EnumWindow的方法获取窗口句柄。
或者直接CreateProcess直接生成目标进程。

打开目标进程之后,就可以为所欲为了。

模拟操作和截获封包都可以达到效果,但是,模拟封包很困难,因此需要先破解封包,理解封包的加密方式等。比较困难。

查找静态地址的方法:假设你要找“红”,就是HP。
因为游戏角色是一个类似于下列的结构:
struct 角色
{
char name[ ... ];
int hp;
int mp;
....
};
这个结构每次运行游戏时,其地址可能不一样,但是,HP相对于该结构的地址是不变的。因此,首先用搜索工具找到HP的地址,然后下断点,看看哪一条指令修改或访问的这条地址。一般情况下,会形如这样:MOV DWORD PTR[ EDX + X ] ... 那么就可以看出,事实上,EDX里面存放的就是角色结构的地址,而X就是HP相对与该地址的偏移。
因此,该指令执行时,EDX里面的值,就是“角色”结构的地址,但是,往往这个结构的地址也是动态的。那么就要看EDX里面的值,找到该值对应的地址,然后以同样的方法下断点,看看那条指定修改了EDX指向的值。以此类推,总会找到一个静态的地址。形如:MOV [ 0X12345 ], X...那么,0X12345就是你要找的基地址了。然后反推,就会找到HP。

每次启动游戏,都有先找“静态的基地址“,然后根据上面的情况,通过一级一级的反推,最终找到HP,然后,就可以ReadProcessMemory去读取该值了。再然后,判断该值是不是低于某设定的值,如果是,就进行模拟“喝红”的操作,就是自动补血的 外 ● 挂 了。。

--------------------------------------
我×,终于显示出来了。不投诉就沉了。。
补充一下下:
使用CE工具。很容易找到静态的基地址。。当年写过50的挂,就是这么干的。

-----------------------------