├── .gitignore
├── .gitattributes
├── .github
└── workflows
│ └── maven.yml
├── pom.xml
├── README.md
└── src
└── main
└── java
└── de
└── mas
└── jwudtool
└── Main.java
/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 | /target/
3 | .classpath
4 | .project
5 | .settings/
6 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.github/workflows/maven.yml:
--------------------------------------------------------------------------------
1 | # This workflow will build a Java project with Maven
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3 |
4 | name: Java CI with Maven
5 |
6 | on:
7 | push:
8 | branches: [ master ]
9 | pull_request:
10 | branches: [ master ]
11 |
12 | jobs:
13 | build:
14 |
15 | runs-on: ubuntu-latest
16 |
17 | steps:
18 | - uses: actions/checkout@v2
19 | - name: Set up JDK 1.8
20 | uses: actions/setup-java@v1
21 | with:
22 | java-version: 1.8
23 | - name: Build with Maven
24 | run: mvn -B package --file pom.xml
25 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
4 | 4.0.0
5 | de.mas
6 | jwudtool
7 | 0.5
8 |
9 |
10 |
11 | normal-build
12 |
13 | true
14 |
15 |
16 | ./target
17 |
18 |
19 |
20 | ci-build
21 |
22 |
23 | ci-build
24 | true
25 |
26 |
27 |
28 | ./ci
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | maven-compiler-plugin
37 | 3.7.0
38 |
39 | 1.8
40 | 1.8
41 |
42 |
43 |
44 | maven-assembly-plugin
45 |
46 |
47 | make-assembly
48 |
49 |
50 |
51 | de.mas.jwudtool.Main
52 |
53 |
54 |
55 | jar-with-dependencies
56 |
57 |
58 | ${jar_dir}
59 | JWUDTool-${project.version}-nightly
60 |
61 | package
62 |
63 | attached
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | jitpack.io
74 | https://jitpack.io
75 |
76 |
77 |
78 |
79 |
80 | com.github.Maschell
81 | JNUSLib
82 | 822cf2d
83 |
84 |
85 |
86 |
87 | org.projectlombok
88 | lombok
89 | 1.18.4
90 | provided
91 |
92 |
93 |
94 |
95 | commons-cli
96 | commons-cli
97 | 1.4
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JWUDTool
2 |
3 | Here is just a simple program that uses the (http://gbatemp.net/threads/jnuslib-java-nus-library.452954/).
4 | The usage should be pretty self explaining.
5 |
6 | **STILL EXPERIMENTAL. Bugs may occur, please report them!**
7 |
8 | ## Features
9 |
10 | * Compressing .wud and splitted wud files into .wux
11 | * Decompressing a .wux back to .wud
12 | * Extracting titles from the GI or GM partition
13 | * Extracting .app/-h3/.tmd/.cert/.tik files from a .wud/.wux or splitted .wud
14 | * Extracting just the contents/hashes/ticket.
15 | * Decrypting the full partitions from a .wud/.wux or splitted .wud
16 | * Decrypting specific files any partition from a .wud/.wux or splitted .wud
17 | * Verify a image / Compare two images (for example a .wud with .wux to make sure its legit)
18 |
19 | ## Usage
20 |
21 | Optional:
22 | - Copy the common.key into the folder next to the .jar or provide the key via the command line
23 | - Copy the game.key into the folder next to the wud image or provide the key via the command line
24 |
25 | ```
26 | usage:
27 | -commonkey Optional. HexString. Will be used if no "common.key" in the
28 | folder of this .jar is found
29 | -dev Required when using discs without a titlekey.
30 | -compress Compresses the input to a .wux file.
31 | -decompress Decompresses the input to a .wud file.
32 | -decrypt Decrypts full the game partition of the given wud.
33 | -decryptFile Decrypts files of the game partition that match the regular
34 | expression of the given wud.
35 | -extract Extracts files from the game partition of the given wud
36 | (Arguments optional)
37 | -help shows this text
38 | -in Input file. Can be a .wux, .wud or a game_part1.wud
39 | -noVerify Disables verification after (de)compressing
40 | -out