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