├── .gitignore ├── README.md ├── UpdatePackageDpkg.md ├── bz2-packages.sh ├── class-dump-helper ├── class-dump ├── class-dump-helper.py ├── class-dump-swift ├── class-dump-with-swift-support └── dsdump └── make-deb.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # How to dump header for an ios app 2 | 3 | 1. Run `iproxy 2222 22` 4 | 2. Go to `frida-ios-dump` git directory (which has dump.py) and run `./dump.py com.reddit.Reddit` 5 | 3. An IPA file is created. Move it to somewhere like `~/ipa-dump/reddit`. `unzip` it, we can see `Payload/Reddit.app` 6 | 4. Go to `ios-tweaks/_scripts/class-dump-helper` and run `./class-dump-helper.py ~/ipa-dump/reddit` -------------------------------------------------------------------------------- /UpdatePackageDpkg.md: -------------------------------------------------------------------------------- 1 | dpkg-scanpackages -m ./debs | gzip -c > Packages.gz -------------------------------------------------------------------------------- /bz2-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm ../Packages.bz2 || true 3 | bzip2 -k ../Packages -------------------------------------------------------------------------------- /class-dump-helper/class-dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haoict/ios-tweak-development-scripts/bf781623f7b1cd402837a6541f0fc8242bb1b868/class-dump-helper/class-dump -------------------------------------------------------------------------------- /class-dump-helper/class-dump-helper.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | # Author : Hao Nguyen 5 | 6 | import sys 7 | import os 8 | import magic 9 | import subprocess 10 | from pathlib import Path 11 | 12 | classDumpExec = './class-dump-swift' 13 | FNULL = open(os.devnull, 'w') 14 | 15 | def traverseDir(rootDir='.'): 16 | mime = magic.Magic(mime=True) 17 | for dirName, subdirList, fileList in os.walk(rootDir, topdown=False): 18 | # print('Found directory: %s' % dirName) 19 | for fname in fileList: 20 | # print('\t%s/%s' % (dirName, fname)) 21 | filePath = '%s/%s' % (dirName, fname) 22 | fmimeType = mime.from_file(filePath) 23 | if (fmimeType == 'application/x-mach-binary'): 24 | # print(filePath) 25 | classDumpExecArg = ' -H "%s" -o "%s/header/%s"' % (filePath, rootDir, fname) 26 | print([classDumpExec, classDumpExecArg]) 27 | subprocess.call([classDumpExec + classDumpExecArg], shell=True) 28 | 29 | 30 | 31 | if __name__ == "__main__": 32 | if (len(sys.argv) != 2): 33 | print('Argument is missing. Example: ./class-dump-helper.py ~/Desktop/ipa-dump/facebook') 34 | 35 | print('Checking binary files in dir: ', sys.argv[1]) 36 | # os.mkdir(sys.argv[1] + '/header') 37 | Path(sys.argv[1] + '/header').mkdir(parents=True, exist_ok=True) 38 | traverseDir(sys.argv[1]) 39 | -------------------------------------------------------------------------------- /class-dump-helper/class-dump-swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haoict/ios-tweak-development-scripts/bf781623f7b1cd402837a6541f0fc8242bb1b868/class-dump-helper/class-dump-swift -------------------------------------------------------------------------------- /class-dump-helper/class-dump-with-swift-support: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haoict/ios-tweak-development-scripts/bf781623f7b1cd402837a6541f0fc8242bb1b868/class-dump-helper/class-dump-with-swift-support -------------------------------------------------------------------------------- /class-dump-helper/dsdump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haoict/ios-tweak-development-scripts/bf781623f7b1cd402837a6541f0fc8242bb1b868/class-dump-helper/dsdump -------------------------------------------------------------------------------- /make-deb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Absolute path to this script, e.g. /home/user/bin/foo.sh 4 | SCRIPT=$(readlink -f "$0") 5 | # Absolute path this script is in, thus /home/user/bin 6 | SCRIPTPATH=$(dirname "$SCRIPT") 7 | 8 | if [ "$1" != "" ]; then 9 | cp -r "$1" /tmp/"$1" 10 | cd /tmp 11 | chmod -R 755 "$1" 12 | 13 | # make deb file 14 | dpkg-deb --build /tmp/"$1" 15 | if [ $? -eq 0 ]; then 16 | echo "Success" 17 | output="$1".deb 18 | echo "Output file: $output" 19 | 20 | echo -ne "Size: " 21 | size=($(wc -c $output)) 22 | echo $size 23 | 24 | echo -ne "MD5sum: " 25 | md5=($(md5sum $output)) 26 | echo $md5 27 | 28 | echo -ne "SHA1: " 29 | sha1=($(sha1sum $output)) 30 | echo $sha1 31 | 32 | echo -ne "SHA256: " 33 | sha256=($(sha256sum $output)) 34 | echo $sha256 35 | 36 | else 37 | echo "[ERROR] Error code: "$?"" 38 | fi 39 | 40 | # clean up 41 | rm -rf /tmp/"$1" 42 | mv /tmp/"$1".deb $SCRIPTPATH 43 | else 44 | echo "[ERROR] Parameter 1 is empty, it should be a directory to build deb" 45 | echo "Usage example: ./make-deb.sh com.package.name" 46 | fi 47 | --------------------------------------------------------------------------------