【Frida】【Android】 工具篇:查壳工具大赏

🛫 系列文章导航

🛫 导读

开发环境

版本号描述
文章日期2024-03-24
操作系统Win11 - 22H222621.2715
node -vv20.10.0
npm -v10.2.3
夜神模拟器7.0.5.8
Android9
python3.9.9
frida16.2.1
frida-tools12.3.0
objection1.11.0

1️⃣ 混淆加壳简介

混淆加壳技术的演变过程

Android混淆加壳技术的演变过程可以追溯到Android应用程序开发的早期阶段。这些技术的发展旨在保护应用程序的代码资源,防止被逆向工程师轻易分析和篡改。以下是Android混淆加壳技术演变的主要阶段:

  1. 基础混淆技术: 初期的Android混淆技术主要包括基础的代码混淆,如重命名类、方法、变量名称等,以增加代码的复杂性和难度,使得逆向工程变得更加困难。
  2. 资源混淆: 随着Android应用程序中资源文件的重要性增加,资源混淆技术被引入以保护资源文件的完整性和机密性。这些技术包括资源文件的重命名、加密、压缩等,以防止资源文件被轻易访问和解析。
  3. 动态加载技术: 动态加载技术将应用程序的部分代码或资源延迟加载到运行时,以减少应用程序的静态分析难度。这些技术包括使用反射动态类加载器等,使得应用程序的部分逻辑变得更加难以分析。
  4. 加壳技术: 加壳技术是一种将原始应用程序的代码和资源封装在一个加密的外壳中,并在运行时解密和加载的技术。加壳技术不仅可以保护应用程序的代码和资源,还可以添加额外的安全检测和防护功能,如代码完整性验证、反调试、反动态分析等。
  5. 虚拟化技术: 虚拟化技术将应用程序的部分代码或资源转换为虚拟指令集虚拟机指令,使得应用程序的逻辑更加难以理解和分析。这些技术可以在运行时动态解析和执行虚拟指令,从而增加了应用程序的安全性和反逆向能力。
  6. 自定义加密算法: 一些高级加壳工具和服务提供商开始采用自定义加密算法来保护应用程序的代码和资源,使得解密和逆向分析变得更加困难。

综上所述,Android混淆加壳技术在保护应用程序安全方面经历了从基础混淆到加壳、虚拟化以及自定义加密算法等多个阶段的演变,以应对不断增长的逆向工程挑战和安全威胁。

常见加固厂商及特征

以下是一些常见的Android加壳厂商及其特征,以及它们可能产生的特征文件清单:

加壳厂商特征特征文件清单
Qihoo 360加固代码混淆、资源加密、DEX文件优化、反调试、反反编译、防注入等libjiagu.so
libjiagu_x86.so
libjiagu.dat
腾讯乐固代码混淆、资源加密、DEX加密、实时反病毒扫描、加固报告生成等libBugly.so
libxgVipSecurity.so
libshella-xxxx.so
百度加固代码混淆、资源加密、DEX优化、动态检测和防御、安全风险评估等libbaiduprotect.so
libbaiduprotect.so
libbaiduprotect_art.so
baiduprotect.jar
baiduprotect1.jar
阿里聚安全代码混淆、资源加密、DEX优化、应用加固评估、漏洞修复建议等libsgmain.so
libfakejni.so
libsgmain.so
libzuma.so
libmobisec.so
爱加密代码混淆、资源加密、DEX加密、实时防御、智能修复等libexec.so
libexecmain.so
libijmDataEncryption.so
ijiami3.ajm
libexecv3.so

加固平台还有很多,以后也会一直增加新的平台和方案,目前比较完整的可以参考https://github.com/moyuwa/ApkCheckPack/blob/main/apkpackdata.json

2️⃣ ApkCheckPack(推荐)

ApkCheckPack大概是加固规则最全的开源工具。
将能收集到的加固特征汇总整理,支持40个厂商的加固检测

apkpackdata.json

ApkCheckPack规则保存在apkpackdata.json文件中,配置说明如下:

  • sopath 绝对路径的特征so

  • soname 仅特征so文件名

  • other 其他特征文件、字符串

  • soregex 对有版本号的特征so库,使用正则匹配

支持的功能

ApkCheckPack支持以下四种方式的特征检测:

  • 特征so库扫描:通过对比加固特征so库名/路径,判断是否有加固
  • 校验签名:校验V2签名,判断是否存在Janus漏洞
  • 密钥泄露:扫描Apk文件内容,匹配是否有密钥字符串
  • 反环境检测:扫描D ex文件搜索是否有Root、模拟器检测

使用说明

ApkCheckPack是通过go编写的程序,官网支持release版本。目前版本为20240130,可以在github下载:《https://github.com/moyuwa/ApkCheckPack/releases》,也可以通过本节绑定资源获取。

ApkCheckPack使用很简单,直接在命令行中通过指定目标apk即可使用:
在这里插入图片描述

除了命令行外,还有很多基于该开源工具编写的GUI工具,不过版本太老了,有兴趣的可以尝试一下:

  • https://github.com/tongchewy/apkscan-pkid-v2.0
  • https://github.com/0neOfU4/apkscan-pkid-v2.1

3️⃣ ApkScan-PKID

ApkScan-PKID是一个用于Android应用程序加壳检测的工具。PKID代表"Packaged Known Input/Output Detection",即打包已知输入/输出检测。这个工具主要用于检测APK文件是否被加壳,并尝试识别加壳类型。

下载地址

  • Windows版下载地址:https://www.jb51.net/softs/603472.html#downintro2
  • Java版下载地址:https://pan.baidu.com/s/1rDfsEvqQwhUmep1UBLUwSQ 密码: wefd

使用说明:
通过打开文件、或者拖拽到应用上,稍等片刻即可检测出结果:
在这里插入图片描述

ps:

  • 整体来说,软件版本过旧,检测结果跟不上时代了,不推荐使用。
  • Java版的需要用到Java环境,请自行安装。

📖 参考资料

ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 《Android应用安全实战:Frida协议分析》是一本介绍Frida工具的使用和Android应用安全分析的书籍。Frida是一个强大的动态分析工具,可以帮助开发人员和安全研究人员对应用进行动态分析。本书以Frida为基础,介绍了如何对一些常见的安全问题进行定位和修复。 本书主要分为三部分,第一部分介绍了Frida工具的安装和使用方法,包括如何在Windows、Mac和Ubuntu三个系统上安装Frida,以及如何使用Frida对应用进行动态分析和漏洞挖掘。第二部分介绍了一些常见的安全问题,如反调试、class tampering、hook、rpc等问题,并详细介绍了如何通过Frida对这些问题进行分析和修复。第三部分介绍了一些应用案例分析,以及如何通过Frida对应用中的加密算法、网络协议、第三方代码等进行分析。 本书的特点在于实战性强,作者通过大量的实例和案例,让读者能够更加深入地理解Frida工具的使用方法,并能够将所学知识应用到实际的项目中。同时,本书还提供了一些工具和脚本,方便读者能够更加快速地进行分析和修复工作。 总的来说,本书是一本对于安卓开发人员、移动安全研究人员和安全工程师来说非常有价值的工具书,无论是对于入门和提高都有很大的帮助。Frida工具的特点在于动态分析,能够帮助开发人员和安全工程师快速定位和修复常见的安全问题。而本书则是一个详细的实例教程,通过这份教程的学习,读者将能够掌握Frida工具的使用方法,并能够熟练地应用到实际的项目中。 ### 回答2: 《Android应用安全实战:Frida协议分析PDF》是一本针对移动应用安全的实战指南。这本书主要讲述了如何借助Frida这个强大的工具来进行移动应用的安全分析和漏洞挖掘。 Frida是一款可用于对移动应用进行实时动态分析的工具,它的优点在于可以轻松地hook任意函数和类,还可以在不用重新编译应用程序的情况下动态修改应用程序的行为。Frida的这些特性使得它成为了许多黑客和渗透测试人员使用的首选工具之一。 在《Android应用安全实战:Frida协议分析PDF》中,作者首先介绍了Frida工具的基本原理和使用方法,包括安装和配置Frida、使用Frida脚本、使用Frida进行hook等。接着,作者详细介绍了Android应用程序的各个组成部分和重要的安全机制,并给出了许多实例来演示如何通过Frida来绕过这些安全机制。 最后,作者还介绍了一些常用的Frida脚本和工具,比如Hooking SSLPinning脚本、Frida-Extract工具、在Android 8.0上使用Frida等。这些工具和脚本可以帮助读者更快更高效地进行移动应用的安全分析和漏洞挖掘。 总的来说,《Android应用安全实战:Frida协议分析PDF》是一本非常实用的书籍,对于渗透测试人员、黑客和移动应用开发人员来说都具有一定的参考价值。通过学习和掌握Frida这个工具,可以让我们更好地发现和修复移动应用程序中的安全问题,从而提升我们的移动应用程序的安全性和可靠性。 ### 回答3: 《Android应用安全实战:Frida协议分析》是一本关于安卓应用安全的实战教程。该书的重点在于介绍如何使用Frida协议进行应用程序的逆向分析,得出应用程序的安全漏洞,并给出相应的解决方案。 Frida是一个能够在运行时动态注入JavaScript并调试代码的工具。这也意味着Frida能够直接访问运行在内存中的应用程序。这个优势使Frida成为了一个强大的安卓应用程序分析和调试工具。通过使用Frida,用户可以对应用程序进行监视、修改、甚至是攻击。 《Android应用安全实战:Frida协议分析》详细介绍了Frida的使用方法,包括Frida的架构、基本操作、配置和调试应用程序等。此外,该书还介绍了有关安卓应用程序逆向工程和安全审计的实操技能。通过本书的学习,在安卓应用程序的开发过程中,读者可以掌握一定的安全知识和技能,从而提高应用程序的安全性,避免攻击和漏洞的发生。 总之,《Android应用安全实战:Frida协议分析》是一本非常实用、易懂的安卓应用程序安全入门教材。在阅读该书并掌握其中的技能后,用户可以应用这些技能进行应用程序的逆向分析和安全审计,从而达到提高安卓应用程序安全性的目的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值