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

简介: 1.目标,通过程序检索植物大战僵尸雪的值,并将雪的值修改(这个时候得使用dll的方式才能够实现): 2.打开MemSearch工具。截图如下: 上面(0x20337520)是通过MemSearch累计查找到的地址值 3.新建项目,项目截图如下: 内存检索代码: #include <stdio.h> #include <stdli

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


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


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

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


内存检索代码:

#include <stdio.h>

#include <stdlib.h>

#include <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的情况下)


目录
相关文章
|
26天前
|
人工智能 物联网 C语言
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
SVDQuant是由MIT研究团队推出的扩散模型后训练量化技术,通过将模型的权重和激活值量化至4位,显著减少了内存占用并加速了推理过程。该技术引入了高精度的低秩分支来吸收量化过程中的异常值,支持多种架构,并能无缝集成低秩适配器(LoRAs),为资源受限设备上的大型扩散模型部署提供了有效的解决方案。
54 5
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
|
2月前
|
存储 编译器 数据处理
C 语言结构体与位域:高效数据组织与内存优化
C语言中的结构体与位域是实现高效数据组织和内存优化的重要工具。结构体允许将不同类型的数据组合成一个整体,而位域则进一步允许对结构体成员的位进行精细控制,以节省内存空间。两者结合使用,可在嵌入式系统等资源受限环境中发挥巨大作用。
78 11
|
3月前
|
监控 算法 应用服务中间件
“四两拨千斤” —— 1.2MB 数据如何吃掉 10GB 内存
一个特殊请求引发服务器内存用量暴涨进而导致进程 OOM 的惨案。
|
3月前
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
162 1
|
3月前
|
存储
共用体在内存中如何存储数据
共用体(Union)在内存中为所有成员分配同一段内存空间,大小等于最大成员所需的空间。这意味着所有成员共享同一块内存,但同一时间只能存储其中一个成员的数据,无法同时保存多个成员的值。
|
3月前
|
监控 Java easyexcel
面试官:POI大量数据读取内存溢出?如何解决?
【10月更文挑战第14天】 在处理大量数据时,使用Apache POI库读取Excel文件可能会导致内存溢出的问题。这是因为POI在读取Excel文件时,会将整个文档加载到内存中,如果文件过大,就会消耗大量内存。以下是一些解决这一问题的策略:
420 1
|
3月前
|
缓存 安全 Java
使用 Java 内存模型解决多线程中的数据竞争问题
【10月更文挑战第11天】在 Java 多线程编程中,数据竞争是一个常见问题。通过使用 `synchronized` 关键字、`volatile` 关键字、原子类、显式锁、避免共享可变数据、合理设计数据结构、遵循线程安全原则和使用线程池等方法,可以有效解决数据竞争问题,确保程序的正确性和稳定性。
67 2
|
3月前
|
存储 编译器
数据在内存中的存储
数据在内存中的存储
47 4
|
3月前
|
存储 机器学习/深度学习 人工智能
数据在内存中的存储
数据在内存中的存储
|
3月前
|
存储 C语言
深入C语言内存:数据在内存中的存储
深入C语言内存:数据在内存中的存储