需求: 为什么ida无法显示出对应的汇编代码
在ida中显示的代码是这样的
实际上运行时查看到的汇编是这样的:
什么样代码可以造成这样的现象呢?这是否是一种防护手段?
望大佬们指点!
是
可以说,但没必要
是否跟热加载,jpg有关?
这水平还是憋整阿里聚安全了,
慢慢尝试,最后不成功也会有进步嘛。。。
开开眼界也是好的
并不像,这是完全两种保护
这应该是用llvm后端实现的控制流平坦.Doctor Web有篇博客叫Breaking UC Browser ,参看其中Machine code obfuscation节.
选中按C转换成代码
这不就是运用了一些花指令导致静态反汇编函数分析异常的手段吗 ,可以写个ida脚本patch函数头试试
谢谢 按C这个我知道
感谢大佬为我解惑,我想知道的确实是如何实现这样的防护
LLVM应该可以实现(对编译器不熟),不过由于这是平台依赖的,也就是说IR层或许不好做,猜测可能是在backend做的,也可能是直接对二进制处理的。
IR层可以,言尽于此
IR层可以,言尽于此
用lldb跟一遍写个idc脚本还原下不就行了,阿里这个是可以f5的,不过还有更牛逼的在后面