XX客户端APP签名分析之脱壳篇

Ann2021-08-02 19:07:58

前言

对于当前的APP来说,基本都采用了加壳这一方式来对APP进行加固,这也是在算法分析上需要过的第一个点。在挖洞过程中,主要还是针对业务层逻辑进行分析处理,寻找漏洞点。因此本篇利用某园这一APP,侧重点在于对脱壳原理的介绍和一些脱壳工具的分享和使用。

01 脱壳原理介绍

首先说一下壳的历史发展。第一代壳是对Dex加密,会进行Dex字符串加密,资源加密,对抗反编译,反调试,自定义DexClassLoader。

第二代壳是Dex抽取与So加固,对抗第一代壳常见的脱壳法,Dex Method代码抽取到外部(通常企业版),Dex动态加载,So加密。

第三代壳是Dex动态解密与So混淆,Dex Method代码动态解密,So代码膨胀混淆,对抗之前出现的所有脱壳法。

然后现在出现了第四代加壳技术,就是vmp壳。

而我们脱壳就是要对内存中处于解密状态的dex的dump。这就需要准确定位内存中解密后的dex文件的起始位置和大小。

02 常见壳的识别

对于市面上常见的壳,基本都可以通过其基本命名去判断。

娜迦:libchaosvmp.so , libddog.solibfdog.so爱加密:libexec.so, libexecmain.so梆梆:libsecexe.so, libsecmain.so , libDexHelper.so360:libprotectClass.so, libjiagu.so通付盾:libegis.so网秦:libnqshield.so百度:libbaiduprotect.so腾讯:lejiagu

另外还可以使用工具如PKiD,APKDetecter等等。

03 Youpk

首先介绍一下Youpk这一工具,项目地址:

https://github.com/Youlor/Youpk

这也是笔者常用的方法,因为手头上的测试机正好是pixel 1代,刚好适配。可以在分析的时候就把脱壳这件事做了,pixel+Youpk,站着就把钱赚了(手动狗头)。可能唯一不足的地方就是需要刷机,不过作者已经提供了一键刷机的方法,因此问题也不大。使用方法也很简单。首先在手机上启动某园APP,然后

adb shell "echo cn.domo.domo >> /data/local/tmp/unpacker.config"

之后查看日志信息等待unpack end即可。


然后将文件pull出来直接导入jadx(jadx支持多dex分析,免去了修复的麻烦)即可进行java层分析。

04 FRIDA-DEXDump

这是hluwa大佬的作品,项目地址:

https://github.com/hluwa/FRIDA-DEXDump

只需要frida环境即可使用。可以运行frida-dexdump或者python3 main.py进行脱壳。

05 BlackDex

这是一个最近出来的工具,是最最最支持傻瓜式操作的,项目地址:

https://github.com/CodingGay/BlackDex

官方介绍:BlackDex是一个运行在Android手机上的脱壳工具,支持5.0~12,无需依赖任何环境任何手机都可以使用,包括模拟器。只需几秒,即可对已安装包括未安装的APK进行脱壳。项目包括32位和64位,Google 已经在2019年9月强制所有新上架 Google Play 的应用提供 64 位版本,64取代32是趋势。不过国内的apk,还有很大一部分都是32位。因此如果其中一个版本没有显示你想脱壳的apk就选择另一个版本。笔者使用的一加9+balckdex 32位进行测试。只需5秒,就出结果了。

并且blackdex还支持深度脱壳,但是还是不太稳定,期待后续吧。

06 总结

本篇文章主要注重了脱壳这一过程,没有很深入的介绍脱壳中的技术点,毕竟表哥们还要把更多的精力放在后续的挖洞上,有更多关于脱壳的想法以及一些骚操作大家可以在评论区积极讨论。下一篇就将进行脱壳后的签名算法分析。

软件vmp脱壳
本作品采用《CC 协议》,转载必须注明作者和本文链接
vmp trace的优化处理
2022-07-28 09:46:37
前言在之前写的《利用机器学习分析vmp的思路》中,把读写内存的操作数直接替换成了绝对地址的形式,这就产生了大量赋值语句,阅读起来也不是很友好。trace的处理在之前写的文章基础上对trace增加了eflags寄存器的记录。
近期,CNCERT针对软件下载站展开计算机恶意程序监测行动,随机抽取了下载站的样本4424个,判定其中含有计算机恶意程序142个,涉及6家软件下载站。 由于这些软件下载站在计算机应用程序发布过程中,并未建立完善的安全审查机制,导致目前软件下载站成为传播计算机恶意程序的一个重要通道,有效遏制具有信息窃取、远程控制等恶意行为计算机恶意程序的传播。
背景在无意间从网络上获取到一款付费的游戏黑产外挂样本,并且该外挂号称可以无视游戏客户端的反外挂检测功能。好奇
近期,火绒威胁情报系统监测到一款后门病毒正在快速传播,被激活后会通过远程服务器下载多个恶意文件并获取远端恶意代码,随后黑客可以进行截取受害者屏幕图像、远程控制受害者电脑等各种恶意操作。目前,火绒安全产品可对上述病毒进行拦截查杀,请用户及时更新病毒库以进行防御。后面有可直接使用的域名信息,称其为字符串区。本次下发的恶意代码进行了包括屏幕截图,注册表读取,保持回连等操作。
1 赛题回顾 2 最终排名(部分) 3 启发与思路 4 算法与模型 函数名(CG图) 复赛模型融合 Section信息 字符匹配 Yara匹配 Opcode 4. 其他布尔信息 灰度图 直方图 PE静态特征模型 特征工程 5 结果与改进 复...
在万物互联的数字时代,API承载着企业核心业务逻辑和敏感数据,在应用环境中变得越来越普遍。特别是在疫情常态化后,移动办公、在线教育等线上应用蓬勃发展,API作为能够支撑线上应用连接和数据传输重任的一种轻量化技术,受到国内外企业组织的青睐。
根据SecurityScorecard发布的《全球第三方网络安全漏洞报告》显示,2023年大约29%的违规行为可归因于第三方攻击媒介,因为许多违规行为的报告没有指定攻击媒介,所以实际比例可能要更高。MOVEit、CitrixBleed和Proself是2023年的软件供应链方面三个最广泛利用的漏洞,其中MOVEit零日漏洞产生广泛影响可能被归咎于第三方、第四方甚至第五方。
近日,以色列网络安全公司Seal Security宣布获得由Vertex Ventures Israel领投的740万美元种子轮融资,Seal归属软件供应链安全赛道,其研发的平台产品主要利用生成式AI为客户提供自动化的修复解决方案,其平均修复时间可从过去几个月缩短到现在的几个小时,足以以应对软件供应链这一日益严峻的挑战。
通过在开源软件包中插入恶意代码来迅速将恶意软件传播到整个软件供应链中是恶意分子常用的攻击手段。然而,最新的研究发现,如果用户等待大约14天后再将这些软件包更新到最新版本,就可以避免受到软件包劫持攻击的不良影响。
软件组成分析(SCA)应用程序安全测试(AST)工具市场的一个细分市场,负责管理开源组件的使用。SCA工具自动扫描应用程序的代码库,包括容器和注册表等相关构件,以识别所有开源组件、它们的许可证遵从性数据和任何安全漏洞。除了提供对开源使用的可见性之外,一些SCA工具还通过区分优先级和自动补救来帮助修复开源漏洞。SCA工具通常从扫描开始,生成产品中所有开源组件的清单报告,包括所有直接和传递依赖项。拥有
Ann
暂无描述