揭秘电子数据取证中的APK加壳与脱壳秘技

admin 2024年1月14日21:21:58评论20 views字数 1470阅读4分54秒阅读模式

点击上方「蓝色」字体关注我们

安卓APP的开发主要都是采用Java语言进行开发,其Java源码最终编译成smali字符码,以classes.dex文件保存在APP的APK中,目前市面上大部分APK在发行时均会采用代码混淆及加固(即加壳),代码混淆仅用于让APK被反编译后获取的代码难理解,加固则用于让APK难于被反编译,提高了APK的安全性,也提高了APK被逆向分析破解的门槛。

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

常规的APK加固方式过程

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

编写简单APK程序。

揭秘电子数据取证中的APK加壳与脱壳秘技

APK签名打包完成后输出为app-release.apk

揭秘电子数据取证中的APK加壳与脱壳秘技

使用360加固助手对打包完成的APK进行签名并重新输出为app-release_sign.apk,使用反编译软件打开打包完成的测试APK app-release_sign.apk,此时反编译结果与源代码一致。

揭秘电子数据取证中的APK加壳与脱壳秘技

使用360加固助手对测试APK进行加固

揭秘电子数据取证中的APK加壳与脱壳秘技

加固后再使用反编译软件打开,在程序目录下无法查看程序源代码,对逆向分析的DEX文件和资源文件进行了加密保护

揭秘电子数据取证中的APK加壳与脱壳秘技

APK资源文件assets中,增加了加固的so文件

揭秘电子数据取证中的APK加壳与脱壳秘技

使用查壳工具对测试APK查壳

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

常见加固方式

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

市面上常见的加固方式包含爱加密、360加固、百度加固、阿里加固、腾讯加固、盛大加固、瑞星加固、国信灵通加固、apkprotec协固、几维安全加固、顶像科技加固、网易易盾等,或是通过自己编写的程序进行加固,各个加固技术产品都有其各自优缺点。

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

未加壳的APK解包方式

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

对于没有加壳的APK,有以下三种方法:

1、使用apktool对APK文件进行反编译,一般反编译后的源码为smali,不便于理解,需再次解析;

2、将APK文件另存为ZIP压缩文件,解压后使用dex2jar对classes.dex文件进行解析,解析成功后会生成jar文件,使用jd-gui程序打开jar文件则可看到程序源代码;

3、直接使用反编译程序打开,例如jadx-gui、GDA,技术难度较低,推荐使用。

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

加壳的APK解包方式

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

若使用查壳工具查询出APK加壳或使用上述未加壳的APK解包方式对APK进行反编译后无法查看到程序源代码,当加固程度不是很高时,有以下两种相对简单点的工具对APK进行脱壳:

揭秘电子数据取证中的APK加壳与脱壳秘技

Fdex2

使用Fdex2,将xposed、Fdex2、mt管理器及需要脱壳的APK程序安装到安卓模拟器上,激活Fdex2添加的xposed模块,运行后在模拟器内对应APK包名的文件夹中获取对应的classes.dex文件,再使用jadx-gui或dex2jar程序对文件进行反编译。

揭秘电子数据取证中的APK加壳与脱壳秘技

Frida-DexDump

使用Frida-DexDump,在安装好firda相关程序后,将需要脱壳的APK程序安装到安卓模拟器上,利用其脱壳命令“frida-dexdump -U -d -f 包名 -o 存放dex路径”获取到该APK的classes.dex文件。

揭秘电子数据取证中的APK加壳与脱壳秘技

近几年加固技术的发展主要经历阶段为动态加载、内存不落地加载、指令抽取、指令转换/VMP、虚拟机源码保护,随着互联网技术发展的不断升级,加固技术快速发展及其攻防对抗的更迭,虚拟机源码保护成为当前领先的加固技术,为APP提供了强有力的保护,在这种环境下,对于违规或恶意的APP程序进行逆向分析也将变得越来越困难。

在电子数据取证中,需要深入了解某个应用程序的内部机制,以便查明潜在的犯罪活动或其他非法行为。APK加壳与脱壳技术提供了一种手段,能够更好地分析应用程序,发现隐藏的功能、检测潜在的威胁或找到证据,确保电子数据的完整性和可靠性。

揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技
揭秘电子数据取证中的APK加壳与脱壳秘技

点个“在看”你最好看

原文始发于微信公众号(网络安全与取证研究):揭秘电子数据取证中的APK加壳与脱壳秘技

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月14日21:21:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   揭秘电子数据取证中的APK加壳与脱壳秘技http://cn-sec.com/archives/2389005.html

发表评论

匿名网友 填写信息