本人ios10.3.1 iphone6越狱机。
方案三个。

方案一、dumpdecrypted.dylib

1. ssh到越狱机上,看WeChat可执行文件在哪。

# ps aux|grep WeChat // 需要运行一下微信
mobile 33539 0.0 5.4 1556320 54512 ?? Ss 9:56AM 4:03.60 /var/containers/Bundle/Application/803BCF43-5FC1-4A35-90CC-7E47C4C7307E/WeChat.app/WeChat
2. ssh到越狱机上,看其Documents目录在哪。

# cycript -p WeChat  // 貌似得点一下iphone里的微信,不然会卡住。
cy# NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]
@"/var/mobile/Containers/Data/Application/CDA3D8B1-CBEE-4A35-B2A6-2FB733540511/Documents"
3. mac下,下载:dumpdecrypted 并make出dumpdecrypted.dylib。 然后把dumpdecrypted.dylib用scp拷到iphone的上面步骤2的目录下。(实操中在~目录下也成了.)
4. 砸壳:
# DYLD_INSERT_LIBRARIES=/var/mobile/Containers/Data/Application/CDA3D8B1-CBEE-4A35-B2A6-2FB733540511/Documents/dumpdecrypted.dylib /var/containers/Bundle/Application/803BCF43-5FC1-4A35-90CC-7E47C4C7307E/WeChat.app/WeChat
注:实操中dumpdecrypted.dylib放~目录也成了,即:DYLD_INSERT_LIBRARIES=~/dumpdecrypted.dylib ....
砸壳成功后,会在当前目录下生成砸壳后的的文件 WeChat.decrypted。
注:此方法 解密(砸壳)的仅这个WeChat.app/WeChat 。并不是整个WeChat.app。
5. 遇到的问题:
dyld: could not load inserted library ‘dumpdecrypted.dylib’ because no suitable image found. Did find: dumpdecrypted.dylib: required code signature missing for ‘dumpdecrypted.dylib’
解决方法,mac下:
## 列出可签名证书
# security find-identity -v -p codesigning
## 选一个证书为dumpecrypted.dylib签名
# codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib
然后把签名后的dumpdecrypted.dylib拷到iphone上。重复步骤4.
6. 怎么证明砸出来的WeChat.decrypted是成功解密(脱壳)了的?
把WeChat.decrypted拷到mac上,然后

# otool -l WeChat.decrypted | grep -B 2 crypt
WeChat.decrypted:
--
cmd LC_ENCRYPTION_INFO_64
cmdsize 24
cryptoff 16384
cryptsize 59817984
cryptid 0                     // <--- 0表示解密成功。1表示未成功

7. 顺便:在mac下借助 class-dump ,把脱壳文件dump出所有的OC头文件:

# ./class-dump -s -S -H ./WeChat.decrypted -o ./headers

方案二、frida

0. 这玩意,他是分两个端安装的。。mac端要装,iphone那也要装。相当于是mac下通过命令请求ios端脱壳...
1. mac下要安装:https://www.frida.re/docs/installation/
2. iOS下要安装:https://www.frida.re/docs/ios/然而我这一步就失败了,Cydia下添加源,屡次失败。
(补充链接,以后能添加源了再瞧。。https://www.jianshu.com/p/cfe852110e8a)

方案三、直接去pp助手下载越狱应用。通常就是脱壳了的ipa。

IOS逆向-砸壳笔记的更多相关文章

  1. iPhone手机越狱-逆向砸壳-代码注入

    iPhone手机越狱 逆向砸壳 代码注入 工具下载 操作越狱 安装待逆向应用(app) 使用OpenSSH连接手机 找到应用二进制文件地址 找到应用document沙盒地址 拷贝砸壳工具(dumpde ...

  2. IOS 逆向工程之砸壳

    在<iOS应用逆向工程>4.6.2节中,我们曾推荐使用iPhoneCake源的AppCrackr 1.7版给App砸壳.这种方式简单粗暴,省时省力,但正是因为它过于方便有木有,导致几乎所有 ...

  3. 最新iOS砸壳方式Frida (Mac OSX)

    1. 安装Frida 首先需要安装Python3,我下载的是 macOS 64-bit installer 安装,因Macbook本机自带python为2.7.x,故需要配置~/.bash_profi ...

  4. iOS逆向之class-dump

    1.class-dump class-dump是用来dump目标文件的类信息的工具.它利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@prot ...

  5. iOS逆向(五)-ipa包重签名

    为什么要重签名? 1.在没有源代码的情况下,你已经对某个应用进行了资源修改(比如修改了启动图或图标等).修改完成以后,如果想要让APP可以正常使用,该APP一定要重新签名然后压缩成IPA文件. 2.如 ...

  6. iOS逆向系列-脱壳

    概述 通过iOS逆向系列-逆向App中使用class-dump工具导出App的Mach-O文件所有头文件.Hopper工具分析App的Mach-O文件代码大概实现.但是这些前体是App的Mach-O没 ...

  7. iOS逆向之一 工具的安装和使用

    iOS逆向之一-工具的安装和使用 最近在学习iOS安全方面的技术,有些东西就记录下来了,所有有了这篇文章.顺便也上传了DEMO,可以再这里找到这些DEMO的源码:dhar/iOSReProject 越 ...

  8. iOS逆向工程之App脱壳

    本篇博客以微信为例,给微信脱壳."砸壳"在iOS逆向工程中是经常做的一件事情,,因为从AppStore直接下载安装的App是加壳的,其实就是经过加密的,这个“砸壳”的过程就是一个解 ...

  9. Talking Ben App砸壳记

    需求: 导出Talking Ben app的头文件 实施: 1)准备材料: 越狱IOS设备一部,并安装Talking Ben游戏 IOS设备上安装open SSH IOS设备的/usr/bin 中安装 ...

随机推荐

  1. A - Character Encoding HDU - 6397 - 方程整数解-容斥原理

    A - Character Encoding HDU - 6397 思路 : 隔板法就是在n个元素间的(n-1)个空中插入k-1个板,可以把n个元素分成k组的方法 普通隔板法 求方程 x+y+z=10 ...

  2. Android编译环境配置(Ubuntu 14.04)

    常识:编译Android源代码需要在Linux系统环境下进行... 在Linux中,开发Android环境包括以下需求:Git.repo.JDK(现在一般使用OpenJDK)等:其中,Git用于下载源 ...

  3. 护眼党必备良心app

    这几天用电脑用得厉害,眼睛经常感到疲劳,寻思着买个好点的蓝光眼镜.本来已经看上一个100+RMB的“高端”防蓝光眼镜,结果逛知乎发现了这两个app,能直接让电脑和手机屏幕过滤掉蓝光从而有效缓解视觉疲劳 ...

  4. C++学习笔记51:排序

    //直接插入排序函数模板 template <class T> void insertionSort(T a[], int n) { int i, ; T temp; ; i < n ...

  5. mysql三表查询sql语句

    表结构: Student学生表(学号.姓名.性别.年龄.编辑) Course课程表(编号.课程名称) sc选课表(选课编号.学号.课程编号.成绩) (1)写一个SQL语句,查询选修了“计算机原理”的学 ...

  6. eclipse Dynamic web module相关问题

    大致因为java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要喝对应的服务器搭配好了才能 ...

  7. win7 64位安装Dlib19.6版本的过程记录

    本文为原创,未经允许不得转载. 1.去Dlib的官网下载dlib-19.6的源文件.然后解压到Myprograms下的Res文件夹下 2.到CMake的官网下载Cmake,我下载以后解压,然后进入到b ...

  8. sqli-labs Less-11 and Less-12

    这关是post注入的世界,post注入就是表单中填好数据通常会被送到服务器,然后由服务器将其发送到它要去的地方(比如,送到一个服务器网关程序中,然后由这个程序对其进行处理). 不显示东西,那么加引号等 ...

  9. python2中urllib2模块带cookies使用方法

    #!/usr/bin/python # coding=utf-8 #############方式1######################### import urllib2 cookie = & ...

  10. 2018-8-16JWTtoken用户登录认证思路分析9502751

    2018-8-16JWTtoken用户登录认证思路分析9502751 JWT token在商城中的实现 class UserView(CreateAPIView): serializer_class ...