弱鸡娱乐网 · 免费提供绿色软件、活动线报以及其他网络资源,好货不私藏!

【手游破解】【技术教程】小白适用基础自更新应用小技巧

zhangzhyu 安卓软件

江湖漫漫,而我再现[滑稽]

取之三楼,终究要归于三楼,此乃因果[滑稽]安达姬大佬(应该已注销)分享过的一个自更模板,陪伴了我一段时间,在hook学习路程上一次里程碑式的纪念。

为我后面重写整个游戏菜单hook逻辑从lua到汇编提供了一定的基础,最近也刚好做菜单与APP的接口连接,在库存里翻到了这个优秀的模板和里面一些以前玩过的hook思路,所以便把当时对这个模板使用的一个功能实现小思路分享一下

不知道三楼多少人在用,当然这个也不重要,毕竟思路还是更重要(谁让你们不保存的[怒])

在dll中方法大概有几个元素构成,其实跟c命名方式差不多

加载的dll.命名空间.类名.方法名

目前大部分hook,基本不需要记忆dll。只要记好后三个元素即可。

这个模板我觉得有一点点不足就是,好像没有对重载方法的寻址,目前看寻址过滤是限定类,限定方法名,限定方法参数数量

也就是在同一个类中有两个同名方法

比如a(int a)和a(float a)他们唯一区别就是参数类型不同,有一点代码基础的朋友应该能知道

再加上很多接口都是封装好的,改装起来太麻烦。只能含泪重写了一个根据方法参数类型名字进行过滤的方式

所以结合以上一个小小的科普,再看下方的图片大家是不是可以大概了解到一个自更的过程了,找到方法地址后,就是简单的下钩了,剩下的与原有无异,先记忆一下图片内的代码

然后我们进入正题,大家可以看到我们把一个死亡方法的地址hook住了也是dodie,他在满足与isenough位于同一个类的情况下,我们可以通过hookisenough获取到这个类的实例。一样有代码基础的朋友都知道,除了静态方法其实大部分方法调用都需要一个实例

你也可以hook这个类初始化必定会调用到的方法,因为一般来讲我们只需获取一次实例,然后把他进行一次全局的保存。

这里我的写法其实是有点问题的,应该加一个判断instance实例(一般不会遇到空问题)不为空再保存或者说boosinstace为空再保存

拿到这个实例我们可以如何操作呢,那就是下一步了

我们可以直接调用这个类中所有任意的方法,只要你有他们方法的其他参数值,比如直接死亡,加金币等等,注意的是这里规范写法加上一个片段实例是否为空好一点

大概内容便是如此,文字略有差错处还请担待。江湖路漫漫,愿一路同行。他日青云见[滑稽]

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

评论列表
请自觉遵守互联网相关的政策法规,严禁发布广告、色情、暴力、反动的言论。
  • 点击我更换图片
  • 全部评论(0
    还没有评论,快来抢沙发吧!