首页
社区
课程
招聘
[原创] IDA Pro 9.0 ARM64 调试 WZR 寄存器崩溃问题
发表于: 2天前 603

[原创] IDA Pro 9.0 ARM64 调试 WZR 寄存器崩溃问题

2天前
603

问题描述

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编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 2483
活跃值: (3349)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
捕捉到一只野生Sink爷爆改IDA
2天前
0
雪    币: 1463
活跃值: (2098)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
捕捉到一只野生Sink爷爆改IDA
1天前
0
游客
登录 | 注册 方可回帖
返回
//