1:首先我们拿到一个apk要分析它的构造
某知名厂商ar游戏封包加密分析
正常情况我们应该分析lic2pp 但是最后分析发现他的加密在libapollo.so
根据关键字搜索法 我们定位到这个是加密函数 那么按照F5出来的一点一点进行调试 我们就可以分析出他的算法了 分析出来后你会发现这个游戏用了protobuf来序列化包
如果你不把这个解析出来 你会完全不明白包里面是啥意思 因为被序列化过了
2:这里我贴出来一个没序列化过后的函数包
79e00000 00 00 00 1b 00 00 00 18 00 00 00 22 00 00 00 00 ..........."....
79e00010 08 a9 5f 10 19 18 17 20 8f 99 fd f0 92 01 28 00 .._.... ......(.
79e00020 30 88 e9 a8 e9 05 38 00 ca fa 05 1e 08 01 20 e8 0.....8....... .
79e00030 d4 95 b6 d8 81 c2 eb 08 18 8f ea b4 f4 97 01 2a ...............*
79e00040 00 12 07 0a 05 0a 03 32 32 32 .......222 除了字符串是明文以为其他都被序列化了
然后这里我再贴一个用自己写的工具序列化出来的包
很明显看到这个包的结构瞬间就非常清晰 因此分析也就会更加快捷了
3:分析出来以后就可以实现各种修改 比如无限神行 无体力抓妖等等
4:那么知道了如何实现这些功能防护 当然也会变的简单了 比如无限神行是因为神行的状态是本地判断 因此如果这个状态改成服务器判断就可以修复 知道了如何触发漏洞所以修补漏洞也会变的简单
5 本人后续会不停跟进游戏以及各种软件安全这方面 希望这些文章能给各种新人带来一些帮助 也希望有能合的来的伙伴 一起学习
游戏附件
链接:https://pan.baidu.com/s/1B8T4QE34VCUzW7BNxj0Ynw
提取码:rwgi
protobuf序列化工具
链接:https://pan.baidu.com/s/1Ls4mnzp5NUqfBpLNx82_LA
提取码:jrb5