Pengfei
bbcad43d1c
Fix.
2021-08-03 15:21:13 +08:00
Pengfei
781d76bdab
Use destructor to release file handle
...
Instead of relying on writing `file.reset()`s
2021-08-02 00:53:03 +08:00
Pengfei
aed564fb25
Add Legit CIA building
2021-07-31 17:28:00 +08:00
Pengfei
75f79e10d1
Generalize QuickDecryptor
2021-07-31 17:25:56 +08:00
Pengfei
7115c30f76
Fix TMD signature validation
2021-07-31 17:23:33 +08:00
Pengfei
3021cfe5f0
Changes to TMD and CIA builder
...
Prepare for legit CIA.
2021-07-30 17:07:42 +08:00
Pengfei
d14ea03271
Refactor code - Add Signature class
2021-07-30 14:47:53 +08:00
Pengfei
15b1af7dd1
Add signature validation to TMD
2021-07-29 23:27:13 +08:00
Pengfei
502e05dc2b
Add CIABuildType to CIABuilder; Add legit ticket handling
2021-07-29 16:38:41 +08:00
Pengfei
325832f318
Misc changes to ticket, cert and CIA
2021-07-28 00:27:01 +08:00
Pengfei
d8c79c5d2a
Critical bug fix
2021-07-28 00:13:48 +08:00
Pengfei
705dd646dd
Add common keyYs
...
Ideally this should be derived from safe mode firm. However that is complex as we don't have a filesystem like thing, and reading the firm requires some work.
2021-07-27 16:52:43 +08:00
Pengfei
79dfe4fc8b
Add certificate, and certs.db parsing
2021-07-17 00:34:32 +08:00
Pengfei
0c04e31405
Make use of string_util
2021-07-16 22:10:49 +08:00
Pengfei
4e619b3621
Beautify code with new macro
2021-07-16 21:59:32 +08:00
Pengfei
55db5f110f
Simplify TitleKeysBin implementation to a simple function
2021-07-16 21:46:10 +08:00
Pengfei
d002928a38
Fix LGTM alerts
2021-07-12 12:14:00 +08:00
Pengfei
6fbbae7039
Rework failed task cleanup
...
Now the cleanup of failed tasks (deletion of borked files) is handled by the related task itself, instead of the frontend.
2021-07-12 11:47:42 +08:00
Pengfei
23226b2b37
Properly set crypto flags as GodMode9 does; remove pointless zeroing
2021-07-09 20:32:08 +08:00
Pengfei
b90fb11109
Fixing things again
2021-07-09 20:25:49 +08:00
Pengfei
76b0912a9a
Add proper support for CIA title keys
...
1. Support for `ticket.db`
2. Support for `gm9/support/encTitleKeys.bin`
3. Set the title key and common key index when building standard CIA
2021-07-09 20:08:42 +08:00
Pengfei
3429d9e965
Add in complete Ticket support from Citra
2021-07-07 12:03:06 +08:00
Pengfei
3ade2a382f
Fix macos again
2021-07-06 17:55:55 +08:00
Pengfei
c614131c81
Fix macos build
2021-07-06 17:40:04 +08:00
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