游戏外挂技术:编程实现内存检索(检索内存中指定数据)

1.目标,通过程序检索植物大战僵尸雪的值,并将雪的值修改(这个时候得使用dll的方式才能够实现):


2.打开MemSearch工具。截图如下:


上面(0x20337520)是通过MemSearch累计查找到的地址值

3.新建项目,项目截图如下:


内存检索代码:

#include

#include

#include

 

/************************************************************************/

/*_declspec(dllexport)的作用是产生接口                                 */

/************************************************************************/

_declspec(dllexport) void go()

{

    //通过MemSearch查找到的雪的内存实际是:0x20337520

    void *p1 = (void *)0x20337420;

    //指针不等价地址,因为它还有类型,所以这里要加上类型(void *

    void *p2 = (void *)0x20337620;

    //定位一下地址

    int *p3 = NULL;//定义成NULL,防止野指针

    //每次都移动一个字符

    for (char *p = p1; p != p2;p++)

    {

        //如果内存地址是要找的内存地址(下面这句能够使用前提是知道存储雪的地址了)

        if (p == (int *)(0x20337520))

        {

            //以char型的每次移动4个字节,这样才能保证内存检索的不遗漏

            int *px = (int *)p; //类型转换

            if (*px == 25)   //判断,如果雪的值小于50,将学的值变成100

            {

                *px = 100;

                p3 = px;    //保存地址

                break;

            }

        }

    }

 

    //定时的实现自动检测并自动充值

    while (1)

    {

        if (*p3 <= 100) //检测赋值

        {

            *p3 = 200;

        }

 

        //休眠5秒后检测

        Sleep(5000);

    }

}

4.修改项目的常规属性,设置如下:


5.生成dll


6.打开dllinject,注入dll


7、发现雪每隔一段时间会自动增加(如果雪的值小于100的情况下)


你可能感兴趣的:(游戏外挂技术:编程实现内存检索(检索内存中指定数据))