-
-
[原创] IDA Pro 9.0 ARM64 调试 WZR 寄存器崩溃问题
-
-
[原创] 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()
|
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2天前
被SinkDev编辑
,原因: