首页
社区
课程
招聘
[原创]如何在OLLVM混淆中探寻算法二之libpdd_secure.so指纹算法分析(上篇)
发表于: 2025-11-27 21:43 801

[原创]如何在OLLVM混淆中探寻算法二之libpdd_secure.so指纹算法分析(上篇)

2025-11-27 21:43
801

0x1-前言:

这是<如何在OLLVM混淆中探寻算法>系列的第二篇文章,相信读者通过前面文章的学习,已经对unidbg有了初步的认识,这篇是unidbg的一个进阶,样本涉及的依赖相对前面文章的样本来说比较多,主要是jni调用与文件访问的问题,笔者将拆分成两篇来讲述,一篇是unidbg补环境,一篇是算法分析.国内有难度的样本有四个,分别是libmetasec_ml.so,libsgmain.so,libmtguard.so,libtiny.so,还有一个unidbg补环境的高峰--同盾样本,本篇的样本在这五个样本看来,难度上算简单的.此文是我公众号上面发布后复制过来的,图片和代码块可能会有显示的问题,请移步我的原文:

aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tL3MvT0NOUkFfVC1Fek1jRHNjUVBCSDJSUQ==

也欢迎各位师傅关注我的公众号.

0x2-样本信息:

链接直达:

version:

0x3-抓包分析与入口定位:

图片

每个接口的头部都会带上anti_token这个参数,且是2af为前缀的,这个就是我们的目标了,至于定位入口,关键字搜索/hook newstringutf都能定位到.

笔者就不带着大家去跟一遍了,看过我前面的文章,脚本拿过来改一改就能定位了,贴一下最终的入口.

这个info2方法就是最终的入口位置了,他所属的so是libpdd_secure.so,他的入参是一个content和long类型,long类型的参数是时间戳,可以使用我这篇文章的脚本,把native方法的信息枚举出来.

文章跳转

Fashion哥,公众号:Fashion哥的爬虫历险记安卓Native层逆向-只通过一个native方法名枚举出native方法的所有信息

0x4-Unidbg搭架子补环境

先搭个架子:

读者也不必着急复制粘贴,文章末尾会贴一份补好的环境代码.

0x01-补Jni调用

右键运行,发现报了个错

图片

对于此方法,他的返回值是void,我们直接返回即可.

补完发现没有其他报错了,红色的日志是样本自己调用的打印方法,我们可以不管.

图片

接下来是主动调用目标函数,这里有两种方法一种是通过符号去调用,另一种是通过地址去调用,笔者比较习惯符号调用.

info2方法的参数有两个一个是android/content/Context,一个是long,

对于java的八大基本数据类型(byte,char,int,short,long,double,float)等不用做处理,可以直接原封不动的传递,其他的要做包装,像这样进行一层包装.

在main进行调用

运行

图片

报了这个错误

此方法是Android框架中用于获取系统级服务的方法

谷歌官网文档

如果对方法不是很了解的可以看看谷歌的开发文档

可以这样补

打印看看是获取了哪些系统服务

图片

只获取了一个,可以写个判断,然后返回

图片

这个需要frida去主动调用一下拿到结果,返回结果是个string类型,要用unidbg的api封装一下.

图片

同样的,用frida主动调用获取结果,返回时int,基本数据类型,就不用封装.

接着是这个,主动调用获取结果

图片

接着是这个,主动调用获取结果

图片

接着是这个

图片

下一个是

图片

下一个是

图片

下一个接着

图片

图片

图片

图片

这个方法是判断是否处于调试连接,给他返回false

图片

对于这种方法,不会补怎么办,看unidbg的示例代码,看unidbg如何写的,我们也跟着写.

点击(AbstractJni.java:753)跳转过去

图片

unidbg提供了两个示例,我们也跟着改一改

接着继续

图片

他需要的返回值是

我们可以用unidbg提供的api嵌套返回.

代码如下

图片

下面是一个replaceall方法

图片

可以点进去看看unidbg如何实现的,改一改代码即可

当补到这个方法时,离成功已经很接近了,同时也要注意,这个jni调用也拖带出了第一个算法gzip

图片

图片

注意补这个方法要外层套上try-catch

图片

对于此方法,我们也可以看看unidbg内部时如何实现的,然后照猫画虎

图片

图片

图片

图片

补完这个方法过后,成功的出值了.

图片

图片


[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

收藏
免费 19
支持
分享
最新回复 (12)
雪    币: 217
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
666
2025-11-27 22:07
0
雪    币: 31337
活跃值: (8748)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
微信的图片链接都不能显示啊
2025-11-28 00:17
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
图片无法正常显示
2025-11-28 09:53
0
雪    币: 374
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
mb_tcktejwd 图片无法正常显示
文章是我从我公众号发布后复制来的 图片 代码块格式可能会有问题,可以移步到我的公众号上看
aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tL3MvT0NOUkFfVC1Fek1jRHNjUVBCSDJSUQ==
2025-11-28 09:59
1
雪    币: 374
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
huangyalei 微信的图片链接都不能显示啊
文章是我从我公众号发布后复制来的 图片 代码块格式可能会有问题,可以移步到我的公众号上看
aHR0cHM6Ly9tcC53ZWl4aW4ucXEuY29tL3MvT0NOUkFfVC1Fek1jRHNjUVBCSDJSUQ==
2025-11-28 09:59
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
666
2025-11-28 14:09
0
雪    币: 527
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
666
2025-11-28 18:00
0
雪    币: 204
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
666
2025-11-29 09:15
0
雪    币: 374
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
wx_插曲 666
灌饼哥 也来给我捧场了呀
2025-11-29 10:47
0
雪    币: 105
活跃值: (2282)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
6666
2025-12-2 09:55
0
雪    币: 6125
活跃值: (5910)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
66
2025-12-2 10:14
0
雪    币: 255
活跃值: (1686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
666
5小时前
0
游客
登录 | 注册 方可回帖
返回