一丶介绍
Hopper是一款是32位和64位的二进制反汇编器,反编译和调试。你可以使用此工具拆开你想要的任何二进制。
跟ida类似,不过没ida强悍;
二丶使用
2.1.可执行文件获取
1.自己新建个简单工程,写点简单的代码,打包成ipa
Paste_Image.png
2.解压缩
Paste_Image.png
2.2 hooper使用
这个较为简单,
直接把文件拖进来就可以了;
-[ViewController viewDidLoad]:
00008050 push {r4, r7, lr} ; Objective C Implementation defined at 0xc1c0 (instance method)
00008052 add r7, sp, #0x4
00008054 sub sp, #0x8
00008056 mov r4, r0
00008058 movw r0, #0x4904 ; :lower16:(0xc970 - 0x806c)
0000805c movt r0, #0x0 ; :upper16:(0xc970 - 0x806c)
00008060 movw r1, #0x4816 ; @selector(viewDidLoad), :lower16:(0xc884 - 0x806e)
00008064 movt r1, #0x0 ; @selector(viewDidLoad), :upper16:(0xc884 - 0x806e)
00008068 add r0, pc ; 0xc970
0000806a add r1, pc ; @selector(viewDidLoad)
0000806c str r4, [sp, #0xc + var_C]
0000806e ldr r0, [r0] ; 0xc970,__objc_class_ViewController_class
00008070 ldr r1, [r1] ; "viewDidLoad",@selector(viewDidLoad), argument #2 for method imp___picsymbolstub4__objc_msgSendSuper2
00008072 str r0, [sp, #0xc + var_8]
00008074 mov r0, sp
00008076 blx imp___picsymbolstub4__objc_msgSendSuper2
0000807a movw r0, #0x4802 ; @selector(setUpButton), :lower16:(0xc888 - 0x8086)
0000807e movt r0, #0x0 ; @selector(setUpButton), :upper16:(0xc888 - 0x8086)
00008082 add r0, pc ; @selector(setUpButton)
00008084 ldr r1, [r0] ; "setUpButton",@selector(setUpButton), argument #2 for method imp___picsymbolstub4__objc_msgSend
00008086 mov r0, r4
00008088 blx imp___picsymbolstub4__objc_msgSend
0000808c add sp, #0x8
0000808e pop {r4, r7, pc}
; endp
三丶扩展
四丶总结
可以对比ida