能力值:
( LV13,RANK:410 )
|
-
-
2 楼
吐个槽
LLDB的代码总体结构很优秀,但局部实现就是一堆补丁。貌似开源项目都是这个风格~。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
太棒了,这个方案总算是可以解决新版LLDB上的bug了!楼主能在bbs.iosre.com上也发一份嘛,作为iOS应用逆向工程目前的官方解决方案推广出去,让国外的iOS开发者也能看到
|
能力值:
( LV15,RANK:340 )
|
-
-
4 楼
不知道能否从源码编译来修正这个问题?这样修改感觉还是不太通用
只是处理ARM反汇编的话,之前写了个 capstone的脚本可以处理这个,并且会根据CPSR判断是Thumb还是ARM代码:
|
能力值:
( LV13,RANK:410 )
|
-
-
5 楼
不知capstone能否处理单步指令?
LLDB的单步时要需要反汇编当前指令并模拟执行。dis,s和n的反汇编过程是同一过程,如仅是增加一个能够正确dis的命令,并不能解决反汇编不正确导致的无法单步跟踪的问题。
修改源码肯定是可以的,但是找到ObjectFileMachO.cpp中的问题需要一些时间。如果能定位问题,可以直接在源码中修正这个问题。
|
能力值:
( LV13,RANK:410 )
|
-
-
6 楼
等找到完美方案在贴过去吧~。很可能就是符号解析的问题。
|
能力值:
( LV15,RANK:340 )
|
-
-
7 楼
不能处理单步。确实,lldb单步时用的是内部的反汇编,所以我一般是根据IDA在关键位置多下些断点
或者干脆用脚本实现s/n的功能,"在下一行地址下断点->run->输出类似trace的指令->清除之前的断点..."
|
能力值:
( LV13,RANK:410 )
|
-
-
8 楼
版主给加个精呗。这个账号注册近十年了,差一篇就是高级会员了。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不错,多谢分享。
|
能力值:
( LV15,RANK:340 )
|
-
-
10 楼
更新了修改代码的方法,赞一个!
|
能力值:
( LV13,RANK:280 )
|
-
-
11 楼
你多久没发过东西了?
|
能力值:
( LV13,RANK:410 )
|
-
-
12 楼
[QUOTE='火翼[CCG];1347622']你多久没发过东西了?[/QUOTE]
Long long ago. 终于混到高级会员了。你不会是在邮轮上还看论坛吧?
实在厌倦了xcode-select. 所以研究下怎么修这个Bug.
|
能力值:
( LV4,RANK:40 )
|
-
-
13 楼
话说你有反馈给llvm嘛,这玩意确实够呛的,不过话说你是patch掉lldb呢,还是自己从新编译了~你说的这玩意应该是在/Applications/Xcode.app/Contents/SharedFrameworks /LLDB.framework/Versions/A/LLDB中吧
|
能力值:
( LV13,RANK:410 )
|
-
-
14 楼
编译LLDB和直接修改文件我都试过. LLDB的核心确实在LLDB.framework中.
要正确的修正此问题,相关的代码需要重构,已记录此bug,等待修复。
|
能力值:
( LV13,RANK:280 )
|
-
-
15 楼
已经回来了,邮轮上网络10美元/小时
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
感谢LZ分享~~~~~~~
|
能力值:
( LV4,RANK:40 )
|
-
-
17 楼
不知道,楼主,是否有调试过apple的2个原版的lldb-300.2.47.tar 和 lldb-310.2.36?
在到作者说的void
Target::SetExecutableModule (ModuleSP& executable_sp, bool get_dependent_files),此函数之前,在获取arch就已经出了问题了~
|
能力值:
( LV13,RANK:410 )
|
-
-
18 楼
此问题并非是因target.arch错误导致的,而是由符号信息异常导致的。出现异常的原因请参考相关邮件。
请前往 lldb-dev Jan 2015 Archieve
并搜索主题为 Misinterpreting Symbols Issue since LLDB-310 的邮件
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
从新开始学习,还没看懂,技术进步真快啊
|
能力值:
( LV5,RANK:60 )
|
-
-
20 楼
能否提供一个编译好的版本,并稍微介绍下如何替换与使用.方便新手:)
|
能力值:
( LV5,RANK:60 )
|
-
-
21 楼
提供一个现象
iPhone4的debugserver_armv7,采用lldb调试成功且可以正常显示thumb指令.
iPhone5的debugserver_armv7与debugserver_armv7s,采用lldb调试成功,但不可以正常显示thumb指令,会解释成arm指令.
|
能力值:
( LV3,RANK:30 )
|
-
-
22 楼
mark
|
|
|