ollvm 在armv7 情况下的奔溃!

llvm12.0.1基础上,添加了混淆fla 的pass,arm64上正常,armv7会出现,strd 指令存储,r6是结构体内地址,r6地址不对齐的情况。有遇到过的?

没遇到过, 我这里都是正常的。 光贴这一段也看不出来什么东西

我单独抽出来。单独也是正常的。 工程里面就毕现,奔溃这里。好纳闷。继续整。。。

明显是不愿意的,天下没有免费的午餐了兄弟

没有ARMV7的iOS设备没法测试,我的建议是先确定crash的部分对应原文或者混淆插入的哪个指令

crash 部分,有些随机,调试分析奔溃,发现有时直接跳其他方法块内部去了,(scrambling_key 不同,只有fla 混淆情况下,正常最终block 块是一样的,但是发现scrambling_key不一样,可能相同函数,相同架构,最终的block 快数,大小都有区别),基本范围测试下来,是fla pass,在armv7架构 ,在release 环境下,被优化处理出的问题。只是定位在那个步骤,真的费时费力(尝试过把release 的一些pass 注释排查,但是效果不好,奔溃更频繁,可能-Os下,有些pass 有依赖)。有大大,能指点指点?

我这里的CryptoUtils跟FLA我是整个重写的, Key Scramble我记得是有这个问题

感觉是release,里面的pass,优化导致的。