关于ios:如何学习iOS逆向工程干货

13次阅读

共计 1348 个字符,预计需要花费 4 分钟才能阅读完成。

逆向工程

       逆向工程是一种产品设计技术再现的过程,对某一指标产品进行动态或动态分析钻研,从而演绎得出该产品的解决流程,性能构造以及技术形成等设计因素,而后把剖析进去的技术用于本人的产品。

        逆向剖析的作用:

                    ①:缩短开发周期

                    ②:升高开发成本

                    ③:寻找技术冲破

语言入门

       如果你要逆向剖析 iOS 利用相干的货色,当然你得相熟 Object- C 这门语言,不要求对开发理解的如许深刻,然而首先得能了解它的语法,看懂 Object- C 的代码,并可能本人用这门语言写一些简略的利用及功能模块。

相熟工具

       逆向工程往往须要借助一些工具,首先须要筹备一台越狱的机器,可能纯熟应用以下工具:

            ①openSSH:登录越狱机器,进行文件传输等等。

            ②Cycript:运行一些动静 js 脚本。

            ③lldb:动静调试利用,查看运行时变量的值。

            ④class-dump:导出利用头文件,查看利用类和成员信息。

            ⑤Keychain dumper:导出越狱设施的 keychain。

            ⑥Snoop-it,introspy:动静追踪剖析工具。

            ⑦Hopper,IDA:动态反汇编剖析工具。

            ⑧theos:开发 tweak,进行动静 hook。

举荐《iOS 利用逆向工程》这本书,作者领有多年逆向开发实践经验,能够跟着外面讲的常识缓缓学习。总之,肯定要实际,肯定要实际,肯定要实际!(重要的事说三遍)

持续深刻

文件构造

       再深刻一些的话,须要相熟 macho 文件构造,包含它的形成,每一部分的作用,以及动静加载过程,而后能够进一步看看 class-dump 的源码。

深刻原理

       应用工具,决不能只停留在工具的外表,肯定要晓得工具外部是怎么实现的,它的原理的是什么,本人是不是能够对它进行改良等等,比方 theos 的原理,Method Swizzling,fishhook 等等。

知己知彼

       再说到逆向剖析其实就是一个“攻”的过程,那么必定不是一帆风顺的,有攻就有防,当初很多利用对于避免被逆向剖析也做了很多不同的措施比方:反注入,反调试,反反汇编这些。作为一个逆向剖析者,同时也须要对防的过程和可能应用的办法有肯定的理解,能力更好的去寻找突破口。

相熟汇编

       动态剖析中不免须要去浏览汇编代码,晓得各种寄存器的作用,以及对堆栈的操作过程。

后续倡议

             ① 多关注一些 github 开源我的项目,包含下面说的那些

             ② 多关注国内国外博客论坛,比方:逆向将来,iosre

             ③ 多实际,看再多的货色,都要实际进去

我博客的局部笔记:


            iOS 安防 优化

优化 iOS 小技巧

iOS 内存治理总结

iOS 开发 — 数据结构

iOS 平安攻防—常用工具

iOS 多线程 线程间的状态

iOS 平安:Mach-O Type

iOS 各种 UI 控件属性设置

iOS 平安根底之钥匙串与哈希

iOS 自动化布局 -AutoLayout 束缚优先级

正文完
 0