Commit Graph

58 Commits

Author SHA1 Message Date
Pengfei be5701b7ee Do not create seeddb when loading it 2021-07-06 16:48:10 +08:00
Pengfei cb6d58b538 Replace file writes with new helper 2021-07-06 16:42:22 +08:00
Pengfei c81db424bb Refactor InnerFAT into Savegame and Extdata
And derive TitleDB from it too.
2021-07-06 16:11:03 +08:00
Pengfei 3d4d815595 Fix build for outdated compilers on CI 2021-07-01 15:34:09 +08:00
Pengfei 19bc9d0210 Use GodMode9 naming scheme 2021-07-01 15:22:38 +08:00
Pengfei e2bef4d705 Add support for title.db, and use title.db to augment TMD finding
Also added support for system title CIA building, and fixed various minor issues.
Also moved MakeMagic to Common.
2021-07-01 14:13:20 +08:00
Pengfei 2575e7fdde Unify ProgressCallbacks to a Common::ProgressCallback 2021-06-28 22:50:16 +08:00
Pengfei 412aeaa0d4 Use Github Actions instead of Travis
Moved MSVC to Github Actions as well.
2021-06-27 00:11:09 +08:00
Pengfei 3d3b51bb98 Enable C++20 and re-enable MSVC build
Also switched to standard-conforming __VA_OPT__ for logging.
2021-06-26 17:37:05 +08:00
zhupengfei 7aff22c3fc Fix build 2020-11-28 20:16:15 +08:00
zhupengfei 5c595a8046 Add IOFile::GetData 2020-11-28 20:12:24 +08:00
zhupengfei 9cbec118cd core: Add NAND data importing 2020-11-28 17:20:46 +08:00
zhupengfei 2688a6ef61 Move System Applets into a new category and deselect by default
As they are known to cause problems with Mii Maker and games like Tomodachi Life.
2020-11-28 15:39:59 +08:00
zhupengfei b06440aefb Fix some LGTM alerts 2020-08-07 16:03:22 +08:00
zhupengfei 66b09ffa27 A bunch of fixes to CIA building
1. Clean stale state
2. DLC CIAs
3. Build content index for ticket better
2020-08-07 12:28:47 +08:00
zhupengfei 49ddd86b7a Add CIA building
Quite a lot of code, yeah.

The built CIA is almost identical to GM9, with the following differences:
1. Paddings are zeroed out
2. Title key is not written (GM9 gets it from support data/ticket db)
3. Ticket content index is slightly different (GM9 likely takes it from the legit ticket, while we are building a fake one)

The 2, 3 points can be fixed probably.
2020-08-07 08:58:09 +08:00
zhupengfei 769162e95c ncch_container: Fix progress report in DecryptToFile
The total size should now be correct
2020-08-07 08:55:38 +08:00
zhupengfei bf3fe550f8 ncch: Fix Secure1 with seed
Citra's code was wrong here.
2020-08-06 23:03:19 +08:00
zhupengfei ac6f95c067 tmd: Changes in preparation for CIA building 2020-08-06 20:34:59 +08:00
zhupengfei 13409503bf ncch: Fix some issues with DecryptToFile
Now have byte-for-byte accuracy against Godmode9

Now uses a file instead of a path

Preliminary work to support non-executable files
2020-08-06 20:34:10 +08:00
zhupengfei c8f510188c core/ncch: Add ticket
Added structure and fake ticket building (from GodMode9)
2020-08-03 22:47:09 +08:00
zhupengfei 900275bffd Dump certs.db
This is used to build CIAs. Currently only retail certs are supported
2020-08-03 22:47:08 +08:00
zhupengfei 10122a376c Re-add TMD modification code from Citra 2020-08-02 15:49:07 +08:00
zhupengfei 1f91cbdaec Use virtual classes instead of templates for file interfaces
For convenience.
2020-08-01 09:47:44 +08:00
zhupengfei 518c995f38 Fix std::min 2020-06-20 22:37:01 +08:00
zhupengfei 57a1245e2a Add proper error handling for memcpy 2020-05-16 19:09:50 +08:00
zhupengfei 1c28fff725 Improve error handling.
Do not cancel the entire process when an error occurs. Instead, return a list of failed contents.
2020-05-16 15:13:52 +08:00
zhupengfei 5d008fc952 Add version check 2020-05-15 23:08:59 +08:00
zhupengfei 450cef3fca Added a fallback title based on codeset info 2020-05-15 22:34:39 +08:00
zhupengfei b19803c4d3 Add support for system titles 2020-05-14 23:14:59 +08:00
zhupengfei 24bdf0a156 core, frontend: Add 'Dump CXI file' option
Right click on an application in the Select Contents dialog.
2020-05-02 00:06:46 +08:00
zhupengfei 2c4dd84d49 Correctly load seeds 2020-05-01 15:05:01 +08:00
zhupengfei f60fc572be Code cleanup
Replacing macros with lambdas
2020-05-01 13:31:55 +08:00
zhupengfei c6d561d4ed core: Add slot0x18KeyX and slot0x1BKeyX 2020-05-01 13:24:34 +08:00
zhupengfei 0f7ebef23f Fixed a crash 2020-05-01 13:11:10 +08:00
zhupengfei c27589ce53 core: Add DecryptToFile in NCCHContainer 2020-05-01 11:59:24 +08:00
zhupengfei b5b2fa32cb core/ncch: Add back secondary key derivation from Citra
Along with RomFS CTR, etc.
2020-04-30 20:03:54 +08:00
zhupengfei f0de8da515 core: Makes it possible to skip decryption part in QuickDecryptor
Bad name, huh?
2020-04-30 18:54:10 +08:00
zhupengfei c831a0785e core: Generalize QuickDecryptor
This is now a class template. This would be useful when we implement NCCH decryption.
2020-04-30 18:05:58 +08:00
Pengfei Zhu 576053d995 Fix compilation 2020-04-22 23:27:41 +08:00
zhupengfei 376012e95e Fixed minor UI errors 2020-04-18 23:35:16 +08:00
zhupengfei 6b7faf2c05 core: Add support for proper SeedDB import
This now merges the SeedDB to import with the one already existing
2020-04-18 23:34:51 +08:00
zhupengfei 201c8adf2f frontend: Add utilities 2020-01-20 18:57:35 +08:00
zhupengfei 94b9ec028b Display title icon; display title icon and names for save/extdata in group mode 2020-01-17 12:10:44 +08:00
zhupengfei 0708744a17 Added encryption scheme display. 2020-01-17 10:10:58 +08:00
zhupengfei cd5eccd32a Fix DLCs not imported correctly, fix progress not reported correctly 2019-10-04 15:45:39 +08:00
zhupengfei 5cbe69388f Add support for config savegame 2019-10-02 20:06:39 +08:00
zhupengfei 5d675d605a Add system archives import 2019-10-02 16:00:32 +08:00
zhupengfei 479dd327df core, frontend: Group contents by title / game instead of category
I may look to introduce a option to select in the future
2019-09-27 23:33:39 +08:00
zhupengfei 895cbb272c Add in NCCH, TMD and SMDH from Citra (to get game title) 2019-09-27 22:11:27 +08:00