IDA反汇编/反编译静态分析iOS模拟器程序(八)IDA for Mac

简介: iOS多用OC(Objective-C)编程,Mac也类似,所以IDA for Mac对OC的支持似乎强些。Windows的IDA在反汇编某些SDK库文件时会识别不出OC的函数名,而且对OC运行时的结构体也没识别出来。

iOS多用OC(Objective-C)编程,Mac也类似,所以IDA for Mac对OC的支持似乎强些。Windows的IDA在反汇编某些SDK库文件时会识别不出OC的函数名,而且对OC运行时的结构体也没识别出来。当然,因为我用的是6.1版的windows IDA, Mac上用的是6.4版,不知道是不是windows IDA 6.1的bug了。

总之在界面操作流程上,感觉Mac IDA是对OC有做优化的。当加载一个app时,


会询问是否解析和重命名OC的函数:


如果选择No,所有OC函数都会识别成sub_开头的名字。它的识别原理估计和上一节提到的相同

一个例子是用IDA打开这个库文件时(关于这个库,可参考《iOS的QuickTime Plugin》)

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Internet Plug-Ins/QuickTime Plugin.webplugin/QuickTime Plugin

windows版识别不出函数名:


Mac版可以识别出部分:



因为是反汇编同一个文件,所以得到的代码的偏移地址是一致的,如果windows版没识别好OC函数,可以用Mac版同时打开,知道偏移地址后,在windows版goto address即可。


Mac IDA还识别出一些OC运行时的结构体信息。点开Structures栏,

按照提示,在其中一行同时按下control键和加号键就会展开详细信息:


这也就是前两节列出IVAR结构体和METHOD结构体的方法。

(在Structures栏还可以自定义结构体来标识C++类,具体方法请查阅《IDA Pro权威指南》等资料。)


以上就是未注册版的IDA for Mac的辅助作用,谁有XX版的最好分享下哈~


上一篇:IDA反汇编/反编译静态分析iOS模拟器程序(七)识别类的信息

下一篇:IDA反汇编/反编译静态分析iOS模拟器程序(九)block

转载请注明出处:http://blog.csdn.net/hursing

目录
相关文章
|
20天前
|
Java
Mac环境下反编译apk
Mac环境下反编译apk
17 0
|
3月前
Mac系统下Qt程序图标设置方法
Mac系统下Qt程序图标设置方法
25 0
|
7月前
|
Android开发 iOS开发 流计算
Mac 安卓(Android) 安装 Genymotion 模拟器
Mac 安卓(Android) 安装 Genymotion 模拟器
337 0
|
7月前
|
前端开发 安全 Go
在Mac OS X上运行Go语言的GUI程序
在Mac OS X上运行Go语言的GUI程序
200 3
|
8月前
|
JavaScript 前端开发
使用vue3模拟Mac程序坞鼠标悬停动画
要使用 Vue 3 模拟 Mac 程序坞(Dock)鼠标悬停动画,你可以使用 Vue 的过渡效果和动态类绑定来实现。
137 0
|
8月前
|
Android开发 Windows
Mac 好用的 Android 模拟器整理(玩游戏、装应用、支持咸鱼、拼多多...)
Mac 好用的 Android 模拟器整理(玩游戏、装应用、支持咸鱼、拼多多...)
9120 47
|
10月前
|
Shell
(Mac)remotedebug-ios-webkit-adapter 无法运行,出现以下错误:ios_webkit_debug_proxy找不到。请安装 ios_webkit_debug_proxy (https://github.com/google/ios-webkit-debug-proxy) #74
(Mac)remotedebug-ios-webkit-adapter 无法运行,出现以下错误:ios_webkit_debug_proxy找不到。请安装 ios_webkit_debug_proxy (https://github.com/google/ios-webkit-debug-proxy) #74
370 0
|
11月前
|
编解码 API iOS开发
[✔️] mac/ios openal
[✔️] mac/ios openal
79 0
|
11月前
|
网络安全 Android开发 iOS开发
Mac下安卓模拟器使用Burpsuite抓包方法
Mac下安卓模拟器使用Burpsuite抓包方法
466 0
Mac下安卓模拟器使用Burpsuite抓包方法
|
11月前
|
开发工具 iOS开发
iOS 项目无法在模拟器运行解决办法
iOS 项目无法在模拟器运行解决办法
446 0