赞
踩
Unidbg的功能可以分成两大块
模拟执行的所有任务,一言以蔽之,就是补环境,补环境并不是一件容易的事,我总结一下常见情况。
首先是JNI这个桥梁相关的补环境问题
1.样本存在初始化函数,研究者没有意识到这个问题就会出大问题(好吧我是废话大王),参考资料:
《csdn 样本七》 https://blog.csdn.net/qq_38851536/article/details/118000259
知识星球 《Unidbg初始化》目前的五节视频
2.MethodID问题,这是一个高频率出现的问题,不管是群里还是Unidbg的issue区,都可以看到一堆由此引发的问题。参考资料:
3.针对Unidbg补JAVA的逻辑,可以检测运行环境是Unidbg
其次是文件访问怎么补
1.使用Unidbg的Rootfs虚拟文件系统
2.实现IOResolve
CSDN样本以及星球样本中都随处可见这两个方法
紧接着是系统调用怎么补,问题根源是Unidbg没办法实现fork或者execve等系统调用,参考资料
在实际分析中,几乎每个具体样本都会有自己的独特问题,需要具体分析,在下一篇我们分析gethostbyname以及gethostbyaddr这两个函数在Unidbg中遇到的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。