别人需要做这个功能,开始用易语言实现,发现被编码的问题绕到坑底了,ANSI-UTF8 ,gb323-uft8 ansi到un等等,做到最后也没有完成,因为做一个程序顾客的要求有时候很苛刻,有的甚至需要几个小时完成。
因为这个APK,是新版本的,我曾经研究了几百个APK,也反编译了上百个SWF,研究过上百个JS加密的,所以非常懂得这些东西套路,目前SO库加密的比例很几年前的20%急剧上升到目前的90%,也就是说,反编译上基本上是一条不归路、也是一条血路。
APK从以前的DEX文件到反编译的JAVA代码,到SO库跟踪调试dump,再到修改smail代码,再到反射HOOK注入,再到当前的内存截流等等,方法一波接一波,但是APK从加固、到反调试,再到校验等等,也是防止方法一重接着一重。
SWF的反编译也是这样一个上述一个过程。目前的SWF基本上调用了C语言的加密。
我做这些弹幕、人气、私聊等程序,一般不会超过10小时就能完成,从自动注册、自动发言,自动采集房间内ID,但是昨晚被编码掉到坑底了,结果没有办法。
我写程序一般用易语言,数据库之类的应用程序用delphi、做酷炫的功能用UNITY3D、手机的话肯定是eclipse(很惭愧,写了这么多年的程序,光是刷人气,弹幕、私聊的估计做了上百个了,从斗鱼、战旗、龙珠、奇秀等,做到现在连电脑也买不起,全交给网吧网费了)。
先拿起我的python,先用QT设置窗口,为什么不用GO语言呢,因为我开始用GO语言,本来实现了基本功能,结果心碎了点,界面做起来麻烦一点,结果放弃了,QT做起来多爽啊,直接用QT设计师一分钟把界面做完。
经过SO库解密的代码,再来转换byte,具体解密的代码暂时不放上了。
因为经过两步加密,一种是so库登录加密,一种是聊天的加密字节算法,没有问题就完成,只用了不到1个小时。
go语言的话,过程和python一样,只是界面的问题稍微麻烦点。
结论:用任何语言也不是问题,关键是在你遇到无法解决的难点的时候,换种方式去思考吧。
有疑问加站长微信联系(非本文作者)