首页
社区
课程
招聘
[原创] 使用 ida 逆向 mips 程序时无法恢复 switch 跳转表
发表于: 2024-1-17 19:19 10154

[原创] 使用 ida 逆向 mips 程序时无法恢复 switch 跳转表

2024-1-17 19:19
10154

今天在逆向路由器固件时 ida 没有自动恢复 switch 跳转表,于是尝试手动恢复了一下,发现跳转表不是通过立即数加载到寄存器中的:
图片描述
而是从栈中读取的:
图片描述
这样就导致了 ida 无法恢复 switch 语句。
经过探索发现跳转表在前面被保存到了栈中:
图片描述
再经过了一些尝试之后,发现只要将 address of jump table 改为真正跳转表的地址就可以恢复啦
图片描述
图片描述


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 3070
活跃值: (30876)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2024-1-25 09:37
2
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2024-3-9 12:36
1
游客
登录 | 注册 方可回帖
返回
//