正在分析一个游戏,在■■处发断点后,用bt打印出来的数据,用finish往上翻call,但是一但进入游戏引擎里面的代码全变成如下这样的,是不是书上介绍的lldb3.0版本有问题造成的,还是另有原因如:游戏有代码加密保护?我不太了解ios下是否有像windows那样加密的东西.望指教一下,谢谢.
(lldb) x/10i 0x109138
0x109138: 0xaf03b5f0 svcge #0x3b5f0
0x10913c: 0x0d00e92d stceq p9, c14, [r0, #-180]
0x109140: 0x0440f1ad strbeq pc, [r0], #-429
0x109144: 0x040ff024 .long 0x040ff024 ; unknown opcode
0x109148: 0xf90446a5 .long 0xf90446a5 ; unknown opcode
0x10914c: 0xf90482ed .long 0xf90482ed ; unknown opcode
0x109150: 0xb0b0c2ef adcslt r12, r0, pc, ror #5
0x109154: 0x4604468a .long 0x4604468a ; unknown opcode
0x109158: 0x46904650 .long 0x46904650 ; unknown opcode
0x10915c: 0xf8a6f08f .long 0xf8a6f08f ; unknown opcode
看起来像是LLDB的bug导致的
嗯.只要进入
frame #2: 0x002ae984 Boom Beach
frame #3: 0x002af2b2 Boom Beach
frame #4: 0x001955cc Boom Beach
frame #5: 0x001952d0 Boom Beach
frame #6: 0x00194916 Boom Beach
frame #7: 0x0019a528 Boom Beach
frame #8: 0x001a8c98 Boom Beach
frame #9: 0x0029acce Boom Beach
这里面任何一个函数就是如上指令…我想ios要混淆不可能全部混淆 不然执行效率会有问题.我先尝试用一下你说的老版的lldb…
找到解决办法 ,是lldb的bug造成…
1.目前的解决办法是修改/Applications/Xcode.app/Contents/SharedFrameworks /LLDB.framework/Versions/A/LLDB中的代码. //
有什么工具可以直接修改 lldb控制台的代码.
结帖了.直接把lldb拖到win7里面用ida定位:
__text:000000000196E23D mov rsi, r14 ; lldb_private::ModuleList *
__text:000000000196E240 call __ZN12lldb_private6Target16ModulesDidUnloadERNS_10ModuleListEb ; lldb_private::Target::ModulesDidUnload(lldb_private::ModuleList &,bool)
__text:000000000196E245 lea rdi, [rbx+1F0h] ; this
__text:000000000196E24C call __ZN12lldb_private18SectionLoadHistory5ClearEv ; lldb_private::SectionLoadHistory::Clear(void)
__text:000000000196E251 mov rdi, r14 ; this
__text:000000000196E254 call __ZN12lldb_private10ModuleList5ClearEv ; lldb_private::ModuleList::Clear(void)
__text:000000000196E259 mov r14, [rbx+3D8h]
定位到后把000000000196E24C这句Nop掉就可以(nop5个字节 因为一个call是5字节).
再调试的时候已经能正常了:
(lldb) x/10i $pc
0x226984: 0xb001 add sp, #0x4
0x226986: 0xbd80 pop {r7, pc}
0x226988: 0xb5f0 push {r4, r5, r6, r7, lr}
0x22698a: 0xaf03 add r7, sp, #0xc
0x22698c: 0xf84d8d04 str r8, [sp, #-4]!
0x226990: 0xf64338f0 movw r8, #0x3bf0
0x226994: 0xf2c0081f movt r8, #0x1f
0x226998: 0xf6435100 movw r1, #0x3d00
0x22699c: 0x44f8 add r8, pc
0x22699e: 0xf2c00116 movt r1, #0x16
thanks…snakeninny