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

简介: 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的情况下)


目录
相关文章
|
2月前
|
存储 机器学习/深度学习 PyTorch
119_LLM训练的高效内存管理与优化技术:从ZeRO到Flash Attention
大型语言模型(LLM)的训练面临着前所未有的计算和内存挑战。随着模型规模达到数百亿甚至数千亿参数,高效的内存管理成为训练成功的关键因素之一。2025年,LLM训练的内存优化技术已经取得了显著进展,从ZeRO优化器到Flash Attention等创新技术,为训练超大规模模型提供了可能。
|
7月前
|
存储 缓存 Java
【高薪程序员必看】万字长文拆解Java并发编程!(5):深入理解JMM:Java内存模型的三大特性与volatile底层原理
JMM,Java Memory Model,Java内存模型,定义了主内存,工作内存,确保Java在不同平台上的正确运行主内存Main Memory:所有线程共享的内存区域,所有的变量都存储在主存中工作内存Working Memory:每个线程拥有自己的工作内存,用于保存变量的副本.线程执行过程中先将主内存中的变量读到工作内存中,对变量进行操作之后再将变量写入主内存,jvm概念说明主内存所有线程共享的内存区域,存储原始变量(堆内存中的对象实例和静态变量)工作内存。
236 0
|
4月前
|
机器学习/深度学习 监控 安全
解密虚拟化弹性内存:五大核心技术与实施策略
本文深入解析虚拟化环境中实现内存弹性管理的五大核心技术与实施策略。内容涵盖内存架构演进、关键技术原理、性能优化方法及典型问题解决方案,助力提升虚拟机密度与资源利用率。
204 0
|
11月前
|
消息中间件 存储 缓存
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。
|
12月前
|
人工智能 物联网 C语言
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
SVDQuant是由MIT研究团队推出的扩散模型后训练量化技术,通过将模型的权重和激活值量化至4位,显著减少了内存占用并加速了推理过程。该技术引入了高精度的低秩分支来吸收量化过程中的异常值,支持多种架构,并能无缝集成低秩适配器(LoRAs),为资源受限设备上的大型扩散模型部署提供了有效的解决方案。
716 5
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
|
存储 编译器 数据处理
C 语言结构体与位域:高效数据组织与内存优化
C语言中的结构体与位域是实现高效数据组织和内存优化的重要工具。结构体允许将不同类型的数据组合成一个整体,而位域则进一步允许对结构体成员的位进行精细控制,以节省内存空间。两者结合使用,可在嵌入式系统等资源受限环境中发挥巨大作用。
393 12
|
监控 算法 应用服务中间件
“四两拨千斤” —— 1.2MB 数据如何吃掉 10GB 内存
一个特殊请求引发服务器内存用量暴涨进而导致进程 OOM 的惨案。
273 14
|
存储
共用体在内存中如何存储数据
共用体(Union)在内存中为所有成员分配同一段内存空间,大小等于最大成员所需的空间。这意味着所有成员共享同一块内存,但同一时间只能存储其中一个成员的数据,无法同时保存多个成员的值。
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
988 1
|
监控 Java easyexcel
面试官:POI大量数据读取内存溢出?如何解决?
【10月更文挑战第14天】 在处理大量数据时,使用Apache POI库读取Excel文件可能会导致内存溢出的问题。这是因为POI在读取Excel文件时,会将整个文档加载到内存中,如果文件过大,就会消耗大量内存。以下是一些解决这一问题的策略:
1675 1

热门文章

最新文章