unidbg 运行 so 流程说明文档¶
本文为简要介绍
unidbg运行so文件的方法,详细的教程请在互联网上冲浪吧。
1. 前言¶
简单介绍下
unidbg的使用场景
本文介绍在遇到复杂算法的 so 时,其中会含有过多魔改后的加密方法或者自写算法,尝试用 py 或其它语言算法实现其逻辑时过于头秃和耗时。这时又不想使用 frida-rpc 和 xposed 脚本之类的方法(此方法依赖真机或模拟器,不可靠)时,推荐使用凯神的 unidbg 框架。
unidbg 脚本也不是任何情况下都是易开发的,在 so 的 native 层含有与 java 应用层交互时,就需要我们来补环境。js 逆向逃不过补环境,app 逆向也是,让我怀疑宇宙的尽头是不是就是补环境╮(╯▽╰)╭。
本文档过于简洁,主要用于展示功能。unidbg 完全可以单开一个板块来介绍!
本文档的说明文档过于简单,请在 github 上和网上冲浪来查看详细教程。
2. 前提准备¶
由于 unidbg 主要为 java 语言开发,依赖 java 和 maven 环境,以下为我的环境机器版本:
- unidbg 下载地址
java v11.0.13maven v3.8.4- 安装
idea
注:java 和 maven 版本尽量新,否则会有蜜汁 bug
3. 跑通 unidbg 示例¶
如果能正常跑通
unidbg的任一示例,则说明环境配置成功。
- 我们先下载
unidbg源码 - 然后我们需要在
idea上配置自己的maven的环境,网上教程很多,略 - 最后跑通
unidbg-android目录下的 "安居客","看雪" 等等示例即可
4. unidbg 运行 so¶
最终的目的就是使用
unidbg运行so文件,这个时候就需要idea打包跑通的java文件为jar包,然后其它任意语言调用jar包即可。如何实现?是搞成http接口,还是jsonrpc调用,还是直接执行java指令生成结果等就请群魔乱舞吧。
- 不想写了,看下
csdn上的教程(Unidbg的初步使用)吧 ,我也参考的这个。
5. 补充¶
-
想起在初接触
unidbg时,有种和遇到内存漫游,rpc,自吐等方法一样的激动心情。此文章只是用来向你传递同样的种子,希望你自己去深入探索和实践。 -
这里补上我的一个示例:

- 补充一下
python subprocess库执行jar包结果
