Lldb调试,我删除了断点以后,程序还是卡住的,求教


#1

我用lldb调试,我br s -a 0x002a49f8+0x00036000,打了断点以后。 在手机上点击我打断点的方法,断点生效。 然后我关闭断点 br dis,然后执行c,命令行执行了。但是程序还是卡住,我多次执行c,app还是卡住的,求教,机型是iPhone5,系统是iOS10.3.3


#2

程序都崩溃了。


#3

是奔溃了,我只是重新给$r0重新 赋值了一下,想让$r0为 0跳过下面的执行步骤


#4

image


#5

是奔溃了,我只是重新给$r0重新 赋值了一下,跳过下面的执行步骤。 bne.w 应该是“不相等或不为0跳转指令 ” ,我去用register write,重新赋值,为什么不行了,求教


#6

我register write $r0 1,倒是不会崩溃,但是不会跳过下面的方法。 求教应该怎么做才会跳过下面的方法


#7

你把 $r0 改成了 0,接着在后续的代码里用 r0 的值当成指针去寻址,然后抛异常

建议楼主需要补习

  1. 英语
  2. ARM 指令

#8

还有你下断点的地方也是莫名其妙,你仔细看看断下来的地方是你在 Hopper 里见到的地方么


#10

arm汇编是看了的,我断点的位置是对的, 我想请教一下,我cmp r0和#0x0比较完成以后, bne.w 应该是“不相等或不为0跳转指令 ” ,那么 loc_29d4ec 的值,我怎么去修改了。 不修 r0 的话


#11

你觉得是对的那就是对的


#12

http://armconverter.com/


#13

这个工具,是把红框框起来那部分,拿去转换,还是PlayViewController viewWillAppear这个方法下面,到红框部分都拿去转化, 还有就是请教http://armconverter.com/,这个网址怎么用
0029d304 movw r0, #0xc7a0
0029d308 movt r0, #0x10b
0029d30c add r0, pc
0029d30e ldr.w sl, [r0]
0029d312 ldr.w r0, [r4, sl]
0029d316 cmp r0, #0x0
0029d318 bne.w loc_29d4ec



#14
  1. *For better results, convert only one instruction at a time. If there's an instruction which it can't convert
  2. 你为啥要把地址也复制进去
  3. keystone engine,请
    image

#15

不懂,能教一下怎么操作吗?