unidbg调用so生成抖音xgorgon Android逆向 原创

冬晨夕阳 2020-8-15 33922


目前很多 App 的加密签名算法都在so文件中,强行逆向so的话可能会消耗大量时间和资源。

之前用 xposed 采用 hook 的方法从程序计算签名,但是需要模拟器或者真机运行这个应用,使用效率不高。
也用过 jtype 启动JVM,然后通过 native 对so文件进行调用,因为每次都需要启动JVM,所以效率也不高。

unidbg 他不需要运行 app,也无需逆向 so 文件,通过在 app 中找到对应的 JNI 接口,然后用 unicorn 引擎直接调用 so 文件,所以效率相对要高不少。


unidbg特点

  • 模拟JNI调用API,可以调用JNI_OnLoad
  • 支持JavaVM,JNIEnv
  • 模拟系统调用
  • 支持ARM32和ARM64
  • 内联钩子(Inline Hook)
  • Android import hook
  • iOS 的一些hook工具 fishhook and substrate and whale hook
  • 支持简单的控制台调试器,gdb存根,实验性IDA android调试器服务器,指令跟踪,内存读/写跟踪
  • 支持iOS objc和Swift

unidbg环境配置

unidbg下载链接: https://github.com/zhkl0228/unidbg

IntelliJ IDEA可用于编辑unidbg源

下载完成之后示导入到 IDEA 中,当然你需要准备好java环境(jdk、maven)

在这里插入图片描述

选择Maven

在这里插入图片描述

等待加载完成之后,运行src/…/encrypt 中的TTEncrypt测试用例

在这里插入图片描述

如果控制台打印相关调用信息,说明已经导入成功。

在这里插入图片描述


加载libcms.so

看过这篇文章的应该已经知道生成xg函数的位置,所以不具体说了。《抖音xgorgon(0401)

下面准备调用libcms.so文件中的 leviathan 函数

首先在 src/test/resources 目录下新建文件夹dylib,放入libcms.so文件

libcms.so 下载地址: https://download.csdn.net/download/weixin_43582101/12713664

在这里插入图片描述

然后我在 /unidbg/unidbg-android/src/test/java/com/sun/jna/ 目录下新建了 JniDispatch128.java文件

在这里插入图片描述


JniDispatch128.java文件内容如下:

后面会修改更新该java文件内容,这里不是版主没有修改权限 = =,所以贴上链接 。


“com/ss/sys/ces/a”需要调用函数所在的Java类完整路径,比如 a/b/c/d 等等,注意需要用/代替.
“leviathan(II[B)[B”需要调用的函数名,名字是smali语法,可通过jadx等工具查看
“vm.loadLibrary(new File)”so文件的路径,需要自行修改,最好为绝对路径


运行main方法即可查看生成出来的xgorgon了

在这里插入图片描述


more articles

更多douyin技术文章,可查看专栏:

https://blog.csdn.net/weixin_43582101/category_9529769.html


最新回复 (152)
  • lmdlamb 20天前
    0 153
    666
  • 0 152
    nb
  • Martin 1月前
    0 151
    好好学习天天向上
  • 0 150
    66666
  • 0 149
    学习了
  • 0 148
    66666
  • 0 147
    666
  • Qiled 2月前
    0 146
    6666666
  • 0 145
    谢谢分享
  • Yotom 3月前
    0 144
    666
  • sheeeep 4月前
    0 143
    66666
  • samuncle 4月前
    0 142
    进来学习,谢谢分享
  • hongwang 4月前
    0 141
    66666
  • 0 140
    666
  • 0 139
    666666666666
  • botong 5月前
    0 138
    学习了
  • rockxsj 5月前
    0 137
    支持  有希望了
  • a5529009 5月前
    0 136
    学习
  • 0 135
    66666
  • zhitong 5月前
    0 134
    666
  • 0 133
    666666
  • dodo 5月前
    0 132
    6666
  • 0 131
    学习学习呀。
  • xhyzwhh 6月前
    0 130
    666
  • haha8 6月前
    0 129
    好66
  • 0 128
    学习了
  • 0 127
    相当不错了
  • smart 6月前
    0 126
    6666
  • zjy6622 6月前
    0 125
    666
  • 0 124
    学习学习
  • Miscf 6月前
    0 123
    666
  • zk2020 6月前
    0 122
    6
  • 0 121
    前来学习
  • yyrr 7月前
    0 120
    前来学习
  • 0 119
    66
  • huangshi 7月前
    0 118
    学习学习
  • jhan 7月前
    0 117
    666学习了
  • 0 116
    66666666666
  • zero 7月前
    0 115
    666666666
  • everou 7月前
    0 114
    666
  • 0 113
    123
  • 0 112
    666
  • terry_hk 8月前
    0 111
    来,看一看大神的文章
  • 8月前
    0 110
    99999
  • 0 109
    look
  • 0 108
    kankan
  • 0 107
    looklook
  • ngt81403 9月前
    0 106
    迪奥
  • 0 105
    1
  • trysu 9月前
    0 104
    Mark
  • sxc 9月前
    0 103
    学习
  • 0 102
    666 学习一下。
  • qinless 9月前
    0 101
    666
  • 0 100
    大佬六匹
  • junjie 9月前
    0 99
    大佬六匹
  • chenlin 9月前
    0 98
    学习一下,研究了很久没搞明白
  • lg003x 9月前
    0 97
    666学习了
  • 0 96
    xxxxx
  • ccc008 10月前
    0 95
    学习了
  • hzzheyang 10月前
    0 94
    666666
  • lumashi 10月前
    0 93
    666
  • huruwo 10月前
    0 92
    抖音会验证运行环境生成xg。用unidbg产出的xg很多接口不返回数据
  • ayixi 10月前
    0 91
    1
  • summer15 10月前
    0 90
    谢谢大佬分享
  • bzvs1125 10月前
    0 89
    康康哈~~~
  • startzm 10月前
    0 88
    看看
  • zq9120 10月前
    0 87
    66666
  • 0 86
    666
  • killbr 10月前
    0 85
    学习
  • keynest 10月前
    0 84
    学习学习
  • 0 83
    666666
  • ShowMaker 10月前
    0 82
    666
  • bigfish 10月前
    0 81
    1
  • Ail 11月前
    0 80
    学习学习
  • 0 79
    学习
  • zjy6622 11月前
    0 78
    666
  • fkms 11月前
    0 77
    学习
  • 403373945 11月前
    0 76
    这个厉害了
  • 0 75
    前来学习
  • 0 74
    666
  • dosrka 11月前
    0 73
    666
  • q532373 11月前
    0 72
    666
  • tapas 11月前
    0 71
    太他妈牛逼了
  • it20633790 11月前
    0 70
    1111
  • 0 69
    666
  • hqs19930 11月前
    0 68
    666
  • 陈祥安 11月前
    0 67
    太强了
  • bbdgvt 11月前
    0 66
    看看具体怎么用的
  • zunhai 12月前
    0 65
    学习学习
  • GodA 12月前
    0 64
    look look study study
  • Final 12月前
    0 63
    嘿嘿,学习时间又到了
  • vistart 2020-10-15
    0 62
    1
  • bingqulee 2020-10-14
    0 61
    学习了
  • zzzzqxp 2020-10-14
    0 60
    666
  • imcczy 2020-10-13
    0 59
    谢谢分享
  • yuexi 2020-10-12
    0 58
    1
  • qaingge 2020-10-12
    0 57
    哈哈哈
  • jasonxgw 2020-10-11
    0 56
    666
  • 哈哈 2020-10-11
    0 55
    6
  • fu9852531 2020-10-9
    0 54
    666
返回