此方法是从神秘老师(一只神秘)的视频得到的灵感,分享出来也是经过其本人的同意 视频如下 也希望大家多多支持神秘老师捏 多的不说,少的不唠,也是进入正题 我们先找到需要获取的函数 然后进行分配内存页,保存该地址 然后在函数头进行如下的操作码修改 意思就是: 把该地址传给r1 再把需要获取的寄存器的地址 Read More
这里拿arm32的环境下运行的来举例 首先我们先准备这两个函数 可以清楚的看到,解锁英雄那里有个参数为id,可以猜到为英雄id(元气的英雄id为1,2,3...) 所以,我们在update进行hook.用他调用该函数 我们首先分配个内存页,方便我们编写hook段的代码 编写如下的汇编 将a地址的值0 Read More
虽然这篇文章可能会涉及到某些人的利益,但我还是写了 首先,我们先将手机与ce进行桥接(具体的教程b站有) 然后我们先找到a内存的过异常(原理就是将当前怪物包改0,当前市面上广为流传的过异常都是这个原理) 我们在ce中添加他的地址 查看访问他的操作码(触发他) 然后我们看到访问了他的操作码 这里我提前 Read More
我们先看两个函数 public Boolean removeMonster(Int32 objSID, Boolean fireEvent, Boolean cache) { } public Void DestoryAllMonsters() { } 一个是布尔值的,用来判断是否删除怪物(注:火影 Read More
各位,新年好啊 废话不多说 以set_HP为例 这是方法名附件特征码,方便定位 我们进行搜索(注:ca内存) 在s位置进行指针搜索 可以看到出现4个数据 说明,方法名为set_HP的函数及其所属类名有4个 我们以第4个为例 转到 可以看到他的附近是一堆指针 我们以搜索到的指针为本 在他偏移-8的地方 Read More
好久不见,甚是想念。 对于本期来说,我思考了很久。 灵感总是一瞬间爆发出来的,不是吗。 好了 实践开始 注:偏移皆为16进制偏移 我们先看这个函数 public override Boolean beHurt(AttackInfo attackInfo) { } 分析一下: 翻译为:"是否受到伤害" Read More
注:本期是写给自己看的 首先,我找到了a内存的某个忍者的人物移速,然后通过ce调试,找到了访问他的操作码 LDR R0, [R4,#36] 随后看了寄存器,r4十进制偏移36就是这个忍者的移速,而ldr是把他读取到r0中 接着我看到了他地址下面的地址,操作码是这个 STR R0, [R9,#20] Read More
首先我们需要把这个游戏的dump给搞出来【网上都有教程,在这里我就不再多说了】 然后我们进行搜索关键词,例如血量就是hp 那么我们就搜索get_hp ![](https://img2023.cnblogs.com/blog/2140657/202307/2140657-202307052142480 Read More
这里我用火影演示 首先我们知道,鸣人的决斗场技能代码为900010151,0251,0351,0451等等 我们进行搜索 然后再转到第二个进去(第一个为忍者技能的序列表) 注:序列表里的代码与那个他相对应的技能指针是对应的,可在序列表的上一级指针中发现 我们在偏移-8的地方会发现这个技能代码的指针头 Read More
首先我们知道,大多数人一看到火影更新就想知道是更新了新忍者吗?新忍者又是哪个?代码又是多少?等等 然后只能把文件导入到电脑中,进行拆包,这样太过于麻烦了。 所以,这次我便教你们如何用GG来查看有没有更新新忍者,以及他的代码 首先,我们搜索一个不知名副本忍者的代码001(为了方便定位到忍者的序列组) Read More