首页 > 修改教程 > GG修改器脚本定位特征码,gg修改器找特征码方法
GG修改器脚本定位特征码,gg修改器找特征码方法
  • GG修改器脚本定位特征码,gg修改器找特征码方法
  • 大小:9.13MB版本:v8.15
  • 语言:简体中文系统:Android
绿色无毒,安全可靠!部分设备误报拦截请通过!

GG修改器脚本定位特征码,gg修改器找特征码方法

作者:佚名 来源:网友分享 发布日期:2022年8月27日 19:22:00

1.9高效机场详解 教你怎么做机场.今天给大家分享的就是我的世界1.9版本中初阶段高效机场的设计分析,那想要制作机场的玩家不妨进来看看下面的心得哦希望对大家有所帮助. 游戏园我的世界官方群: 325049520 游戏园 …

我的世界 游戏攻略

校花的贴身高手是一款根据同名小说改编而来的动作类RPG手游,游戏美术风格清新靓丽,并辅以多种特色系统等你来体验.怎么在游戏中加强攻击力呢?今天跟大家带来的是校花的贴身高手怎么加强攻击能力 GG助手修改器安卓版分享,希望大 …

游戏攻略 游戏秘籍 校花的贴身高手

游戏资讯 攻略秘籍

游戏资讯 攻略秘籍

游戏资讯 攻略秘籍

游戏资讯 攻略秘籍

游戏资讯 攻略秘籍

游戏资讯 攻略秘籍

游戏秘籍 攻略秘籍

游戏攻略 攻略秘籍

游戏攻略 攻略秘籍

我的世界攻略 我的世界 我的世界怎么生火

天天飞车 天天飞车刷分

在手游作弊中,最常见的数值定位方式有2种,特征码定位和指针基址定位

假设我们想要精确1002这个数值,直接在内存遍历这个值肯定会有很多的结构,那么特征码定位的作用就是减小定位的结果数量,精确我们想要的值
分析上面表格我们可以得知:

1002 偏移 -1 值是1001
1002 偏移 1 值是1003
1002 偏移 2 值是1004

根据这个特征,我们就能定位出想要的数值。但是,如果内存中有很多一样的特征,就很难再精确定位,再或者这个值附近的值都是随时变化的,那我们就不能特征定位这个值,怎么办,这时候有了个新的方法:基址指针定位

在讲解怎么找指针和基址之前,我们先来了解一下

什么是指针
指针是C语言的一个概念,也是C语言中比较困难的部分。

简单来说,指针也就是内存地址,指针变量是用来存放内存地址的变量,可对存储数据的变量地址进行操作。
不同类型的指针变量所占用的存储单元长度是相同的。

怎么在游戏内存中寻找指针
在32位游戏中,指针地址的存储是long int类型(4字节)
在64位游戏中,指针地址的存储是long long类型(8字节)

struct player{
    DWORD id; //ID
    DWORD hp; //血量
    DWORD hurt; //攻击力
    …
}

struct game{
    struct player *p1 = new struct player;
    struct player *p2 = new struct player;
    …
}

//游戏初始化
void init(){
    struct game* sg;
    sg = new struct game;
}
游戏初始化后,sg在内存中的地址是固定的,这就是基地址(简称基址)

如果说,我们要定位p1的血量,那逻辑就是:模块初始化地址–>基址–>p1–>hp

假设,这是在libGame.so中的代码,那么我们可以从/proc/游戏PID/maps中找到模块的初始化地址

根据上面的数据,我们可以知道,p1在内存中的结构如下:

{
            ID,
            血量,
            攻击力
        },
        …
    }
}

我们只需要一级一级往下跳就能找到血量的值
找基址的话,也就是逆向思维,很简单的,GG修改器作者恩比也写了相关脚本:
指针搜索脚本:

首先对于地址生成pointermap1,这个东西记录了当前情况下游戏的指针情况。

然后,重启游戏,找到坐标地址,生成pointermap2。

找出是什么修改了这个地址,改变值,记录最后一级偏移量

接着对现在的内存地址使用指针扫描。

勾选使用pointermap,使用pointermap2.

勾选compare result with other pointermap,选择pointermap1

勾选高级选项,填入最后一级偏移。

级数和最大偏移的设置取决于游戏本身。

相关文章

热门下载

大家还在搜