(一)了解逆向

一、什么是逆向工程?

软件的逆向工程指的是通过分析一个程序或系统的功能、结构或行为,将它的技术实现或设计细节推导出来的过程。

二、iOS逆向工程的作用

1.与安全相关的iOS逆向工程

(1)评定安全等级

(2)逆向恶意软件(查毒和杀毒)

(3)检查软件后门

(4)去除软件的使用限制(破解和盗版)

2.与开发相关的iOS逆向工程

(1)逆向系统调用(如调用系统的锁屏,关机等功能)

(2)借鉴别的软件(向优秀的软件学习)

三、iOS软件逆向工程的一般过程

软件逆向工程可以看做是系统分析和代码分析两个阶段的有机结合。

在系统分析阶段,要从整体上观察目标程序的行为特征、文件的组织结构,从而找到我们想要逆向的点。然后从该入口进入代码分析阶段,利用各种工具对程序本身的二进制文件进行分析,从而达到我们的目的。

四、iOS软件逆向工程用到的工具

分为四大类:

1.监测工具:用于嗅探、监测、记录目标程序行为的工具。常用的有Reveal, tcpdump, libNotifyWatch和PonyDebugger等。

2.开发工具:用于开发越狱代码的工具。最著名的就是Theos,能够编译生成Tweak插件。

3.反编译器:主要是IDA,该工具横跨Windows/Linux/Mac平台,它将目标程序的可执行文件作为输入,然后输出改程序的汇编代码,甚至是伪代码。

4.调试器:主要是基于命令行的GDB。事实上,Xcode中的调试器只是GDB(GNU Debgger)或LLDB的图形化包装而已。

摘自《iOS应用逆向工程》,官网是http://iosre.com/

以上内容可能有所改动,一切以原书为准。感谢作者的分享。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,676评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,301评论 4 61
  • 《众荷喧哗》 洛夫 众荷喧哗 而你是挨我最近 最静,最最温婉的一朵 要看,就看荷去吧 我就喜欢看你撑着一把碧油伞 ...
    一粒玉米阅读 154评论 0 0
  • 连续几天每天三件事都有写要进阶excel,可是都没有做。按照72小时定律,过了三天都没做的就可以不用做了。 想想为...
    身体棒棒阅读 152评论 2 5
  • 在下新人娜娜米,昵称来源PS4游戏《超级弹丸论破2》七海_千秋(nanami_chiaki),常年混迹于二次元 为...
    nanami_chiaki阅读 899评论 0 0