iOS逆向工程了解

一、逆向工程

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

二、逆向工程的作用

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

  • 评定安全等级
  • 逆向恶意软件(查毒和杀毒)
  • 去除软件的使用限制(破解和盗版)

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

  • 逆向系统调用(如调用系统的锁屏,关机等功能)
  • 借鉴别的软件

三、逆向开发的一般流程

逆向工程开发要将系统分析和代码分析有机结合。系统分析从整体上观察目标工程的行为特征、文件的组织结构,从而找到所需逆向的点。然后从该入口进入代码分析,利用各种强大的你想工具对程序本身的二进制文件进行分析,从而达到目的。

四、 逆向开发用到的工具

1.监测工具:用于嗅探、监测、记录目标程序行为的工具。

常用的有Reveal,tcpdump,libNotifyWatch和PonyDebugger等。

2.开发工具:用于开发越狱代码的工具

最著名的就是Theos,能够编译生成Tweak插件。还有可以基于Xcode开发的iOSOpenDev,同样可以进行逆向开发。

3.反编译器:主要是IDA

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

4.调试器:主要是基于命令行的GDB

Xcode的调试器是GDB或LLDB的图像化包装。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,786评论 25 709
  • 转自:http://openresty.org/posts/dynamic-tracing/ 关于作者 大家好,我...
    鲸息_Leon阅读 1,208评论 0 2
  • 首先更新命令有:apt-get update ,apt-get upgrade ,apt-get dist-upg...
    simeon2015阅读 630评论 0 0
  • 这是一座城、一座荒芜的城 。 灵魂四处飘荡,日日夜夜。没有期限、没有结尾。这是一座城、城里下着大雪,盛开的血红罂粟...
    雨落余生阅读 132评论 0 0
  • 是因为拥有热吗?心情异常烦躁。热的马路上行走的是车轮。热的心里驻扎的是烦躁。燥热的心狂且乱,不愿听到任何人的声音,...
    静若青莲阅读 292评论 6 3