一 iOS 逆向工程概述

作者: 当前明月 | 来源:发表于2019-02-14 15:37 被阅读1次
    • 1 什么是iOS逆向工程
    • 2 iOS逆向的目的
    • 3 iOS逆向过程以及方法
    一 什么是iOS逆向工程

    iOS逆向工程指的是在软件层面上进行逆向分析的过程,用大白话来讲就是推导应用的代码实现和逻辑。就是给你一个IPA包,你能推导出他的代码实现,和逻辑实现,因为我们拿不到别人的源代码,但是我们又想知道它是怎么编码实现的,所以才有了逆向这么个玩意,iOS逆向过程简单的图示:


    逆向过程

    就等于拿到手机上的应用程序,分析它的可执行文件,通过工具转成汇编,以至于转换成更高级的语言object c /swift等的一个过程

    二 iOS逆向的目的
    1 学习优秀App的设计

    当你看到一个App有一些非常好用的功能,你想学习或者你也需要实现相同的功能,这样你就可以逆向它的实现,去分析它的实现过程

    2 更好的去加强自己开发App的安全

    当你熟悉了iOS逆向工程,今后在开发自己App的时候,哪些地方更容易别被人攻破,从而有效的去避免

    3 学习iOS系统未开源库的一些实现。

    比如我们常用的UIKit的实现等等

    4 视野更远了,iOS开发就会不在局限于画界面,数据,网络这些操作了

    iOS逆向你能够了解到整个iOS系统的大致底层,内核,程序加载过程呀,App编译过程呀,等等

    5 可以改变现有app的一些功能

    去爱奇艺App的广告,微信抢红包等等。(当然这个学习可以,不可以作为商业利益,违法的)

    三 iOS逆向过程以及方法

    不废话,先看图:


    逆向过程及方法
    逆向app思路

    1 界面分析(Cycript ,Reveal)
    2 代码分析
    对Mach-o文件的静态分析
    MachOView ,class-dump, Hopper Disassembler,ida等
    3 动态调试
    对运行中的app进行代码调试
    debugserver, LLDB
    4 代码编写
    注入代码到app中
    必要时还可能需要重新签名,打包ipa

    从上到下整个一个流程,每个步骤都有相应的开发工具,循序渐进,把每一步都学好了,整个逆向你也就熟悉的差不多了。

    相关文章

      网友评论

        本文标题:一 iOS 逆向工程概述

        本文链接:https://www.haomeiwen.com/subject/kvcceqtx.html