IOS_逆向_IDA(待扩展...)

一丶介绍

“IDA(The Interactive Disassembler)”
“IDA是一个支持Windows、Linux和Mac OS X的多平台反汇编器/调试器”

二丶使用

2.1下载:

demo版

https://www.hex-rays.com/products/ida/support/download_demo.shtml

Paste_Image.png

图标:

Paste_Image.png

...不想说话

2.2使用

2.2.1 可执行文件获取

1.自己新建个简单工程,写点简单的代码,打包成ipa

Paste_Image.png

2.解压缩

Paste_Image.png
2.2.2 用idaq打开它

什么都不用配置,遇到弹窗都点ok;
界面如下:


Paste_Image.png

2.2.3对比

源代码:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    [self setUpButton];

}

在ida里面显示:

; Segment type: Pure code
AREA __text, CODE, READWRITE, ALIGN=3
; ORG 0x8050
CODE16


; ViewController - (void)viewDidLoad
; Attributes: bp-based frame

; void __cdecl -[ViewController viewDidLoad](struct ViewController *self, SEL)
__ViewController_viewDidLoad_

var_C= -0xC
var_8= -8

PUSH            {R4,R7,LR}
ADD             R7, SP, #4
SUB             SP, SP, #8
MOV             R4, R0
MOV             R0, #(classRef_ViewController - 0x806C)
MOV             R1, #(selRef_viewDidLoad - 0x806E)
ADD             R0, PC ; classRef_ViewController
ADD             R1, PC ; selRef_viewDidLoad
STR             R4, [SP,#0xC+var_C]
LDR             R0, [R0] ; _OBJC_CLASS_$_ViewController
LDR             R1, [R1] ; "viewDidLoad"
STR             R0, [SP,#0xC+var_8]
MOV             R0, SP
BLX             _objc_msgSendSuper2
MOV             R0, #(selRef_setUpButton - 0x8086)
ADD             R0, PC ; selRef_setUpButton
LDR             R1, [R0] ; "setUpButton"
MOV             R0, R4
BLX             _objc_msgSend
ADD             SP, SP, #8
POP             {R4,R7,PC}
; End of function -[ViewController viewDidLoad]
Paste_Image.png

如果想对比,某个文件的汇编代码:

Paste_Image.png

三丶扩展

...

四丶总结

...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容