iOS逆向与安全-1.初识逆向工程

开发的时候:

1.明确需求、设计稿、交互稿
2.根据需求、设计稿、交互稿编写出我们想要的应用

逆向开发:

拿到目标应用去分析界面组成结构、代码逻辑、程序的执行流程来了解内部的原理。(从现有产品推导技术实现细节的过程)。

在我们打开应用的时候可以看到不同的界面和不同的功能,如果我们想要了解某个功能。比如过网易云音乐的声音识别功能,那么我们就要用到逆向工程。在逆向工程中,首先我们要通过工具分析,对应用的界面结构、网络请求、文件操作等各个方面入手,来寻找线索分析出我们想要的东西。这样我们就会得到软件界面的组成结构,可以进一步通过某个按钮去获取响应事件函数。这个时候,我们就要用到静态分析通过静态分析我们可以针对某个响应事件函数,去分析它程序内部功能具体实现,调用了哪些函数,执行流程是怎么样的。那么,我们通过对不同函数的分析可以得到应用代码的框架构成

通过静态分析,我们只能得到应用里有哪些函数,函数里面又执行哪些代码。但是,我们想要分析程序运行的时候的代码执行流程以及参数的传递,那么这个时候我们就要用到动态分析通过动态分析,我们可以对目标程序进行debug打印出它的参数,以及一步步调试他的执行流程等等。

(从现有产品推导技术实现细节的过程)

那么,通过上面的分析之后,我们对程序的界面、程序的具体流程有了一定的了解,那么这个时候,我们就可以根据目标程序的功能来实现我们自己的一些功能和增强它的一些功能,这就是逆向工程的魅力所在。

逆向工程用用平台与层次

windows
OllyDbgWindbg进行动态调试、 IDA进行静态分析

安卓
通过ApkTool \ dex2jarapk文件反编译成dex文件、资源文件对dex文件转成jar文件,让后进一步得到jave伪代码这样就可以分析出安卓文件的实现原理实现逻辑

iOS
通过class-dump得到,目标程序的所有类和类里面的方法。通过Reveal可以得到目标程序的界面层次和界面的构成,我们还可以通过其它工具来动态调试、跟踪目标程序,得到我们想要的结果。

层次:

内核驱动层、硬件层
分析可以得到底层的具体实现实现原理

设备框架层
framework里面的具体代码逻辑,或者说我们想要了解我们调用了某个api函数后,底层实现了哪些操作

应用层
我们可以对别人的应用进行分析,(界面组成结构、某个功能、拦截它的数据等)

iOS逆向工程的作用

iOS逆向工程需要的基础

相关工具

通过Reveal可以得到界面结构、界面层次以及界面构成打印界面结构通过界面结构,我们可以得到某个控件的对象进而得倒control对象,让后对control进行跟踪调试分析得到具体的执行函数

通过snoop-it,得到一个类里面的所有方法,然后手动去调用它的方法,还可以得到它的文件操作、keychine操作、网络操作以及一些加密函数操作等等这样就可以根据不同层次对应用进行分析。

通过Hopper,可以把二进制的代码翻译成汇编代码通过汇编代码进行分析,可以知道函数内部调用了哪些函数以及这些函数的名称是什么

通过IDA进行分析,同样这两款工具可以转成成高级语言的伪代码,通过伪代码为们可以很清楚的知道一个函数的内部调用可哪些函数以及它的参数是什么

调试跟踪

使用lldb附加到手机上的应用,让程序去断下来,在我们想要设置断点的地方设置一个断点,让程序继续运行。当程序运行到我们的断点的时候,就会自动断下来,这个时候我们就可以打印程序的参数,以及在某个跳转的地方,判断程序的执行方向执行流程和执行逻辑等

除了调试工具,还有其它工具,对程序的运行进行动态的跟踪打印内部函数的调用方法以及参数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,398评论 25 707
  • 有一个人特别不会说话,一张嘴就噎死人,属于那种开口就把天聊死的那种。只要他一开口,对方就会气的半死。于是,村里人都...
    博琳达阅读 7,012评论 0 0
  • 我曾短暂喜欢过一个人,短到不及我生命的六分之一,短到我还没有意识到她已经悄然离开。总之,岁月绵长,谢谢你在我的生命...
    E圭韦阅读 185评论 0 0
  • 最近几天,被陕西榆林产妇跳楼自杀的事件刷屏了……医院和其丈夫各执一词,网上舆论一千,但是我是一个俗人,一个女人,一...
    掌中痧阅读 174评论 0 0
  • 青钢影·卡蜜尔是英雄联盟第134位英雄。 一位优雅的特工精英,一台精密的人形兵器,游走于法律已然失效的边缘地带,小...
    未陌生过阅读 847评论 0 5