菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性...

最近准备从x86上转移到linux上, 于是乎弄了个手游来玩, 正巧朋友推荐了一个修改软件,类似于八门神器、CE,用于搜索修改游戏数据,于是抱着好奇的心理初步研究了下该软件的原理:

android apk加密1.png

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第1张图片

研究了下软件, 搜索,修改,暂停游戏,实现BT都有,比较齐全,猜测应该核心功能是基于SO上实现的。

打开AndroidKiller.exe,拖进APK,很顺利的反编译完成

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第2张图片

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第3张图片

在目录结构并没有发现so相关的东西, 搜索LoadLibrary也一无所获,看下进程信息

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第4张图片

我擦,竟然没有进程信息。。。纠结了。先通过smail看它现有的信息吧。

搜索它的catch_.me_.if_.you_.can_,也依然一无所获, 那么搜索它的版本号呢,

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第5张图片

发现了:

android apk加密7.png

这里定义的版本号,继续往下浏览, 发现:

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第6张图片

这里的代码,通过插入输出信息,可以知道,它这里获取了包名,接着原名被替换掉了,至此原来不是没有找到,而是被替换了,所以按照原来的去找就肯定找不到了。

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第7张图片

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第8张图片

此举做法,应该是防止壳或者检测类软件检测它的进程信息。

接着继续看它的启动信息, 因为该软件能kill掉其他进程,所以它可能是守护进程。

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第9张图片

在这里输出exec的参数,可以发现一个关键性的点:

android apk加密12.png

好家伙果然有so 文件 ,那么目录中没有,这里又加载了,说明它的so是通过下载流dump出来的。

继续往下看,发现:

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第10张图片

android apk加密14.png

到这里OK,可以在该路径下把so文件给pull出来。

分析so部分

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第11张图片

原来它用了ptrace该函数实现注入游戏进程。

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第12张图片

通过这两个部分,同样可以对它实行一些检测,比如检测进程在被注入的情况下,进程状态, 检测TracerPid的值, 被注入调试,该值不为0。

菜鸟第一次挑战apk,结果整得怀疑人生,终于知道android apk加密的重要性了。apk如果不做防护,一个菜鸟花一点时间就能破解它,找个在线加密工具做防护还是很必要的,在网上找了几家加密做测试,发现几维安全的apk加密工具,dex文件加密用起来还不错,关键还是免费。平台可以免费使用加密工具,有需要的自取了!

http://cloud.kiwisec.com/encr...
拿走不谢

操作方法非常简单只需四步:

1、登录官网注册几维安全账号;

2、上传所需加密文件(如.apk/.so等文件);

3、下载加密完成应用;

4、签名;

菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性..._第13张图片

此平台也还有其他加密功能,例如:安全检测、安全监测、iOS加密等等。

由于是菜鸟初入门槛,水平所限,写的比较浅显,还请大神勿喷。

你可能感兴趣的:(菜鸟第一次挑战apk逆向,结果整得怀疑人生,终于知道android apk加密的重要性...)