思路

因为不是专业的,也不会二进制、逆向,所以只能尽量借助一些辅助工具和自身已有能力来实现。

还是先看看协议,如果是http的就和web一样,不是就用下面的思路:

  • 篡改内存

  • 重放请求

  • 加减速

篡改内存

思考过hook去查改参数,感觉性价比有点低

尝试篡改你能看到的、看不到的所有内容

和burp一样,只是方式不同,类似于改burp的响应数据来欺骗客户端

篡改的话以uid、数量等为主,还是要结合功能来思考,比如怎么获取我的信息,是不是通过我的uid来查询的,那我在内存中修改了uid,是不是就能查到别人的信息了...

  • 如果能直接看到数据的变化,比如血量、攻击力、物品数量等,可以直接多次搜索对应的数据能搜到,那就是最简单的直接改就行
  • 如果能直接看到数据的变化,比如血量、攻击力、物品数量等,但搜索对应的数据怎么都搜不到,那么就可以尝试盲搜,比如数据一直在变小,那么我们先搜索所有的数据,然后筛选减少的,然后再筛选减小的,直到确认了为止
  • 如果不知道要改的数据是什么,比如uid,比较实用的办法就是先找可能有关联的数据,比如用户名,然后去看用户名附近的内存是否存在疑似uid的东西
  • 如果不知道要改的数据是什么,也找不到关联的数据,比如坐标这种,那么就可以一直动,然后一直搜索改变的数据,最后再去分析
  • ...(核心还是得知道你想要实现的效果是什么

内存修改工具

工具推荐用电脑上的CE,功能和Android上的GG修改器等一样,原因如下:

  1. 用CE去加载整个Android模拟器的内存,然后进行修改,比直接用GG模拟器修改应用内存靠谱,感觉更不容易被检测到
  2. 用CE去修改内存时,可以让Android模拟器关闭root,仍然可以修改内存,绕过一些游戏的root检测

使用

不建议用mac使用ce,问题多,麻烦,如果一定要用遇到问题了可以参考:https://github.com/cheat-engine/cheat-engine/issues/2784

图形化的工具,基本都有说明,可以去网上随便找点视频都有,就不多说了,进程的话基本也都是定位Handle或者Headless的进程,着重记录技巧部分

image-20240531下午54758499

技巧

操作

  • 判断进程是否正确:设置里面设置热键进行暂停,查看应用是否会正常暂停,会就说明选对了

    image-20240531下午51813257

纯经验

  • 小程序小游戏不支持单数,所以显示1在内存中可能是2

重放请求

有想过hook对应的函数来实现重放,但难度太大了,性价比感觉不高

主要是客户端没有做验证,比如1个礼包可以多次领取,1个卡片可以多次兑换等。

  • 不通过hook的方式实现并发:用NetLimiter,比如限速到1b,然后疯狂点击想要并发的功能即可,可能可以实现
  • 重放TCP数据包:不管数据加密还是没加密,WPE可以原封不动的给你重发,如果数据存在加密可能难篡改,如果存在防重放机制估计就G了
  • 干扰流量太多怎么办:一般游戏都会有心跳包,找到心跳包就大概知道服务端的IP了,关注这个IP相关的就行

加减速

通过CE的Speedhack来修改游戏内部的时钟,从而达到加减速的效果。

参考

Copyright © d4m1ts 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-06-02 15:08:37

results matching ""

    No results matching ""