dumpdecrypted 砸壳:导出头文件

最近在看人工智能相关的知识,无意中发现了一个巨牛的 人工智能教程,分享一下给大家。

教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点 这里 可以直接看教程。

导出头文件

iOS 逆向: dumpdecrypted 砸壳记中已经给大家分享了对 ipa 文件如何砸壳了, 接下来就可以导出其头文件了。

这里需要用到 class-dump 工具。如果你使用 class-dump, 出现如下错误:

1
Error: Cannot find offset for address 0xxxxxxxxx in stringAtAddress

报这种错误说明你即将 dump 的文件是 OCSwift 混编的项目,class-dump 这个工具对它们无能为力。

还好, 伟大的程序员们给我们解决了这个问题。

去获取 class-dump 改进版 源码, 然后使用 Xcode 编译即可.

编译完成后生成的 class-dump 就可以拿来使用了.

改变其可执行的权限:

1
2
3
4
5
6
7
chmod +x class-dump
```
查看 decrypted 文件的 arm 架构:
```sh
class-dump --list portkey-prod.decrypted

显示为:arm64

开始 dump:

1
2
3
mkdir portkey-header
class-dump -H portkey-prod.decrypted -o portkey-header/

遇到问题

dumpdecrypted 砸壳出现了问题, 错误信息如下:

1
2
dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'

解决方案, 重新签名 dumpdecrypted 后将其拷贝到 Documents 目录.

1
2
3
4
5
## 列出可签名证书, 找到 mac 上面已经安装的证书
security find-identity -v -p codesigning
## 为 dumpecrypted.dylib 签名
codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib

注意:iPhone Developer: xxx xxxx (xxxxxxxxxx) 为你自己本机安装的开发者证书名称.

看到的工具

  • class-dump-swift 针对 Swift 的工具。这个需要自己先编译 llvm,然后才能使用.

  • dumpdecrypted, 比较自动化的一个版本,但我使用这个没有砸壳成功(估计是需要针对这个文件进行签名)。

  • Clutch

越狱系列文章

基于 iOS10.3.1 进行的实践。

一个神奇的二维码~

坚持原创技术分享!