Commit Graph

212 Commits

Author SHA1 Message Date
0d306076a2 Added methods to content module to remove contents by index or CID 2024-09-11 11:13:01 -04:00
a1773b9a02 Improved adding new content to title, fixed minor bugs
Dumping a title now properly updates the "number of contents" field in the TMD, so you're able to add more content than there was previously, and that new content will be added correctly.
2024-09-08 13:15:52 -04:00
7c2f0fb21f Fix getting a title's type 2024-09-05 11:07:14 -04:00
0edd4fa6bb Update how TMD regions are handled 2024-09-04 14:28:13 -04:00
e163d34f0b Allow for calculating title size with and without shared content 2024-09-04 14:23:24 -04:00
9fb0fdbc17 Added setting.txt parser, moved some modules under a new "nand" subpackage 2024-08-14 01:26:46 -04:00
1ae649afac Update README in preparation for v0.5.0 release v0.5.0 2024-08-12 15:26:03 -04:00
b782e5dea5 Fix typing issue with emunand class 2024-08-08 13:39:22 -04:00
894aa3a04b Added new module for EmuNAND features previously found in WiiPy 2024-08-08 13:24:10 -04:00
152a13fbe2 Rewrote most of U8 module, now extracts and packs all archives as expected 2024-08-07 22:46:28 -04:00
72a8b9b6a6 Added automatic documentation for modules new since v0.4.1 2024-08-04 01:04:47 -04:00
128f4a9303 Merge remote-tracking branch 'origin/main' 2024-08-03 23:26:50 -04:00
bab777b8b9 Added new module for handling sys files, currently supports uid.sys 2024-08-03 23:26:32 -04:00
fb87c2c58c Added methods to check if a TMD, Ticket, and Title are fakesigned 2024-08-03 14:01:09 -04:00
6220821a2f Cleaned up AccessFlags enum in TMD class 2024-08-03 13:44:15 -04:00
580ba8526f Add method to check for specific access rights in TMD 2024-08-03 13:36:35 -04:00
7e308a35eb Save access rights as an int and not bytes 2024-08-03 13:13:29 -04:00
194b65c6d6 Added hard-coded table of System Menu versions for conversions 2024-08-03 02:12:47 -04:00
cfd5abac7e Merge remote-tracking branch 'origin/main' 2024-08-02 23:57:58 -04:00
7edf764768 Fix handling of title and content types in tmd module 2024-08-02 23:57:43 -04:00
544e65a109 Fix title version cap 2024-08-02 14:28:22 -04:00
bcbdd284e9 Don't automatically set content to normal when applying IOS patches 2024-08-02 08:40:39 -04:00
415af7b8b8 Write the footer at the bottom when dumping 2024-08-01 17:04:59 -04:00
f81398e854 Disable automatically making patched content non-shared 2024-08-01 15:49:06 -04:00
60975dc62d Add experimental patch to make IOS work without a DVD drive 2024-07-31 01:29:54 -04:00
40e4459893 Added some basic tests for the commonkeys and nus modules 2024-07-29 19:28:28 -04:00
5c56eabe9f Fix a minor bug in how title versions were handled in the ticket module 2024-07-29 16:46:38 -04:00
9d26ff74ff Return count of applied patches from iospatcher instead of erroring on 0 applied 2024-07-29 15:29:51 -04:00
18b54af091 Fix formatting issue with setting the Title ID in the ticket module 2024-07-28 03:33:28 -04:00
2d67f982dc Re-encrypt Title Key when setting the Title ID (title module only) 2024-07-28 03:28:44 -04:00
d6e6352d0a Correctly generate IV for Title Key decrpytion for all Title ID formats 2024-07-28 03:15:51 -04:00
7daba7ec86 Add IOSPatcher to apply patches to IOS WADs loaded into a Title()
Also fixes a MAJOR bug with WAD packing where changes to the content records would be dropped when dumping a WAD (!!)
2024-07-28 01:43:46 -04:00
930e09828e Always return lowercase file names from SharedContentMap.add_content() 2024-07-27 20:47:22 -04:00
a5ce7e9cd1 Minor fix for accepting different input types for SharedContentMap.add_content() 2024-07-27 19:56:43 -04:00
76b773ee36 Fix adding content to the content map if it is empty 2024-07-27 19:36:27 -04:00
817a2c9ac5 Added SharedContentMap to content module to handle content.map files 2024-07-27 19:22:21 -04:00
102da808e6 Add option to skip hash checks when unpacking a WAD 2024-07-25 21:14:12 -04:00
f7f67d3414 Rewrote most of the content module, code is much cleaner now
It also has more checks, so that should ensure that more errors get caught and aren't either ignored or allowed to fall through to the interpreter.
Also, part of this cleanup is that the content module now entirely operates on content indexes and not literal indexes, so this makes sure that WADs where the content and literal indexes don't match are handed properly
2024-07-25 17:15:26 -04:00
39eecec864 Fall back on key 0 when invalid, fix footer reading code 2024-07-25 13:09:01 -04:00
5f4fa8827c Added new methods to TMD/Ticket/Title modules for changing title versions 2024-07-22 02:42:04 -04:00
e70b9570de Fix handling WADs where content index != actual index in the array 2024-07-20 15:07:23 -04:00
4f96e1b0d9 Add more detailed keys to pyproject.toml v0.4.1 2024-07-17 21:03:08 -04:00
bcd61b8a37 Slightly improve fakesign docstrings 2024-07-17 20:48:16 -04:00
a56fa6e051 Added methods to fakesign a TMD or Ticket 2024-07-17 20:44:04 -04:00
535de7f228 Read/write minor version in tmd module, allows for fakesigning 2024-07-10 20:18:15 +10:00
adac67b158 Change title version handling in tmd module
Now saving the version number (like v513) straight from the TMD and using that to dump the TMD, in case the converted version number (like v2.2) doesn't work right, which mostly applies to the system menu.
2024-07-10 08:11:14 +10:00
f96da98d23 Separate out components of a TMD signature
Not sure why this hadn't been done already given that the ticket module has always used separate properties for the signature type and data.
v0.4.0
2024-07-06 20:15:18 +10:00
c5abf16f67 Finally fix content region size in WAD headers 2024-07-06 20:00:18 +10:00
45638769a9 Allow for extracting a U8 archive to an existing (empty) directory 2024-07-05 08:34:23 +10:00
1f731bbc81 Improve WAD handling, fixes IOS WADs made with other tools not extracting
The way content sizes are handled has been adjusted to allow IOS WADs (which have their content structured a bit differently) made via other tools to be extracted.
Writing out WADs has also been changed so that the content size in the header now matches the output of older tools.
2024-07-02 18:29:15 +10:00