iOS逆向基础(二)-基础环境篇

226 阅读2分钟

一、摘要

上一篇安装了iOS逆向必备的基础软件,本章主要记录在越狱环境中进行C开发的环境搭建过程。在逆向过程中,经常需要将逆向出来的算法进行还原,并编译执行。在越狱手机上进行C程序开发,需要在手机系统下安装针对IOS环境的gcc工具,以及配套的一些工具,这些工具与Linux系统下的工具功能非常相似,只是针对IOS系统环境进行了重新包装,在安装这些工具的过程中,用到了上面提到的基本工具:OpenSSH和APT Transitional。并且需要通过apt在线安装wget,很多软件都需要通过wget目标网址进行在线下载安装。

二、开发软件安装

在安装开发软件之前,首先需要通过OpenSSH远程登录到手机系统,并输入root帐号和密码进行登录,在命令行下通过apt-get和wget命令完成各种软件安装。

第一步:下载libgcc库文件,命令为:wget

www.syshalt.net/iphone/gcc-…。如图: libgcc库下载.jpg 第二步:安装libgcc,安装命令如下:

libgcc库安装.jpg

第三步:下载安装gcc,输入命令:apt-get install iphone-gcc,如图: 下载安装gcc.jpg

第四步:验证gcc是否成功安装,命令如下: 验证gcc是否成功安装.jpg

第五步:下载SDK,下载命令如下:

下载SDK.jpg

第六步:输入命令:tar -xvzf sdk-2.0-headers.tar.gz将压缩包文件解压到目录。

第七步:进入目录:cd include-2.0-sdk-ready-for-iphone

第八步:输入命令:cp -r * /usr/include 将所有文件拷贝到/usr/include目录中,如图:

拷贝include目录.jpg

第九步:返回之前的目录,输入命令:cd ..

第十步:下载gcc相关文件,命令如下:

下载gcc命令.jpg

第十一步:输入命令:tar -xvzf gcc_file.tar.gz 解压文件。

第十二步:输入命令:cd gcc_files 进入目录。

第十三步:输入命令:cp -r * /usr/lib 拷贝文件到目录:/usr/lib ,如图:

拷贝usrlib.jpg

第十四步:通过命令:apt-get install ldid 命令安装ldid,如图:

安装ldid.jpg

第十五步:安装其它工具,输入以下命令安装:

apt-get install make

apt-get install vim

apt-get install curl

apt-get install sqlite3

三、代码编译和测试

将写好的测试代码拷贝至iPhone手机目录下:

测试代码拷贝到手机.jpg

输入命令:gcc -o test main.c 进行编译。

输入命令:ldid -S test 进行签名。

输入命令: ./test 执行程序,程序执行成功,如图:

程序执行成功.jpg

为了能够进行快速编译,下面是一个Makefile模版:

CC=gcc

INCLUDE=

CFLAGS=-g

srcfiles:=$(wildcard *.c)

header:=$(wildcard *.h)

objects:=(patsubst(patsubst %.c,%.o,(srcfiles))

tcpdump_proc:$(objects)

(CC)(CC) (CFLAGS) (INCLUDE)(INCLUDE) (objects) -o $@

(objects):(objects):(header)

(CC)(CC) (CFLAGS) -c (INCLUDE)(INCLUDE) (srcfiles)

clean:

rm -rf $(objects) main

以下是一个编译多个C文件的例子:

image.png