- 博客(15)
- 资源 (10)
- 收藏
- 关注
原创 IDA反汇编/反编译静态分析iOS模拟器程序(七)识别类的信息
C++类的实质是个结构体。先举个例:class TestClass{ int m_val1; int m_val2;public: int getVal1(); int getVal2();};int TestClass::getVal1(){ return m_val1;}int TestClass::getVal2(){
2013-05-31 11:35:26 11794
原创 IDA反汇编/反编译静态分析iOS模拟器程序(六)交叉引用
交叉引用cross reference是指 这个地址的 数据或代码 引用了哪个地址 以及 被哪些地址的代码所引用。引用了哪个地址,在反汇编就能看出来,一行汇编代码自然只会引用一个地址。但被引用是一对多的关系,正如一个函数可以被很多函数在内部调用。查看“被引用”是静态分析中得到堆栈的方法,当然,因为一对多的关系,还需要猜。这主要是看分析的目的是什么,与运行时动态分析相比各有好处,静态分析能得到完整的
2013-05-30 14:43:10 20924 2
原创 Xcode4.6创建和使用iOS的dylib动态库
此为xcode4的方法,xcode3的方法请查看 Xcode3创建和使用iOS的dylib动态库找到两个目录,最好用两个finder窗口分别打开:目录一:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/
2013-05-20 19:51:47 22873 16
原创 IDA反汇编/反编译静态分析iOS模拟器程序(五)F5反编译
反编译是IDA最让人振奋的功能,它的本质是IDA的一个插件,不过会被当做hex-rays的另一个产品。既然是产品,那当然就另外收费,demo版是没有的。反编译的快捷键是F5,菜单位置在 顶部菜单View->Open Subviews->Pseudocode。在显示反汇编的窗口中按F5,经过分析后,会多了一个标签栏Pseudocode-A:继续上一节(可用两个浏览器窗口对比)的示
2013-05-16 17:20:22 24149 9
原创 IDA反汇编/反编译静态分析iOS模拟器程序(四)反汇编的符号信息与改名
首先看看windows IDA和xcode的反汇编有什么不同。因为不确定直接分析UIKit的代码会不会有法律问题,还是自己写个例子吧。分析UIKit的时候因为没有完整的debugging symbols,所以得到的反汇编信息会比自己写的代码较少。一个在命名空间ANameSpace的类DataInternal,一个DataModel的C++类,一个继承自UIButton的TestButton。演
2013-05-16 11:34:45 9689 2
原创 IDA反汇编/反编译静态分析iOS模拟器程序(三)函数表示与搜索函数
打开IDA一般都是去搜索函数,可以说函数是IDA工程的基本单位吧,数据结构什么的都是为函数服务而已。函数列表在界面左侧的Functions Window:可以看到,UIKit有27789个函数呢。在搜索前要先知道函数的表示方式。Objective-C函数的表示:拿UIView来做例子吧。在xcode documentation中,UIView的函数会有这样的表示:+ (
2013-05-14 18:40:23 14259
原创 lldb的alias别名功能
之前老是得输入image lookup -r -s来搜索函数,好烦,认真看了下lldb Tutorial,学到不少方便的好东西,至少alias就满足我了。输入command alias il image lookup -r -s %1然后就可以这样il "UIWebView"来搜索UIWebView的函数了。不过用了别名后,必须得输入双引号,暂未发现怎么把这个也搞掉。已经少打好多字
2013-05-14 15:09:24 3421 1
原创 IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库
启动windows版的IDA,在Quickstart界面点击New,弹出一个对话框选择文件。也可以按取消后再把文件拖进IDA。由于Mac版的IDA没注册,没有save功能,所以只好先把Mac上的东西拷贝到windows再打开了。能拖进IDA的文件可以是静态库、动态库、可执行程序等。对ios而言,可执行程序通常是build出来的.app包里的同名文件,当然,也可以是系统自带的程序。库文件主要是S
2013-05-14 09:56:39 14174
原创 IDA反汇编/反编译静态分析iOS模拟器程序(一)话说IDA
上个月写了一系列文章《xcode反汇编调试iOS模拟器程序》,是使用xcode来动态反汇编分析iOS模拟器程序的。这个系列则是静态分析,用到IDA来做反汇编/反编译。一些概念不会在此重复,遇到时可回读xcode反汇编系列。之前有提到一些IDA的常识和下载地址,可看 《IDA Pro权威指南》读书笔记,同时这本书也是更深入挖掘IDA的参考书,只不过书里不会提到Objective-C。本系列使用的
2013-05-13 14:58:15 7205
原创 勿以自己的经历来审视他人
最近和一位产品经理聊天,总觉得有哪里不对劲,可惜当时未能识别出来,也许当面反馈会更有意义。应该是出于岗位的习惯,产品经理总需要向他人推销自己的想法,在和我的聊天中,有几次听到“我曾经”这样的句子。其实我很想说,我并不是你,无论你的曾经是好是坏,不能以你的经历来代入我的行为。当你已经认定他人的想法是你曾经犯过的错误,那这么一个面谈就是沟通,而不是交流。应该放下成见,把对方的话语当做一种信息传
2013-05-12 21:05:56 2114 1
原创 iOS WebCore的wak目录
《iOS的WebThread》中提到:iOS的WebCore开源码,6.1版本的下载地址为:http://opensource.apple.com/release/ios-61/比起webkit.org上的Mac开源码,会多了个wak目录,内有21个文件。今天认真看了下全目录,还果然挖掘出好多信息。这21个文件的文件名,8个以WAK开头,6个以WebCoreThre
2013-05-10 15:12:28 3936
原创 谈谈iOS的Safari和UIWebView
打开iOS4.3上的iPad Safari,再跟iOS6.1上的对比,也许你会觉得4.3没有标签栏,不够好用,但那个多窗口的设计却又非常酷。iPhone上的Safari 4.3也和iPad差不多。这个多窗口的设计,影响了那个年代的第三方浏览器,UC啊,QQ啊都这么学。可是后来呢,iPad上的诸多第三方浏览器都是有标签栏的,Safari估计是被骂多了,在iOS5开始也这么干。可是其实
2013-05-09 10:56:54 8436
原创 iOS的WebThread
当用到UIWebView、UITextField、UITextView等类时,就会看到WebThread线程:在lldb中搜索(lldb) image lookup -r -s [wW]ebThread会有超过一百个结果。对于普通开发者而言,WebThread最有意义的东西恐怕是UIWebView的私有API- (void)_setDrawInWebThread:(BO
2013-05-08 11:23:45 11944 2
原创 iOS的QuickTime Plugin
当UIWebView播放视频时,可以看到view hierarchy里有FigPluginView的身影。这个类来自于QuickTime Plugin,plugin的路径为:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1
2013-05-07 18:13:57 6435 9
原创 利用IDA和LLDB探索WebCore的C++类的继承关系
开刀的类名叫 PluginWidgetIOS,利用lldb可以得到:(lldb) image lookup -r -s PluginWidgetIOS7 symbols match the regular expression 'PluginWidgetIOS' in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSim
2013-05-02 17:54:57 4590
航空适航功能危险性评估示例-FHA-Example
2024-05-24
RTCA DO-325 MOPS for AFGCS航空自动驾驶仪标准
2024-03-20
大话适航思考题参考答案
2024-03-20
支持SPDY协议的wireshark for linux 64bit
2014-03-06
Objective-C头文件导出工具class-dump
2013-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人