1.WCDBԴ?源码?
WCDBԴ??
详解Hook框架frida,让你在逆向工作中效率成倍提升
一、源码frida简介
frida是源码一款基于python + javascript的hook框架,支持运行在各种平台如android、源码ios、源码linux、源码hook connect源码win、源码osx等。源码主要通过动态二进制插桩技术实现代码注入,源码收集运行时信息。源码
插桩技术分为两种:源代码插桩和二进制插桩。源码源代码插桩是源码将额外代码注入到程序源代码中;二进制插桩则是将额外代码注入到二进制可执行文件中。其中,源码静态二进制插桩在程序执行前插入额外代码和数据,源码生成永久改变的源码可执行文件;动态二进制插桩则在程序运行时实时插入额外代码和数据,对可执行文件无永久改变。
二、web rtc源码下载frida的安装
frida框架包括frida CLI和frida-server两部分。frida CLI是用于系统交互的工具,frida-server则用于目标机器上的代码注入。
1. frida CLI安装要求包括系统环境(Windows、macOS、GNU/Linux)、Python(最新3.x版本)等。通过pip安装frida CLI,java横版源码下载frida CLI是frida的主要交互工具。
2. 分别下载frida-server文件(格式为frida-server-(version)-(platform)-(cpu).xz),并根据设备类型选择对应的版本。下载文件后解压,将frida-server文件推送到Android设备,添加执行权限并运行(需要root权限)。
3. frida还提供了其他工具,如frida-ps用于列出进程,小鹿LIVE源码下载frida-trace、frida-discover、frida-ls-devices、frida-kill等。这些工具用于不同场景,具体使用可参考frida官网。
三、frida Hook实战
通过制作类似微信抢红包的棋牌搭建源码修改插件来演示frida的使用。首先拦截微信信息持久化到本地的接口(com.tencent.wcdb.database.SQLiteDatabase的insert()方法),解析获取每条信息的内容、发送者等信息。
抢红包流程分析:点击打开红包时,执行请求(ad类)发送抢红包的请求。需要的参数包括头像、昵称、发送者信息等,参数主要来自luckyMoneyReceiveUI.kRG类。通过解析解析参数,发送com.tencent.mm.plugin.luckymoney.b.ag类请求,并获取timingIdentifier,最后发送com.tencent.mm.plugin.luckymoney.b.ad类请求即可抢到红包。
四、模拟请求
分析微信的请求发送方法,通过frida实现请求发送。主要通过反射获取发送请求的Network,然后调用其a方法发送请求。解析红包信息,发送ag请求并获取timingIdentifier,改造SQL的insert方法,实现抢红包插件。
附录
实验环境包括微信版本6.6.7、frida版本.0.、frida-server版本、Android版本7.0等。ISEC实验室作为网络安全服务提供商,专注于网络安全技术研究,提供全面的网络安全服务和解决方案。