分析2015移动挑战第一题遇到点问题,请教大家

使用IDA静态分析后,结果和狗神贴出来的结果是一样的,但我一旦跑起来,停到断点后,是完全不认识的指令,怎么回事,挺纳闷的。

(lldb) br s -a 0x00047000+0x0000b76a    <----我机器上的ALSR是47000
Breakpoint 1: where = level1`level1[0x0000b76a], address = 0x0005276a
(lldb) c
Process 3089 resuming
Process 3089 stopped
* thread #1: tid = 0x723fc, 0x0005276a level1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0005276a level1
->  0x5276a: rsbmi  pc, r12, r3, asr #4    <----------全是没见过的指令
    0x5276e: vsubhn.i16 d20, q8, q9        <-----------ni很多步之后还是类似,怎么回事?
    0x52772: .long  0xf8dd0001                ; unknown opcode
    0x52776: .long  0x44788010                ; unknown opcode
(lldb) br s -a '0x00047000+0x0000b76a'
Breakpoint 2: where = level1`level1[0x0000b76a], address = 0x0005276a

在之前的学习中,偶尔也有遇到,但不知道什么原因,请教下大家这是怎么回事?
机器是iPhone 4 7.1.2,lldb是Xcode 6.4的lldb-330.0.48,debugserver是310.2,是较老版本的,和这个有关吗?

1 个赞

也许是这个问题 分析微信,发现lldb反汇编和IDA反汇编不同

想想应该就是这个原因了,谢谢。我正在下5.0.2,新版的我试了好几个都不行,Xcode64,甚至最新的Xcode7. 看来新版的都不好使了?