Frida应用基础及APP https证书验证破解
副标题[/!--empirenews.page--]
一、Frida简介 1. 基础介绍 Frida是适用于开发人员、逆向工程师和安全研究人员的轻量级Hook工具,它允许将JavaScript代码或库注入Windows、macOS、GNU / Linux、iOS、Android和QNX上的本机应用程序。此外, Frida还提供了一些基于Frida API构建的简单工具。 Frida的四大特点:
Frida访问地址:https://github.com/frida/frida。 2. 与其他Hook工具的对比 (1) Xposed的优缺点
(2) Frida的优缺点
(3) SubstrateCydia的优缺点
以上3个工具可以说是现在用得最多的hook工具了,总结一句话就是,写Java层hook还是Xposed方便,写Native层hook适合用SubstrateCydia,而对于处在开发阶段的破解者来说,则还是Frida最靠谱。 二、Frida Hook示例 1. 连接Android设备 (1)需要一台已经root的Android设备(可以使用Android模拟器),支持4.2~6.0版本。 (2)需要使用来自Android SDK中的adb工具连接Android设备。 (3)在https://github.com/frida/frida/releases中下载相应的frida-server应用,示例使用夜神Android模拟器4.4版本,下载的frida服务端是frida-server-12.2.16-android-x86.xz。 (4)启动夜神Android模拟器4.4版本,运行adb devices命令,即可成功连接Android设备,如图2.1所示。 图2.1连接 Android 设备 (5)运行如下命令,将frida-server复制到Android设备上,提升权限并运行。
(6)运行adb shell ps命令,查看frida-server已成功运行,如图2.2所示。 图2.2 Frida-Server 成功运行 (7)运行adb shell netstat命令,检查frida-server监听端口,默认为27042,如图2.3所示。 图2.3 端口监听成功 (8)运行adb forward tcp:27042 tcp:27042命令,把Android设备端口转发到PC端。 (9)运行frida-ps –R命令,即可查询Android设备当前运行进程,至此连接Android设备成功(见图2.4)。另外,也可以直接通过USB将Android设备与PC端连接,运行frida-ps –U即可测试是否连接成功。 图2.4 Android 设备连接成功检测 2. HTTPS单向认证强校验Hook示例 本次示例通过在本地搭建Tomcat + SSL自签名证书环境,使用一个开源的Android HTTPS双向认证项目: https://github.com/Frank-Zhu/AndroidHttpsDemo ,对其中部分代码进行修改后重新编译,构建本次测试的 APP应用。 (1) 基本原理 想要绕过证书锁定抓明文包就需要先知道APP是如何进行锁定操作的,然后再针对其操作进行注入解锁。 Android客户端关于证书处理的逻辑按照安全等级分类,如表2.1所示。 表2.1 Android客户端证书处理的安全等级分类 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |