Skip to content

Commit fcbeace

Browse files
committed
Fix README.md formatting to use one sentence per line (#1)
Restructured Markdown content to follow the one-sentence-per-line convention. This improves readability of diffs in version control. Makes future edits more trackable. No content changes, only formatting modifications. Signed-off-by: editheman <edipana0409@gmail.com> Update: Add package installation instructions for multiple platforms (#4) Added comprehensive installation instructions for required dependencies across multiple platforms: - macOS (via Homebrew) - Ubuntu/Debian - Fedora/RHEL/CentOS - Arch Linux This enables users to properly set up their environment before building vfdecrypt locally. Signed-off-by: editheman <edipana0409@gmail.com>
1 parent e6fa062 commit fcbeace

File tree

1 file changed

+41
-7
lines changed

1 file changed

+41
-7
lines changed

README.md

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,61 @@
11
# VFDecrypt
22

3-
[VFDecrypt](https://www.theiphonewiki.com/wiki/VFDecrypt) is used to decrypt Apple iOS root filesystem images. Root filesystem images inside IPSW files are encrypted for iOS >= 9. Since iOS 10, root filesystem images are not encrypted and VFDecrypt is no longer required.
3+
[VFDecrypt](https://www.theiphonewiki.com/wiki/VFDecrypt) is used to decrypt Apple iOS root filesystem images.
4+
Root filesystem images inside IPSW files are encrypted for iOS >= 9.
5+
Since iOS 10, root filesystem images are not encrypted and VFDecrypt is no longer required.
46

5-
Decrypting root filesystem images requires the decryption key. This is provided for most root filesystem images version by the community at [The iPhone Wiki](https://www.theiphonewiki.com/wiki/Firmware_Keys).
7+
Decrypting root filesystem images requires the decryption key.
8+
This is provided for most root filesystem images version by the community at [The iPhone Wiki](https://www.theiphonewiki.com/wiki/Firmware_Keys).
69

7-
There are several VFDecrypt builds available on the Internet. We've used and updated the implementation [here](https://github.com/trailofbits/iverify-oss/tree/master/vendor/vfdecrypt). We've updated `vfdecrypt.c` to support OpenSSL >= 1.1.0 and the `Makefile` to be OS-dependent.
10+
There are several VFDecrypt builds available on the internet.
11+
We've used and updated the implementation [here](https://github.com/trailofbits/iverify-oss/tree/master/vendor/vfdecrypt).
12+
We've updated `vfdecrypt.c` to support OpenSSL >= 1.1.0 and the `Makefile` to be OS-dependent.
813

9-
You build `vfdecrypt` using
14+
### Dependencies
15+
16+
To build and run vfdecrypt locally, you need to install the following dependencies:
17+
18+
* macOS
1019

20+
```console
21+
brew install openssl make
1122
```
12-
make
23+
24+
* Ubuntu/Debian
25+
26+
```console
27+
sudo apt-get update
28+
sudo apt-get install -y build-essential libssl-dev coreutils
29+
```
30+
31+
* Fedora/RHEL/CentOS
32+
33+
```console
34+
sudo dnf install -y gcc gcc-c++ make openssl-devel coreutils
1335
```
1436

15-
You runn `vfdecrypt` by passing it the root filesystem key, the root filesystem image and the output (decrypted) file:
37+
* Arch Linux
1638

39+
```console
40+
sudo pacman -S base-devel openssl coreutils
1741
```
42+
43+
You build `vfdecrypt` using
44+
45+
```console
46+
make
47+
```
48+
49+
You run `vfdecrypt` by passing it the root filesystem key, the root filesystem image and the output (decrypted) file:
50+
51+
```console
1852
./vfdecrypt -i ~/Projects/store/out/iPhone5,1_9.3_13E237/058-25512-331.dmg -k 2a66fd6377af8f60d5e300ac3aa8d9c44a1c0dee94579ad3f8a26515debbf381bb971ae8 -o decrypted.dmg
1953
```
2054

2155
iExtractor runs `vfdecrypt` as part of the `bin/decrypt_fs` and `scripts/decrypt_fs` scripts.
2256

2357
The usage inside iExtractor:
2458

25-
```
59+
```console
2660
docker run -v "<input_absolute_path>":/in -v "<output_absolute_path>":/out -t ghcr.io/malus-security/vfdecrypt:latest -k<rootfs_key> /in /out > /dev/null 2>&1
2761
```

0 commit comments

Comments
 (0)