首页
社区
课程
招聘
[原创]关于后期lldb反汇编显示问题的解决办法
发表于: 2015-1-13 17:13 10760

[原创]关于后期lldb反汇编显示问题的解决办法

2015-1-13 17:13
10760
之前很多人都xcode升级到了5以后,lldb在反汇编的时候显示会有问题,这边我就一并给出解决方案吧,也算是做个存档.
   
    我的xcode是最新的版本是6.1,lldb版本也是最新lldb-320.4.156.
   
    由于后期版本,苹果的lldb默认使用的是arm反汇编显示,所以这时候我们在显示我们想要的反汇编代码的时候必须要设置反汇编的格式(arm/thumb).
   
    代码对比如下
    IDA 上显示的代码
   
   
    lldb通过设置反汇编显示arm或者thumb的对比
   
   
    从以上可以明显看出,lldb默认显示arm指令都是以4字节为一条指令解释
    设置了-A thumb 后, 则以2字节为一条指令解释(这应该就是想要的与IDA匹配的代码)

    下面顺带提醒下
    lldb调试在选择环境平台的时候还是给上明确的调试SDK,以避免不必要的错误
   
   
    好了,尽自己一点微薄之力,希望能帮到这边有困惑的人.

    PS :
    目前的解决办法是修改/Applications/Xcode.app/Contents/SharedFrameworks /LLDB.framework/Versions/A/LLDB中的代码,具体参照: http://bbs.pediy.com/showthread.php?p=1346743

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 14
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
这个问题可以说是困扰了很多人啊,感谢楼主的解决方案!
但是,dis -A thumb只是在反汇编的时候在thumb和arm指令间转换吧?在调试时,新版的LLDB还是会以4字节为单位来自动反汇编接下来的5条指令,是吧?
2015-1-13 17:24
0
雪    币: 353
活跃值: (516)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
楼主这个在调试的时候,还是以Thumb 指令来汇编,其实最重要的还是调试的时候指令能跟arm 指令类似。求楼主指导
2015-1-13 18:19
0
雪    币: 3279
活跃值: (3331)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
执行时候lldb还是会以默认的arm指令格式来解析执行
2015-1-13 18:25
0
雪    币: 14
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
那这样的话,其实LLDB最大的bug还是没解决。有了IDA,dis命令不是太常用,其实这个命令能否指定ARM/THUMB对我来说意义不大,重要的是单步调试时自动显示的指令。看来还是得采取http://bbs.iosre.com/forum.php?mod=viewthread&tid=5223楼和32楼的做法,换旧版LLDB才能彻底解决这个问题了
2015-1-13 22:18
0
雪    币: 14
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
参照http://bbs.iosre.com/forum.php?mod=viewthread&tid=5223楼和32楼的做法,换旧版LLDB可以解决这个问题。《iOS 8应用逆向工程》也会给出类似的解决方法,等老外进驻iOSRE后,可能会有新的解决方案,请持续关注
2015-1-13 22:19
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
7
see also:
http://bbs.pediy.com/showthread.php?p=1346743
2015-1-18 01:37
0
雪    币: 3279
活跃值: (3331)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
受益匪浅啊, 我这几天也都一直在看lldb-300 和 lldb-310源码在比对啊,老眼昏花了都
2015-1-19 14:25
0
游客
登录 | 注册 方可回帖
返回
//