Commit Graph

  • a56fa6e051 Added methods to fakesign a TMD or Ticket NinjaCheetah 2024-07-17 20:44:04 -04:00
  • 535de7f228 Read/write minor version in tmd module, allows for fakesigning NinjaCheetah 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. NinjaCheetah 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 NinjaCheetah 2024-07-06 20:15:18 +10:00
  • c5abf16f67 Finally fix content region size in WAD headers NinjaCheetah 2024-07-06 20:00:18 +10:00
  • 45638769a9 Allow for extracting a U8 archive to an existing (empty) directory NinjaCheetah 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. NinjaCheetah 2024-07-02 18:29:15 +10:00
  • 9bfb44771e Merge remote-tracking branch 'origin/main' NinjaCheetah 2024-06-26 17:49:24 -04:00
  • 82f4e7dcc4 Wrote new guide on extracting data from a WAD NinjaCheetah 2024-06-26 17:49:10 -04:00
  • c4847365ab Replaced README banner at the Python Software Foundation's request NinjaCheetah 2024-06-26 11:10:09 -04:00
  • e00fc376c6 Replaced banner at the Python Software Foundation's request NinjaCheetah 2024-06-26 11:08:19 -04:00
  • 04fa9034a0 Added new plugins, began writing tutorials NinjaCheetah 2024-06-26 01:15:43 -04:00
  • df1ed559ef Rewrote all docs in Markdown instead of the default reST NinjaCheetah 2024-06-25 22:57:09 -04:00
  • 53e098ca9b Make sure libWiiPy is built and installed so Sphinx can import it NinjaCheetah 2024-06-25 21:38:33 -04:00
  • da2d6b0003 Added workflow to build and publish docs on push NinjaCheetah 2024-06-25 17:42:28 -04:00
  • 6575dd37f7 Added basics for a proper API docs website NinjaCheetah 2024-06-25 17:34:34 -04:00
  • 75510ed2b9 Updated README to reflect changes being worked on for v0.4.0 NinjaCheetah 2024-06-24 23:19:16 -04:00
  • 53f798e36a Merge pull request #20 from NinjaCheetah/ash-dec NinjaCheetah 2024-06-23 18:37:06 -04:00
  • 0861c20100 Privatized many functions and classes that should be private Also changed some imports to import as _name so that stuff like dataclass() doesn't appear as available under libWiiPy.title NinjaCheetah 2024-06-23 18:28:32 -04:00
  • 2d64f7961e Added new ash module to archive subpackage, can decompress ASH files NinjaCheetah 2024-06-23 17:59:12 -04:00
  • 7b7a3fbf51 Return FileNotFoundError if path doesn't exist in pack_u8() v0.3.1 NinjaCheetah 2024-06-12 14:11:57 -04:00
  • 6b8eda7823 Also automatically import crypto for the title subpackage v0.3.0 NinjaCheetah 2024-06-07 23:36:20 -04:00
  • af6977a23c Fix imports for new package structure NinjaCheetah 2024-06-07 23:30:02 -04:00
  • 96c975728b Merge branch 'refs/heads/u8' NinjaCheetah 2024-06-07 23:22:08 -04:00
  • 2fbb2b04f3 Fix nus module not being imported automatically NinjaCheetah 2024-06-07 23:21:03 -04:00
  • 195a005752 Merge pull request #19 from NinjaCheetah/u8 NinjaCheetah 2024-06-07 23:12:50 -04:00
  • 736a9e5c0c Update README for v0.3.0 release NinjaCheetah 2024-06-07 23:11:51 -04:00
  • 5743ee2695 Remove some pointless comments I noticed NinjaCheetah 2024-06-07 23:05:45 -04:00
  • b30017460b Completed the U8 module, can now handle full folder packing NinjaCheetah 2024-06-07 22:30:34 -04:00
  • 2755364472 Rewrote U8 extraction code entirely, now handles U8 files in all cases NinjaCheetah 2024-06-05 22:02:19 -04:00
  • 1d77868cb1 Reworked U8 module and added initial support for dumping U8 archives back to bytes NinjaCheetah 2024-06-03 23:20:34 -04:00
  • ade4b68394 Entirely restructured package to make it more of a proper Python package THIS IS A BREAKING COMMIT! ALL v0.2.X BASED PROJECTS WILL NEED TO BE UPDATED TO SUPPORT v0.3.X! NinjaCheetah 2024-06-02 22:18:05 -04:00
  • bc9224e40b Added base for tests NinjaCheetah 2024-05-29 20:05:41 -04:00
  • cbaafca0d1 Working basic code to extract a U8 archive NinjaCheetah 2024-05-29 12:48:44 -04:00
  • ede33dc503 Add highly experimental U8 handling module NinjaCheetah 2024-05-16 21:24:42 -04:00
  • 6a81722ec5 Read/write reserved data in tmd.py, since it mattered for the DSi, it may matter here v0.2.3 NinjaCheetah 2024-05-09 11:19:29 -04:00
  • ecc68d9e57 Updated definitions of TMD properties based on new information NinjaCheetah 2024-05-09 11:11:54 -04:00
  • c42dc66209 Update README.md NinjaCheetah 2024-05-07 21:35:22 -04:00
  • 045613216a Replaced unnecessary BytesIO usages with standard variables NinjaCheetah 2024-05-06 19:34:18 -04:00
  • 98666285db Improved comments, moved TID to IV conversion into a function in shared.py NinjaCheetah 2024-05-03 22:32:51 -04:00
  • ba320a29de Improved IV handling code for Title Keys in crypto.py NinjaCheetah 2024-05-03 17:27:52 -04:00
  • 9890a6dbac Added function to crypto.py for encrypting a title key NinjaCheetah 2024-05-03 15:10:17 -04:00
  • c92a8096ea Rename fallback_endpoint to wiiu_endpoint in nus.py NinjaCheetah 2024-05-02 22:20:59 -04:00
  • 99a55a3de5 Added the ability to use the Wii U NUS servers to nus.py NinjaCheetah 2024-05-01 22:22:30 -04:00
  • 4a3e9f8e7f Merge remote-tracking branch 'origin/main' v0.2.2 NinjaCheetah 2024-04-30 23:07:22 -04:00
  • 8eeebd1d75 Change endpoint URLs for NUS, this greatly improves download speed NinjaCheetah 2024-04-30 23:07:14 -04:00
  • 3b7a2d09b0 Corrected small error in tmd.py, GameChannel is the "correct" name NinjaCheetah 2024-04-26 21:34:40 -04:00
  • a85beac602 Correctly pack boot2 WADs as type "ib" and not "Is" NinjaCheetah 2024-04-14 12:58:40 -04:00
  • 338446efcb Merge pull request #17 from NinjaCheetah/nus_download v0.2.1 NinjaCheetah 2024-04-05 01:05:43 -04:00
  • ccbc2e262b Rewrote nus.py to be functions instead of an NUSDownloader class because the class was unnecessary and made things more complex NinjaCheetah 2024-04-05 00:09:19 -04:00
  • 17a894dc0d Add support for boot2 WADs rmc 2024-04-03 23:22:23 -04:00
  • 60918f1a39 Update README.md NinjaCheetah 2024-04-03 23:06:58 -04:00
  • fa6c9eb740 Added nus.py for handling NUS downloads, more or less completed already NinjaCheetah 2024-04-03 22:59:36 -04:00
  • b3b10f9315 Merge pull request #16 from NinjaCheetah/wad_packing v0.2.0 NinjaCheetah 2024-04-03 18:09:44 -04:00
  • e85eae567a Improved docstrings and made them all much more consistent across the project NinjaCheetah 2024-04-03 18:05:12 -04:00
  • 7c631454a1 Small README update to explain current features better NinjaCheetah 2024-04-02 22:46:51 -04:00
  • b9edeb160d Remove legacy fix in crypto.py that is no longer needed and was causing issues with encryption NinjaCheetah 2024-04-02 18:14:24 -04:00
  • 57fb0576e9 WADs can now be packed properly via title.py or low-level methods NinjaCheetah 2024-04-01 22:16:42 -04:00
  • 640ca91716 Allow creating blank objects for WADs, TMDs, Tickets, ContentRegions, and Titles to make WAD packing possible NinjaCheetah 2024-03-31 23:38:52 -04:00
  • 142a121fa9 Added methods to wad.py to allow changing a WAD's data Also added methods to title.py to allow dumping a full WAD. Some attributes were also removed from wad.py, because the offsets would become poisoned if any changes were made to the content sizes, and they therefore should not be read. NinjaCheetah 2024-03-30 02:13:34 -04:00
  • 8026fc4fa3 Added methods to set content in both enc and dec form to content.py NinjaCheetah 2024-03-29 23:40:13 -04:00
  • 379359c089 Added methods for getting enc and dec content by their Content IDs NinjaCheetah 2024-03-29 20:35:44 -04:00
  • b5aab5ad22 Added ability to dump tickets back to raw data NinjaCheetah 2024-03-21 21:09:46 -04:00
  • 8244d79fba wad.py and tmd.py now support dumping the object back into raw data NinjaCheetah 2024-03-20 23:11:09 -04:00
  • 7b6703cf36 Created title.py to handle titles as a whole and allow for changing parts of them more easily NinjaCheetah 2024-03-19 22:48:55 -04:00
  • c2b7724fdd Add separate methods to content.py for getting all contents vs 1 content by index NinjaCheetah 2024-03-19 22:01:50 -04:00
  • bfe937f58f Add a check to wad.py that ensures the file being loaded is a WAD NinjaCheetah 2024-03-19 21:43:18 -04:00
  • 0cb37487b6 WAD extraction now works for all non-vWii WADs! NinjaCheetah 2024-03-17 23:28:02 -04:00
  • 9598d6d434 Content encryption is now working NinjaCheetah 2024-03-17 15:50:57 -04:00
  • 67c5a4b59e Added "Features" section to README.md NinjaCheetah 2024-03-08 09:50:27 -05:00
  • 614e7d87f9 Merge pull request #14 from NinjaCheetah/main NinjaCheetah 2024-03-08 00:18:16 -05:00
  • 230095e199 Added dependencies to pyproject.toml NinjaCheetah 2024-03-06 08:57:23 -05:00
  • 748dbfd6d5 Update README.md NinjaCheetah 2024-03-06 08:53:03 -05:00
  • 34354ad557 Made README banner just a bit shorter NinjaCheetah 2024-03-07 00:39:24 -05:00
  • 522f370971 Update README.md NinjaCheetah 2024-03-07 00:36:35 -05:00
  • 74192f8feb Experimental content re-encrypting code NinjaCheetah 2024-03-06 22:48:51 -05:00
  • 9751ea0d2e Added dependencies to pyproject.toml NinjaCheetah 2024-03-06 08:57:23 -05:00
  • 67e93d7341 Update README.md NinjaCheetah 2024-03-06 08:53:03 -05:00
  • 73d684a74f Removed a forgotten debug print NinjaCheetah 2024-03-05 22:18:57 -05:00
  • 3fd5bfd5df Deprecate some methods in favor of using properties directly, this is cleaner NinjaCheetah 2024-03-05 21:04:04 -05:00
  • 817fe1b499 Merge pull request #10 from NinjaCheetah/decrypt_contents NinjaCheetah 2024-03-04 20:52:09 -05:00
  • 7ca46372b0 Full content extraction is working! NinjaCheetah 2024-03-04 20:48:38 -05:00
  • b3923cfe40 This makes 00000001.app work NinjaCheetah 2024-03-03 22:05:30 -05:00
  • 413b7a371f More adjustments to the content extraction code NinjaCheetah 2024-03-03 15:18:58 -05:00
  • a2c4c850a8 Partially working code for decrypting content NinjaCheetah 2024-03-02 23:59:02 -05:00
  • 1d127b09e6 Merge pull request #9 from NinjaCheetah/full_docs NinjaCheetah 2024-03-02 16:36:31 -05:00
  • 8eb54ab961 Fully documented remaining files NinjaCheetah 2024-03-01 18:13:24 -05:00
  • 6c5c045bb1 Fully documented tmd.py NinjaCheetah 2024-03-01 17:22:34 -05:00
  • b0e48eb63c Fully documented wad.py NinjaCheetah 2024-03-01 16:55:31 -05:00
  • 80c37b9b55 Merge pull request #6 from NinjaCheetah/breakdown_wad Lillian Skinner 2024-03-01 00:00:30 -05:00
  • 548d9d4098 Merge branch 'main' into breakdown_wad Lillian Skinner 2024-02-29 23:58:47 -05:00
  • f9b5e7aa16 Small edit to return error. rmc 2024-02-29 23:52:49 -05:00
  • b241124240 Added error handling and made minor adjustments NinjaCheetah 2024-02-29 23:40:33 -05:00
  • 270a7095ac Merge pull request #5 from NinjaCheetah/ticket_work NinjaCheetah 2024-02-29 23:09:39 -05:00
  • bfec2af0ac Ironically the only error left was in a line to raise an error. NinjaCheetah 2024-02-29 23:06:27 -05:00
  • 3c5f8b6763 Added function to ticket.py to return the decrypted Title Key Also added crypto.py which will manage all crypto-related functionality in the library. Currently only offers a function to decrypt a given Title Key. ticket.py now creates a list of play limits placed on a title. NinjaCheetah 2024-02-29 23:02:36 -05:00
  • c9c4aa5b62 Proper string formatting - NinjaCheetah, do the error returning please. rmc 2024-02-29 22:58:51 -05:00
  • c5025348dd Get WAD content records. rmc 2024-02-29 22:12:26 -05:00
  • d86c754ebf Created ticket.py, with a basic structure for reading a ticket Reads all keys within a v0 ticket, and exposes functions to retrieve all the keys that may be useful to an end user. Other keys remain internal for decryption in the future. NinjaCheetah 2024-02-29 20:51:17 -05:00
  • 1a0a787cfa Updated pyproject.toml for first public release v0.1.0 NinjaCheetah 2024-02-28 23:53:52 -05:00