iOS开发之逆向工程

本文详细介绍了iOS逆向工程的概念、目的和作用,包括安全审查、竞品分析、学术研究和权限突破。讲解了逆向工程的工具,如dumpdecrypted、class-dump、Reveal,以及砸壳、导出头文件的步骤。同时提到了防止反编译的代码混淆方法。
摘要由CSDN通过智能技术生成

逆向工程:是一个广义概念,是指从可运行的程序系统出发,运用解密、反汇编、系统分析、动态调试等多种技术对软件进行分析,推导出软件产品的结构、流程、算法、软件架构、设计模式、运行方法、相关资源及文档等这一过程。软件逆向的整个过程统称为软件逆向工程,过程中所采用的技术统称为软件逆向工程技术。究其义,这是个软件安全方面的技术。

逆向工程的目的

关注作者四字可以找到大神组织

(1)分析竞品的最新研究或者产品原型(包括所用的技术,所使用的框架)

(2)学术/学习目的。

(3)破解应用的使用权限

(4)识别竞品潜在的侵权行为

逆向工程的作用是什么

1.逆向工程并不是为了破解他人的软件为目的,在商业领域,有更加重要的作用,具体包括以下几个方面。

2.安全审查:对于iOS 开发者来说,不仅仅是完成产品的业务功能,尤其对大公司,还需要非常重视安全问题。通过逆向工程,及早发现问题,修改问题,避免发布后到用户手中引起各种舆情问题,损害公司声誉。

3.分析竞品:1.参考竞品app的架构设计;2.参考竞品app的接口设计;3.关键技术的实现细节。

4.学术研究:通过逆向,实现学术研究,主要用于学习。

5.突破app的使用限制:很多app对不同的用户有使用权限的限制,比如收费,或者vip用户才能使用的功能,通过逆向提前获取使用权限,当然不推荐这种方式,建议大家还是支持正版。

6.识别侵权:主要用于调查竞品或商业产品,识别侵权行为

逆向工程的分析工具

工欲善其事必先利其器,掌握了方法之后,还要学会使用各种工具,分析app的不同功能。这些工具主要包括以下:

砸壳查看APP头文件

工具

一.App Store上的应用都使用了FairPlay DRM数字版权加密保护技术。我们要对文件进行反汇编,而IPA都是加密的,哪怎么办呢?所以在逆向之前我们需要先对应用进行砸壳。这里我们使用的是 dumpdecrypted。(还可以使用Clutch,这里我们就不讲Clutch了)

dumpdecrypted 代码

Dumps decrypted mach-o filesfromencrypted iPhone applicationsfrommemory to disk.This tool is necessaryforsecurity researchers to be able to look under the hoodofencryption.

二.class-dump是用于解析Mach-O文件中存储的OC运行时信息的。他能生成类的声明、分类、协议。和otool -ov类似,但是由于class-dump的结果是以OC代码展示的,所以有很强的可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值