Commit Graph

  • 374358711b Beginning libWiiPy refactors No major functional changes have been made so far other than a couple of things being shifted between files, but a lot of bad code has been rewritten to hopefully make libWiiPy maintainable into the future. main NinjaCheetah 2025-12-16 23:14:33 -05:00
  • ce5d118de1 Create cert.sys during EmuNAND title installation if not found NinjaCheetah 2025-07-12 13:03:42 -04:00
  • 6d38df9133 Type __init()__ functions, clears all mypy issues NinjaCheetah 2025-05-27 13:57:39 -04:00
  • 2ca2ff1f44 Fix all mypy errors NinjaCheetah 2025-05-27 13:46:21 -04:00
  • 79ab33c18a Added support for progress callbacks in NUS download functions NinjaCheetah 2025-05-24 23:38:55 -04:00
  • e06bb39f4c Properly create/update uid.sys during EmuNAND title installs NinjaCheetah 2025-04-18 13:54:28 -04:00
  • 8269a0db98 (Title) Add check to make sure Ticket data exist before decrypting content NinjaCheetah 2025-04-17 16:31:16 -04:00
  • 8adbef26b1 Updated README to reflect features since v0.5.0 v0.6.0 NinjaCheetah 2025-02-10 16:26:45 -05:00
  • 5dde9f7835 Changed how the Title ID is handled in Tickets, stubbed out NUS endpoint validation NinjaCheetah 2025-02-10 13:36:39 -05:00
  • 93abad1f31 LZ77 Compression: Now 12.5% faster! NinjaCheetah 2025-01-29 22:48:58 -05:00
  • 9eabf2caee Added a lower LZ77 compression level that runs faster NinjaCheetah 2025-01-26 12:56:41 -05:00
  • 5ae867197b (doc) Workaround for ScrollSpy issue breaking TOC NinjaCheetah 2025-01-25 20:40:44 -05:00
  • c4cb028385 Re-add wiiload module post-merge unfinished NinjaCheetah 2025-01-23 22:27:05 -05:00
  • 6552dc5fa8 Add LZ77 Compression Function (#22) NinjaCheetah 2025-01-23 22:26:34 -05:00
  • 7ee5c1d728 Added compress_lz77 docstrings, temporarily removed unfinished wiiload module NinjaCheetah 2025-01-23 22:25:04 -05:00
  • e9a110bb1e LZ77 compression is now fully functional! (But still very slow) NinjaCheetah 2025-01-23 21:27:15 -05:00
  • d6d0af0623 Updated WIP LZ77 compressor, still not working yet (again) NinjaCheetah 2025-01-20 22:22:09 -05:00
  • 6916324479 Updated WIP LZ77 compressor, still not working yet NinjaCheetah 2025-01-19 21:50:42 -05:00
  • 89b0dca624 Merge branch 'main' into unfinished NinjaCheetah 2025-01-16 22:47:20 -05:00
  • e7070b6758 Unfinished wiiload module and LZ77 compression code NinjaCheetah 2025-01-16 22:44:28 -05:00
  • 93790d6f58 Added docs for LZ77 module NinjaCheetah 2025-01-16 22:43:51 -05:00
  • f0b79e1f39 Match Root-CA00000002-XS00000004 as a dev Ticket NinjaCheetah 2025-01-12 22:23:32 -05:00
  • 06b36290ed Add error handling for custom NUS endpoints NinjaCheetah 2025-01-12 21:54:16 -05:00
  • 47472e7b94 Added LZ77 decompression module NinjaCheetah 2025-01-08 18:43:48 -05:00
  • 7c5af6ebe0 Always user all uppercase when getting installed titles on EmuNAND NinjaCheetah 2025-01-02 17:20:09 -05:00
  • 046645eb56 Added method to title module to get if a title is signed legitimately NinjaCheetah 2024-12-23 23:50:14 -05:00
  • e45c7a3076 (docs) Began writing module descriptions NinjaCheetah 2024-12-21 18:09:37 -05:00
  • c2f6225500 Entirely restructured API documentation, now much easier to navigate NinjaCheetah 2024-12-20 19:21:53 -05:00
  • 04d17a58d2 Added missing note about retail vs development root keys NinjaCheetah 2024-12-16 22:24:27 -05:00
  • aa9e8fb4ea Updated placeholder docstrings in cert module NinjaCheetah 2024-12-16 22:22:11 -05:00
  • 8a15b1e82e Handle cert chain data in a title as a CertificateChain instead of bytes NinjaCheetah 2024-12-16 22:14:07 -05:00
  • ece19177c4 Added error handling to cert module, added support for dev CA cert NinjaCheetah 2024-12-16 21:55:58 -05:00
  • 3a44eaf2cf Added new CertificateChain class to manage the certs in a chain NinjaCheetah 2024-12-15 23:09:13 -05:00
  • 2fdd808137 Added new cert module to parse certs and functions to use them for verification NinjaCheetah 2024-12-15 22:08:51 -05:00
  • f98a3703a4 Fixed EmuNAND title installs when the title wasn't loaded from a WAD NinjaCheetah 2024-12-12 22:29:33 -05:00
  • 1e6952c2b2 Fixed invalid default value for nus.download_title() NinjaCheetah 2024-12-12 21:54:00 -05:00
  • 944fb896b5 Exclude DLC size from size total in tmd module NinjaCheetah 2024-12-12 20:05:43 -05:00
  • 3d4d3dc99e Use .lower() since title paths are lowercase NinjaCheetah 2024-12-12 17:32:44 -05:00
  • 62f99165c7 Split methods to get the TMD and Ticket in EmuNAND module NinjaCheetah 2024-12-12 17:25:23 -05:00
  • e227f4e2be Added methods to get content size to TMD module NinjaCheetah 2024-12-12 11:47:15 -05:00
  • da16259938 Added method to EmuNAND module to get the TMD and Ticket for an installed title NinjaCheetah 2024-12-11 21:37:56 -05:00
  • 1cce0f14ee Allow specifying a custom endpoint URL for NUS downloads NinjaCheetah 2024-12-08 22:06:19 -05:00
  • c86b44f35c Restructured IMET header code, now in archive/u8 and not media/banner NinjaCheetah 2024-11-30 18:54:50 -05:00
  • 1ff4ecdf68 Added method to query all titles installed in EmuNAND NinjaCheetah 2024-11-28 00:49:54 -05:00
  • 302bd842d1 Remove leftover import now that banner.py has been moved NinjaCheetah 2024-11-21 19:20:32 -05:00
  • c5a007e1f5 Small fix for docs NinjaCheetah 2024-11-21 19:18:03 -05:00
  • e96f6d9f13 Finished IMETHeader class, can now load, dump, create, and get/set channel names NinjaCheetah 2024-11-21 19:08:52 -05:00
  • 57b2ed63d4 Disable TMD/Ticket TID match check NinjaCheetah 2024-11-21 16:22:12 -05:00
  • 855200bb98 Add preliminary support for parsing 00000000.app New module banner.py offers classes for IMD5 and IMET headers, U8 unpacker now supports U8 archives with IMET headers. NinjaCheetah 2024-11-18 16:59:46 -05:00
  • cfd105ba81 Updated banner used in README NinjaCheetah 2024-11-10 23:22:24 -05:00
  • ed7e928ad8 Updated banner NinjaCheetah 2024-11-10 23:20:30 -05:00
  • 6b18254edc Small README change to reflect dev support NinjaCheetah 2024-10-20 22:41:34 -04:00
  • 1b6e0db26d Revert changes related to processing content indices Changes released in libWiiPy v0.5.0 and v0.5.1 to how indices were handled ended up way overcomplicating things, resulting in lots of issues now that I'm working with the content module again in WiiPy. These changes have mostly been reverted. The issues were related to handling WADs where the content indices don't align with the actual index of the content, like in cases where content has bene removed. This issue has been fixed again with a new and much simpler patch that should not introduce new bugs. v0.5.2 NinjaCheetah 2024-10-20 19:03:26 -04:00
  • 9ae059b797 Add support for extracting/packing/otherwise handling dev WADs NinjaCheetah 2024-10-13 21:39:52 -04:00
  • c604c195d2 Correct line endings when dumping setting.txt v0.5.1 NinjaCheetah 2024-10-09 20:38:00 -04:00
  • 0c2e13f18a Remove leftover debugging print NinjaCheetah 2024-10-08 14:06:09 -04:00
  • 7fed039fdc Added methods to get a content index from a CID and add content from a Title() NinjaCheetah 2024-09-13 14:56:37 -04:00
  • 0d306076a2 Added methods to content module to remove contents by index or CID NinjaCheetah 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. NinjaCheetah 2024-09-08 13:15:52 -04:00
  • 7c2f0fb21f Fix getting a title's type NinjaCheetah 2024-09-05 11:07:14 -04:00
  • 0edd4fa6bb Update how TMD regions are handled NinjaCheetah 2024-09-04 14:28:13 -04:00
  • e163d34f0b Allow for calculating title size with and without shared content NinjaCheetah 2024-09-04 14:23:24 -04:00
  • 9fb0fdbc17 Added setting.txt parser, moved some modules under a new "nand" subpackage NinjaCheetah 2024-08-14 01:26:46 -04:00
  • 1ae649afac Update README in preparation for v0.5.0 release v0.5.0 NinjaCheetah 2024-08-12 15:26:03 -04:00
  • b782e5dea5 Fix typing issue with emunand class NinjaCheetah 2024-08-08 13:39:22 -04:00
  • 894aa3a04b Added new module for EmuNAND features previously found in WiiPy NinjaCheetah 2024-08-08 13:24:10 -04:00
  • 152a13fbe2 Rewrote most of U8 module, now extracts and packs all archives as expected NinjaCheetah 2024-08-07 22:46:28 -04:00
  • 72a8b9b6a6 Added automatic documentation for modules new since v0.4.1 NinjaCheetah 2024-08-04 01:04:47 -04:00
  • 128f4a9303 Merge remote-tracking branch 'origin/main' NinjaCheetah 2024-08-03 23:26:50 -04:00
  • bab777b8b9 Added new module for handling sys files, currently supports uid.sys NinjaCheetah 2024-08-03 23:26:32 -04:00
  • fb87c2c58c Added methods to check if a TMD, Ticket, and Title are fakesigned NinjaCheetah 2024-08-03 14:01:09 -04:00
  • 6220821a2f Cleaned up AccessFlags enum in TMD class NinjaCheetah 2024-08-03 13:44:15 -04:00
  • 580ba8526f Add method to check for specific access rights in TMD NinjaCheetah 2024-08-03 13:36:35 -04:00
  • 7e308a35eb Save access rights as an int and not bytes NinjaCheetah 2024-08-03 13:13:29 -04:00
  • 194b65c6d6 Added hard-coded table of System Menu versions for conversions NinjaCheetah 2024-08-03 02:12:47 -04:00
  • cfd5abac7e Merge remote-tracking branch 'origin/main' NinjaCheetah 2024-08-02 23:57:58 -04:00
  • 7edf764768 Fix handling of title and content types in tmd module NinjaCheetah 2024-08-02 23:57:43 -04:00
  • 544e65a109 Fix title version cap NinjaCheetah 2024-08-02 14:28:22 -04:00
  • bcbdd284e9 Don't automatically set content to normal when applying IOS patches NinjaCheetah 2024-08-02 08:40:39 -04:00
  • 415af7b8b8 Write the footer at the bottom when dumping NinjaCheetah 2024-08-01 17:04:59 -04:00
  • f81398e854 Disable automatically making patched content non-shared NinjaCheetah 2024-08-01 15:49:06 -04:00
  • 60975dc62d Add experimental patch to make IOS work without a DVD drive NinjaCheetah 2024-07-31 01:29:54 -04:00
  • 40e4459893 Added some basic tests for the commonkeys and nus modules NinjaCheetah 2024-07-29 19:28:28 -04:00
  • 5c56eabe9f Fix a minor bug in how title versions were handled in the ticket module NinjaCheetah 2024-07-29 16:46:38 -04:00
  • 9d26ff74ff Return count of applied patches from iospatcher instead of erroring on 0 applied NinjaCheetah 2024-07-29 15:29:51 -04:00
  • 18b54af091 Fix formatting issue with setting the Title ID in the ticket module NinjaCheetah 2024-07-28 03:33:28 -04:00
  • 2d67f982dc Re-encrypt Title Key when setting the Title ID (title module only) NinjaCheetah 2024-07-28 03:28:44 -04:00
  • d6e6352d0a Correctly generate IV for Title Key decrpytion for all Title ID formats NinjaCheetah 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 (!!) NinjaCheetah 2024-07-28 01:43:46 -04:00
  • 930e09828e Always return lowercase file names from SharedContentMap.add_content() NinjaCheetah 2024-07-27 20:47:22 -04:00
  • a5ce7e9cd1 Minor fix for accepting different input types for SharedContentMap.add_content() NinjaCheetah 2024-07-27 19:56:43 -04:00
  • 76b773ee36 Fix adding content to the content map if it is empty NinjaCheetah 2024-07-27 19:36:27 -04:00
  • 817a2c9ac5 Added SharedContentMap to content module to handle content.map files NinjaCheetah 2024-07-27 19:22:21 -04:00
  • 102da808e6 Add option to skip hash checks when unpacking a WAD NinjaCheetah 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 NinjaCheetah 2024-07-25 17:15:26 -04:00
  • 39eecec864 Fall back on key 0 when invalid, fix footer reading code NinjaCheetah 2024-07-25 13:09:01 -04:00
  • 5f4fa8827c Added new methods to TMD/Ticket/Title modules for changing title versions NinjaCheetah 2024-07-22 02:42:04 -04:00
  • e70b9570de Fix handling WADs where content index != actual index in the array NinjaCheetah 2024-07-20 15:07:23 -04:00
  • 4f96e1b0d9 Add more detailed keys to pyproject.toml v0.4.1 NinjaCheetah 2024-07-17 21:03:08 -04:00
  • bcd61b8a37 Slightly improve fakesign docstrings NinjaCheetah 2024-07-17 20:48:16 -04:00