【软件逆向- 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()
|
最后于 1小时前
被SinkDev编辑
,原因:
更多【软件逆向- IDA Pro 9.0 ARM64 调试 WZR 寄存器崩溃问题】相关视频教程:www.yxfzedu.com