利用unidbg进行一次电子取证

移动安全 1年前 (2022) admin
414 0 0

前言

电子取证当中,已经有越来越多的取证人开始使用Frida帮助完成取证,但是我看了一下现在的文章,还没有人用unidbg完成过取证,所以在这里用unidbg写一篇取证文章,但是unidbg的使用门槛要比Frida高很多,但是多一个手段,取证的成功率就会大很多。

前言

这里我们来看一下为啥说要比Frida难度要大。

这里先用白龙哥给的起手架,把这个框架给搭建起来。

这里用的取证样本是之前的文章分析的,所以关于java层和so层的前期分析就不写了

电子取证

达达,公众号:Th0r安全针对某APP常用地址取证解密

利用unidbg进行一次电子取证

这里直接运行一下,发现jni_onload的时候就开始报错了。

利用unidbg进行一次电子取证

这里开始直接补上,这里不是一般的直接一把梭补对象,因为后面还会遇到这个问题,所以这里就先不提为啥不直接补对象。

利用unidbg进行一次电子取证

这里就前面jni_onload的环境补成功了

利用unidbg进行一次电子取证

接下来开始调用解密函数,这里面的密文是在之前文章的地方导入,这里也不写了,可以看之前的文章。

利用unidbg进行一次电子取证

开始补新的环境

利用unidbg进行一次电子取证

这里就直接给它一个对象

利用unidbg进行一次电子取证

继续补环境

利用unidbg进行一次电子取证

因为是布尔,所以返回true

利用unidbg进行一次电子取证

继续

利用unidbg进行一次电子取证

利用unidbg进行一次电子取证

这里都还是常规的继续补环境

利用unidbg进行一次电子取证

利用unidbg进行一次电子取证

继续补环境

利用unidbg进行一次电子取证

利用unidbg进行一次电子取证

这里就开始我们之前所说的,为啥不直接一把梭的地方了,这里面的方法查自于白龙哥的星球

利用unidbg进行一次电子取证

我们先到那个地方下断点

利用unidbg进行一次电子取证

可以看到是这个类的时候,出现了问题

利用unidbg进行一次电子取证

查看上下文,可以发现是找不到jmethodid,也就是找不到方法

利用unidbg进行一次电子取证

在当前类找不到方法,所以我们需要去父类查找,打开jadx

利用unidbg进行一次电子取证

可以看到,是继承自AbstractSensorsDataAPI,所以需要给它这个父类

修改一下,这也是Application那个地方提到的

利用unidbg进行一次电子取证

问题解决,继续补下一个环境

利用unidbg进行一次电子取证

直接回空

利用unidbg进行一次电子取证

可以看到这里面就成功跑出我们想要的东西了

利用unidbg进行一次电子取证

总结

用unidbg进行取证的时候,可以看到比frida的难度使用高,但是它也有自己的优点,可以直接运行,不依赖环境。对于算法模拟的时候,也是比较快捷的,不过一开始补环境的时候,确实需要花时间。多一个手段,多一份取证的希望。

原文始发于微信公众号(Th0r安全):利用unidbg进行一次电子取证

版权声明:admin 发表于 2022年12月5日 上午11:03。
转载请注明:利用unidbg进行一次电子取证 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...