1. https://github.com/superkhung/lldbinit
#lldbinit Init script for lldb
##Install:
git clone https://github.com/superkhung/lldbinit ~/.lldb
echo "command script import ~/.lldb/lldbinit.py" >> ~/.lldbinit
echo "Done!"
##Features
- stepo: step over function - Thanks deroko for his lldbinit (https://github.com/deroko/lldbinit)
- registers dump frame
- some info dump frame
- supported iOS arm64
一、获取方法的偏移地址
-[CalculatorController showAbout:]:
00000001000093dd push rbp ; Objective C Implementation defined at 0x1000188d0 (instance)
00000001000093de mov rbp, rsp
00000001000093e1 mov rdi, qword [ds:objc_cls_ref_NSDictionary] ; objc_cls_ref_NSDictionary, argument "instance" for method imp___got__objc_msgSend
00000001000093e8 mov rsi, qword [ds:0x10001b6f0] ; @selector(dictionaryWithObject:forKey:), argument "selector" for method imp___got__objc_msgSend
00000001000093ef lea rdx, qword [ds:cfstring_2000] ; @"2000"
00000001000093f6 lea rcx, qword [ds:cfstring_CopyrightStartYear] ; @"CopyrightStartYear"
00000001000093fd call qword [ds:imp___got__objc_msgSend]
0000000100009403 mov rdi, rax
0000000100009406 pop rbp
0000000100009407 jmp imp___stubs__NSShowSystemInfoPanel