天天看點

遊戲外挂技術:程式設計實作記憶體檢索(檢索記憶體中指定資料)

1.目标,通過程式檢索植物大戰僵屍雪的值,并将雪的值修改(這個時候得使用dll的方式才能夠實作):

遊戲外挂技術:程式設計實作記憶體檢索(檢索記憶體中指定資料)

2.打開memsearch工具。截圖如下:

遊戲外挂技術:程式設計實作記憶體檢索(檢索記憶體中指定資料)

上面(0x20337520)是通過memsearch累計查找到的位址值

3.建立項目,項目截圖如下:

遊戲外挂技術:程式設計實作記憶體檢索(檢索記憶體中指定資料)

記憶體檢索代碼:

#include

<stdio.h>

<stdlib.h>

<windows.h>

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

/*_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的情況下)

遊戲外挂技術:程式設計實作記憶體檢索(檢索記憶體中指定資料)