当我们要逆向第三方应用时,首先就是要将应用安装在我们的手机上,然后进行hook分析,找到对应的方法调用,进行代码注入,破解其正常流程,从而达到逆向目的。接下来将详细讲解分析该过程具体实现。
一、shell脚本实现重签名
1. 我们以最常见的应用微信为例,其他应用原理一样!首先我们去PP助手下载越狱版本的微信应用,如下图:
01
-
1.1 越狱版本的应用是没有加密的,正式版本的应用是加过密的,我们用MachOView来查看应用的可执行文件信息,演示如下:
02
- 1.2 从上图中我们可以看到LC_ENCRYPTION_INFO_64加密信息这一栏中的Crypt ID为0,代表没有加密,而微信的正式版本此处为1,代表用到了某一种加密方式,加密的我们是很难去进行代码注入的。
2.我们先来看一下重签微信app的效果,演示如下:
03
-
2.1 接下来我们将详细讲解重签过程,这里的重签可以手动也可以使用脚本,手动比较繁琐,这里就不演示了。下面我们基于shell脚本来完成代码的重新签名,总计不超过20条命令,在进行shell脚本讲解之前,如果你不熟悉shell脚本,请先花点时间看下入门教程。
-