iOS反向——砸壳与反编译

访客3年前黑客文章578

创作者:瘋狂的蛋神

近期对iOS反向十分很感兴趣,就在碎片时间里自身在网上找了各种各样材料学习培训,发觉很多材料针对一些关键点叙述的不足详尽,因此 也踩了许多坑,因为我将自身踩的一些坑小结出去,期待对大伙儿有一定的协助。

注:反向是为了更好地学术研究\\学习培训的目地而去探寻,不为了更好地不法赢利或别的不正当行为而开展的。文中若有侵犯隐私或别的随时欢迎,我将在之一时间整顿或删掉。

1、Mac Book Pro(小编做iOS开发设计,暂时没有科学研究Windows自然环境下的一些专用工具或是配备,也许有一丝不一样)。

2、一部苹果越狱机器设备(沒有苹果越狱机器设备的,能够下载爱思助手等专用工具开展一键越狱,在一键越狱那里有相匹配的版本信息,这儿也不对苹果越狱太多叙述。这儿我提前准备的是一部8.3版本号的iPhone 5s)

爱思助手

3、dumpdecrypted(砸壳专用工具)

4、pp助手(用以下载提前准备砸壳的App运用)

5、iFunBox(用以将砸壳进行后的文件导出来)

6、iTools Pro(用以导进编译程序后的dumpdecrypted.dylib文件,及其对比查询文件文件目录)

7、Terminal(终端设备,大家会很多的应用到这一专用工具)

8、class-dump(砸壳专用工具)

1、下载App运用

应用pp助手下载大家提前准备砸壳的App运用(这儿我就用的是手机微信做示范性)。

目标软件——手机微信

2、手机上OpenSSH联接

把手机与Mac根据USB联接,确保手机上与Mac处于同一WiFi自然环境下,为了可以联接上手机上。

①点一下手机里的设定->Wi-Fi->已连接上的WiFi最右边的惊叹号->BootP或

②点一下手机里的设定->Wi-Fi->已连接上的WiFi最右边的惊叹号->IPV4详细地址挑选BootP,挑选右上方储存。

这时候大家的机器设备的IP地址已固定不动,那么做是为了更好地避免动态性IP的状况下IP地址被占有或详细地址变更。

3、开启终端设备

输入ssh 及其大家上一步展现的IP地址。

比如:ssh

它是大家必须输入OpenSSH的联接登陆密码,联接登陆密码的初值为alpine。

到这儿大家取得成功联接上手机了。

4、进到我们要砸壳的相匹配文件目录下

更先大家将手机上中的全部过程杀掉,回到桌面,随后点开我们要砸壳的App运用,让运用维持在前台接待。

随后在终端设备输入ps -e,大家会发觉一个很是怪异的过程。

手机微信

再开启iTools Pro依据标出的相匹配文件目录开展查询,大家会发觉这一文件目录便是手机微信所属的文件目录,假如找不着的同学们能够试一下不在进入微信和进入微信后根据ps -e指令輸出的結果不同之处在哪里,就能找到。

在WeChat.app文件夹中包括了很多的素材图片文件,配备文件及其WeChat新项目文件,此刻大家先看一下这一新项目文件是不是免杀,与不免杀有什么不同。

这时大家将WeChat.app导出来至Mac中,鼠标右键挑选WeChat,挑选表明包內容,新创建一个终端窗口,cd到包內容所属的路径中。

在终端设备输入:otool -l WeChat | grep crypt,大家会见到一个关键的信息内容,cryptid 1,这说明这一新项目文件还未没砸壳,0则表明早已进行砸壳。

总体目标文件剖析大概到这里早已达到大家必须的,下面逐渐宣布进到砸壳。

1、下载并缓解压力dumpdecrypted.zip文件(感觉Github慢的同学们能够在上原文中寻找相匹配的下载详细地址)。

我们可以见到里边包括的文件非常简单,便是三个文件,分别是一个.c文件,一个是Make编译程序文件,一个是README表明文件。

大家开启一个新的终端窗口,并cd到Makefile所属的路径,输入make。

编译程序dumpdecrypted.dylib库

编译程序进行

编译程序进行后会获得dumpdecrypted.dylib文件,随后我们要对这一文件开展一次签名,如果不对该文件开展签名, 事后砸壳的实际操作会不成功。

在终端设备输入security?find-identity -v -p codesigning,会复印出mac上边早已安裝的资格证书,这儿我就用自身的本人账户开展检测签名。

输入--force --verify --verbose --sign "iPhone Developer: XXXXX (XXXXX)" dumpdecrypted.dylib开展签名。

签名取得成功

这儿早已完成了对dumpdecrypted.dylib文件的签名,如果有发生下列提醒,则是由于在钥匙串中存有失效或是很多反复的资格证书造成 ,必须在钥匙串中删掉失效的资格证书。

存有反复资格证书

2、寻找WeChat的文件目录

WeChat路径及ID序号

从图中中我们可以见到手机微信在运作是的路径及其ID序号,在终端设备中大家输入cycript -p XXXX就可以钩住过程,根据OC英语的语法搜索到文件文件目录。(下面的图我重新启动了机器。。。过程序号就更改了,别在乎 - -)。

取得成功钩住过程

假如发生输入cycript -p XXXX后提醒-sh: cycript: command not found,则是由于机器设备中沒有安裝Cycript软件,开启Cydia,检索Cycript并安裝重新启动后就可以。

Cycript软件

钩住过程后,大家输入[[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomans:NSUserDomainMask][0]后,会复印出WeChat的Document文件目录所属路径。

复印路径

依据这一路径,大家开启iFunBox专用工具,按照这一路径将大家签名后的dumpdecrypted.dylib文件拷贝进来。

挑选Copy From Mac,将文件导进

按control d撤出勾子,cd到Document文件目录中,再输入DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /WeChat所属的WeChat.app路径

砸壳

输入后会呈现以下几点,表明砸壳成功了,取得成功后会转化成WeChat.decrypted文件,这就是我们下一步要反编译的文件了。

砸壳取得成功

根据ls命令,我们可以看到WeChat.decrypted文件就储放在Documents,大家根据iFunBox能够见到文件,并导出来到Mac中

WeChat.decrypted文件

导出来文件到当地

在当地把WeChat.decrypted文件的文件后缀名除掉,再用otool -l WeChat | grep crypt命令查询。

砸壳取得成功

显著的见到这儿表明的是cryptid 0,也就是蜕壳了。这时候再应用class-dump -H WeChat命令将总体目标文件反编译出去。大家会见到反编译出去好多好多的头文件。大家梳理到一个文件夹里。

反编译取得成功

到这儿大家的砸壳与反编译早已进行。接下来就可以依据获得的头文件开展剖析及其Hook这些。

事后会再次对反向这一方位开展深层次的科学研究,热烈欢迎诸位巨头赐教,原文中有很多不够的地区多多指教。

热烈欢迎诸位巨头给与批评意见,让我们一起学习进步。

零信任: *** 信息安全防御力构思的完全转型

Mount Locker勒索病毒方案对于税务部门总体目标进行进攻

应用 TinyCheck 专用工具得到大量的隐私保护操纵

亚信安全:2020年勒索软件导致的财产损失升高50%

春节假期,这种 *** 信息安全预防 *** 铭记心头!

相关文章

马来西亚单日新增确诊津巴布韦总统穆加贝病例首破4000例 将开启中国

  (抗击新冠肺炎)马来西亚单日新增确诊病例首破4000例 将开启中国疫苗临床试验   中新社吉隆坡1月16日电 (记者 陈悦)马来西亚卫生部16日通报称,截至当日中午12时,该国过去24小时新增新...

智慧停车能否成为服务行业的一匹黑马

智慧停车能否成为服务行业的一匹黑马

编辑导语:据国度统计,2020年3月,全国汽车拥有量达4亿;车位的增加量与车辆增加快度不成正比,车位告急,在都市富贵地段显得尤为突出;开车堵、停车难成为当下社会普遍的问题;本文作者具体阐明白伶俐停车可...

对标蚂蚁信用!微信支付分来了

支付宝蚂蚁信用分2015年1月正式上线,经过近4年的发展,如今已经全面融入我们的生活,比如免押金骑单车、信用住酒店、享有花呗、借呗,甚至出国签证等等,都能用到蚂蚁信用分。 微信方面也不甘落后,2...

招人招工启事范本

招人招工啟事范本讀書啊,我信赖但有朗朗書聲出破廬,遲早有一日有萬鯉躍龍門之奇象。   篇一:招工啟事   本廠現因生產經營需要,的招聘以下人員:   1.招XX專業學員,要求:(男或女),高中以上...

98洪水(98洪水赈灾)

1、李向群李向群(1978--1998)新时期英雄战士。海南省琼山市人中国人民解放军第41集团军121师361团9连战士。1996年1。 最初统计死亡4150人。最初统计,受灾最重的江西、湖南、湖北、...

电脑重启快捷键

可以用WIN X,Ctrl U,Ctrl R的组成键盘快捷键完成重新启动。电脑上维持在桌面上,按住WIN X,按住Ctrl U进到待机或销户选择项,按住Ctrl R就可以重新启动。 知名品牌型号规格:...