-
-
[原创] IDA Pro 9.0 ARM64 调试 WZR 寄存器崩溃问题
-
发表于:
2024-12-26 12:00
3088
-
[原创] IDA Pro 9.0 ARM64 调试 WZR 寄存器崩溃问题
问题描述
IDA Pro 9.0 (截止至2024年12月26日最新版本,SP1)在调试 ARM64 程序时,鼠标点击或者悬浮在 WZR 寄存器上,如图所示弹框。点击 OK 或 关闭 均导致 IDA Pro 卡死。

问题分析
Mac 上 IDA 的 arm.dylib inline 有点严重不太好看,这里以 Windows 的为例报错的地方代码如下,确实是没有针对 WZR 寄存器 160 的处理逻辑,导致会弹出这个框。

调试发现点击这个框的 OK,如果再次进入这个弹框的逻辑,就会导致IDA卡死;反之如果OK后没有再次走到这个弹框的逻辑,就没事。所以,应该是UI框架的问题?直接把这个框的显示调用全都NOP 掉就好了。
附上 SP1 版本 ARM IDA Pro 的 Patch 脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 | import re
def main():
with open('/Users/xxxx/Documents/CTF/arm.dylib', 'rb') as fp:
content = fp.read()
pattern = re.compile(b'\x00\xD4\x3C\x91....')
content = pattern.sub(b'\x00\xD4\x3C\x91\x1F\x20\x03\xD5', content)
with open('/Users/xxxx/Documents/CTF/arm_patched.dylib', 'wb') as fp:
fp.write(content)
if __name__ == '__main__':
main()
|
[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!
最后于 2024-12-26 12:01
被SinkDev编辑
,原因: