iOS逆向开发-砸壳

我们知道AppStore的APP都是经过Store加密的,我们想要对其进行一些逆向破解,必须先砸掉这层壳,主要介绍一下怎样用dumpdecrypted砸壳。

  1. 下载并编译
    从这里下载压缩包,然后解压,会得到 dumpdecrypted-master 文件夹,用终端命令行进入该文件夹执行make命令进行编译:
    编译
    然后会得到我们需要的 dumpdecrypted.dylib 库文件。
    这里有些坑,但是我没踩到,如果遇到编译过程中有问题的童鞋,可以看看这个他踩的坑
  2. 准备
    接下来我们要找到要砸的App,然后把动态库加进去,为我们最后砸壳做好充分准备。这里我以微信示例。
    首先我们要知道两个路径:
    一个是微信App可执行文件的存放路径,否则我们砸什么呢。
    一个是微信App的沙盒路径,我们需要把动态库放置到沙盒路径下才能保证动态库能正常运行。
  • 寻找可执行文件路径
    首先把你的微信先跑起来,切到前台
    然后用ssh登陆到你的手机上
    ssh root@yourPhoneIP
    执行ps命令,查看当前跑着的进程(如果你的iphone执行不了ps命令,去cydia安装adv-cmds软件包就好了)
    ps -e
    然后在众多进程中找到我们要找的微信,显示的就是他的可执行文件路径,记下来

    微信

  • 用Cycript寻找沙盒
    Cycript不多介绍,第一次用的话可以从这里看一下基本用法。
    执行命令行
    cycript -p WeChat
    cy#[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
    #"file:///var/mobile/Containers/Data/Application/CAD8A685-F1F3-42D8-AB7E-FF18767D7A30/Documents/"
    就找到了微信的沙盒目录。记录下来。

  • 把动态库放到沙盒Document目录下
    现在dumpdecrypted.dylib还在我们的电脑上,我们需要把他移到微信沙盒Document下。
    新打开一个终端并且cd到dumpdecrypted.dylib所在的目录下,执行命令行:
    scp dumpdecrypted.dylib root@yourPhoneIP:/var/mobile/Containers/Data/Application/CAD8A685-F1F3-42D8-AB7E-FF18767D7A30/Documents/dumpdecrypted.dylib
    后面的路径就是你之前查到的沙盒路径,别无脑把我这里的复制上去了。
    当然你也可以用PP助手这些工具软件直接把dumpdecrypted.dylib拖到微信的沙盒里。

  1. 砸砸砸
    回到之前ssh在你iphone上的终端,先"ctrl + D"退出cycript, cd到微信的沙盒Document下:
    cd /var/mobile/Containers/Data/Application/CAD8A685-F1F3-42D8-AB7E-FF18767D7A30/Documents/
    执行砸壳,目标路径就是之前查到的微信可执行文件路径:
    DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/5F7F9D80-7EF9-4DEE-82B1-51D028E2752B/WeChat.app/WeChat
    当看到 WeChat.decrypted ,大功告成!


    砸壳

    之后随便用PP助手之类的工具,直接从微信沙盒把WeChat.decrypted拿出来,就可以用于之后的class-dump之类的了。

     class-dump -H 需要导出的框架路径 -o 导出的头文件存放路径    
    

Tip:关于 dumpdecrypted.dylib 要放在沙盒Document目录下。 如果不放在沙盒下执行,会直接报错如下:
dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
dumpdecrypted.dylib: stat() failed with errno=1
Trace/BPT trap: 5
来自http://bbs.iosre.com/的一段话:

我们都知道,StoreApp对沙盒以外的绝大多数目录没有写权限。dumpdecrypted.dylib要写一个decrypted文件,但它是运行在StoreApp中的,与StoreApp的权限相同,那么它的写操作就必须发生在StoreApp拥有写权限的路径下才能成功。StoreApp一定是能写入其Documents目录的,因此我们在Documents目录下使用dumpdecrypted.dylib时,保证它能在当前目录下写一个decrypted文件,这就是把dumpdecrypted.dylib拷贝到Documents目录下操作的原因。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 前言 本人小白一个,带着兴趣学习反编译,什么都是爬博客新学习,写此博客只为方便记忆,当然如果能给读者带来收获那就更...
    孔凡伍阅读 792评论 0 0
  • 逆向工具集的安装和使用 iOS 逆向工程的工具分类 检查工具如:Reveal(界面分析工具)、tcpdump(抓包...
    Yochi阅读 5,446评论 1 5
  • 首先得准备一部已经越狱过的iPhone,并且安装好OpenSSH和cycript插件 步骤: 下载 https:/...
    gmfx阅读 954评论 1 1
  • 文章砸壳使用到了ssh连接手机,Cycript注入进程查看应用的一些路劲,以及越狱的手机,所以在开始对应用进行砸壳...
    James_Gong阅读 6,491评论 0 3
  • 文字是奇妙的,它可以有形,也可以无形。 它可以开心,也可以不开心。它源于生活,又高于生活。 在生活中,常常遇到词不...
    小小毅阅读 755评论 2 1