Commit graph

232 commits

Author SHA1 Message Date
jakcron efe0655f05 [nx|nstool] Replace FacHeader & FacBinary 2018-06-29 00:20:56 +08:00
jakcron b7207e8429 [nx|nstool] Replaced AciHeader,AciBinary,AcidBinary. 2018-06-27 13:03:46 +08:00
jakcron 726c272f04 [nx-hb|nstool] More typos. 2018-06-26 21:16:07 +08:00
jakcron 28f92b78c8 [nx|nstool] Renamed struct member "signature" to "st_magic". 2018-06-26 12:23:40 +08:00
jakcron c4c2610417 [nx|nstool] Updated FacBinary design. 2018-06-24 23:56:55 +08:00
jakcron 48ac29f3ce [nx|es|fnd|nstool] Commit working refactor. 2018-06-24 23:01:16 +08:00
jakcron cb565c9927 [nx|nstool] Update VS2017 Project Files. 2018-06-21 17:30:34 +08:00
jakcron c59f209b72 [nx|nstool] Refactor ELF Symbol Processing and NSO/NRO ro metadata processing. 2018-06-19 18:37:27 +08:00
Jack 80fb5a4db7
Merge pull request #25 from jakcron/userset-refactor
[nstool] Only display ACID data in OUTPUT_EXTENDED mode.
2018-06-18 23:36:15 +08:00
jakcron d89386ded9 [nstool] Only display ACID data in OUTPUT_EXTENDED mode. 2018-06-18 23:35:06 +08:00
Jack 7627c1a49b
Merge pull request #24 from jakcron/cnmt-development
[nstool] Fixed duplicated output in CnmtProcess
2018-06-18 23:32:00 +08:00
jakcron 2f5a4d9c23 [nstool] Refactor logic for managing output mode. 2018-06-18 23:30:19 +08:00
jakcron 17cc0d9c47 [nstool] More help text changes. 2018-06-18 20:18:25 +08:00
jakcron 4ba331913e [nstool] Fixed duplicated output in CnmtProcess 2018-06-18 20:17:20 +08:00
jakcron e7d7c1d31f [nstool] Update help text 2018-06-18 20:16:14 +08:00
jakcron 40b3b45dd6 [nstool] Add heuristics for detecting CNMT and NACP without -t. 2018-06-17 22:16:20 +08:00
jakcron b5605ee3e9 [nstool] Change order of XCI partition. 2018-06-17 21:08:24 +08:00
jakcron 2de0fbb19f Add VS2017 Project Files. 2018-06-11 23:08:46 +08:00
jakcron af1dec719b [nstool] Add NACP Support 2018-06-11 23:01:54 +08:00
jakcron 945477c223 Update VS2017 Project Files. 2018-06-11 13:31:43 +08:00
jakcron 8924222c55 [nx-hb|nstool]Added better HB Asset support. 2018-06-10 23:48:04 +08:00
jakcron 99e4eee3ea [nstool] Add nx-hb dependency 2018-06-10 14:58:34 +08:00
jakcron 4ef93db423 [nstool] Add NRO HB extention AssetHeader support. 2018-06-10 14:57:57 +08:00
jakcron f5997c01f4 [nstool] Add NRO Support.
And cleaned up NSO support.
2018-06-09 23:32:35 +08:00
jakcron 7a09be650f [nstool] Add SdkApiString 2018-06-09 23:31:52 +08:00
jakcron 82aa069ba1 [nstool] Add compress as a makefile dependency. 2018-06-09 14:54:22 +08:00
jakcron b42c551a20 [nstool] Fix XCI partition validation. 2018-06-06 21:27:46 +08:00
jakcron bd2e1dd927 Remove unused function/variable. 2018-06-04 13:38:51 +08:00
jakcron aaffe12e8a [nx|nstool] Add nro.h and nrr.h. 2018-06-04 12:00:28 +08:00
jakcron a1b1d4662e Update VS project files. 2018-06-03 16:48:26 +08:00
jakcron 08f7f36e68 [nstool] Refactored creation and sharing of fnd::IFile ptrs. 2018-06-03 16:48:12 +08:00
jakcron 782811da47 [nx|nstool] Changed struct magic from strings to words. 2018-06-03 15:41:56 +08:00
jakcron a8f39b721d [nx|nstool] Added support for xci logo partition. 2018-06-03 15:10:47 +08:00
jakcron 36d7d7a5bf [nstool] Add dynamic symbol processing to NsoProcess. 2018-06-02 20:16:19 +08:00
jakcron caeea8f119 [nstool] Add DynamicSymbolParser. 2018-06-02 20:15:13 +08:00
jakcron f7e49c50f3 Update VS project files. 2018-06-02 11:17:53 +08:00
jakcron 5a2f998cb9 [nstool] Update readme and help text to reflect present functionality. 2018-06-01 22:35:48 +08:00
jakcron 503318795a [nstool] NSO RO api list isn't part of the NSO header. 2018-06-01 22:18:28 +08:00
jakcron c027537af6 [nstool] Implement decompression and hash validation to NsoProcess. 2018-06-01 22:14:39 +08:00
jakcron 915bd80f6f [nx|nstool] Encapsulated NsoHeader parsing into nx::NsoHeader 2018-06-01 21:35:36 +08:00
jakcron 57f3b04b11 [nstool] Change grouping. 2018-05-30 12:41:06 +08:00
jakcron 7f27f344bd [nstool] Prototype reading NSO header. 2018-05-27 20:34:10 +08:00
jakcron 6960911ab0 [nstool] Improve Pfs/Romfs export time. 2018-05-27 18:17:34 +08:00
jakcron f4d3501f8c [nstool] Fix bug in AesCtrWrappedIFile. 2018-05-27 18:16:42 +08:00
jakcron 634b202b5a [nstool] Aligned file extraction block sizes
For optimisation, IFile wrappers and processes that all used a cache have similar or the same cache sizes.
2018-05-26 21:13:21 +08:00
jakcron 76ce22dc69 [nx|nstool] Silence format warnings. Cleanup string resource processing. 2018-05-26 12:07:42 +08:00
jakcron 8b37665be6 [nx|nstool] Changed Romfs FileNode and DirNode to not include an empty name[] variable. 2018-05-26 11:26:56 +08:00
jakcron 57d03b6076 [nstool] Fixed seek() typo in HashTreeWrappedIFile 2018-05-25 22:53:19 +08:00
jakcron 0b0d546605 [nstool] Change processing of NCA key area. 2018-05-23 15:19:54 +08:00
jakcron cd00be2221 [nstool] Add source to VS Project files. 2018-05-23 15:07:31 +08:00
jakcron 7428640df9 [nstool] Whitespace. 2018-05-22 19:55:56 +08:00
jakcron 33313f208d [nstool] Where not guarenteed to control file position, IFile wrappers assert their position. 2018-05-22 19:45:40 +08:00
jakcron e1ccf81e54 [nstool] Fixed a bug in OffsetAdjustedIFile that failed to track file position. 2018-05-22 19:38:05 +08:00
jakcron 7c024c290b [nstool] Removed relative offsets in Pfs/Romfs Process because it isn't guarenteed to be reliable. 2018-05-22 19:36:39 +08:00
jakcron 3437031128 [nstool] NCA processing more robust. 2018-05-22 19:03:42 +08:00
jakcron 60eda9e42e [nstool] Give reasons for why a NCA partition is unreadable. 2018-05-22 14:38:14 +08:00
jakcron c7e79b1d55 [nstool] Fix titlekey decryption. 2018-05-22 13:47:07 +08:00
jakcron a2aefc2827 [nstool] Fix bug where titlekek_source was not read. 2018-05-22 13:01:58 +08:00
jakcron d4a5bacceb [nstool] Misc 2018-05-22 10:30:52 +08:00
jakcron 24437935e7 [nstool] Made a disctinction between NSP and PFS, for future use. 2018-05-22 10:30:31 +08:00
jakcron 9ee1033e31 [nstool] Remove unneeded empty lines. 2018-05-21 23:06:53 +08:00
jakcron cd322434c6 [nstool] Encorporate HashWrappedIFile to NcaProcess. 2018-05-21 23:04:35 +08:00
jakcron 18e4c175df [nstool] Add HashTreeWrappedIFile 2018-05-21 23:03:57 +08:00
jakcron c1f343d052 [nstool] Add flag to signal hash calc aligning. 2018-05-21 23:03:28 +08:00
jakcron bd991a25e1 [nstool] Integrate HashTreeMeta into NcaProcess 2018-05-21 21:08:37 +08:00
jakcron 1f3865c979 [nstool] Add HashTreeMeta. 2018-05-21 20:49:46 +08:00
jakcron e4b86ab566 [nstool] Formatting changes. 2018-05-21 20:49:28 +08:00
jakcron 1e75262f3f [nstool] Wrapped IFile classes now can optionally specify when constructed if they own their IFile pointer. By default they do not. 2018-05-21 20:48:59 +08:00
jakcron 446927b53e [libnx|nstool] Added HierarchicalSha256Header and HierarchicalIntegrityHeader 2018-05-20 21:57:38 +08:00
jakcron aa1ed007eb Start moving towards a more generatlised hash tree system. 2018-05-19 11:57:40 +08:00
jakcron f2021d851a [nstool] Remove unused private method. 2018-05-18 17:43:51 +08:00
jakcron 1a5f045e0a [nstool] Show pfs and romfs file offsets from the base offsets. 2018-05-18 17:08:48 +08:00
jakcron 96927dca8f Merge branch 'refactor' of https://github.com/jakcron/NXTools into refactor 2018-05-18 16:41:17 +08:00
jakcron 7c123ca97b [nstool] Add descriptive names to NCA mount points. 2018-05-15 23:00:07 +08:00
jakcron 6069cbb1cb [nstool] Remove magic values. 2018-05-15 21:36:04 +08:00
jakcron af35e0410d [nstool] Add type raw value to CnmtProcess 2018-05-15 18:23:56 +08:00
jakcron 7da6aee09d [nx|nstool] Update VS project files. 2018-05-15 18:13:10 +08:00
jakcron bd25c8c364 [nstool] Corrected formatting of title version strings. 2018-05-13 00:04:07 +08:00
jakcron 79c24153bb [nx|nstool] Added support for reading ContentMeta (.cnmt). 2018-05-12 23:02:53 +08:00
jakcron b36875661e [nstool] Start CmntProcess 2018-05-12 17:37:15 +08:00
jakcron 3fe7582811 [nstool] Updated VS project files. 2018-05-12 11:51:38 +08:00
jakcron acc8494224 [nstool] remove unused files. 2018-05-12 00:28:27 +08:00
jakcron a6c30a8f0f [nstool] Add NCA sig[1] validation, better code structure. 2018-05-12 00:26:19 +08:00
jakcron 3d57420c70 [nstool] Fix typo importing --titlekey 2018-05-12 00:20:39 +08:00
jakcron 13f595f3f4 misc 2018-05-11 23:51:39 +08:00
jakcron 7237a15098 [nstool] Added PfsProcess struct check before using struct. 2018-05-11 23:47:31 +08:00
jakcron 8e360332e5 [nstool] Changed handling of shared IFile derrivatives. Always a pointer 2018-05-11 21:20:28 +08:00
jakcron 90bbbede60 [nstool] Misc rename. 2018-05-11 21:10:39 +08:00
Jack c7d78d0f1e
Merge pull request #10 from jakcron/nca-development
[nx|nstool] Nca development
2018-05-11 17:54:25 +08:00
jakcron 00e1571ec7 [nstool] Add NCA partition decryption/extraction. 2018-05-11 17:51:14 +08:00
jakcron b69dc62062 [nstool] implement --partX command for nca. 2018-05-01 13:20:50 +08:00
jakcron aee573f5ce [nx|nstool] Updated npdm->aci flag information. Also corrected some bugs 2018-04-28 00:13:35 +08:00
jakcron bf1273e5ba [nstool] Add inital NCA support. Reads header and decrypts key area. 2018-04-25 23:21:47 +08:00
jakcron 10655e828e [nstool] Removed duplicated definition of the platform path dividers. 2018-04-25 23:21:05 +08:00
jakcron b6abf658de [nstool] Update VS files. 2018-04-25 22:23:35 +08:00
jakcron 322e4d2b48 [nstool] Added RomFs extraction support. 2018-04-25 20:27:47 +08:00
jakcron d017a95a3a [fnd|nstool] Replaced io::makePath() with io::appendToPath(). Enabled utf-8 support to io::makeDirectory. 2018-04-25 20:27:18 +08:00
jakcron 2bfe11bf16 [nstool] Add RomFs file previewing. 2018-04-25 19:37:22 +08:00
jakcron 3411118e26 [nstool] Add checks to ensure a reader object is provided to the Process classes. 2018-04-25 19:36:58 +08:00
jakcron b164299473 [nstool] Fix automatic ROMFS detection. 2018-04-25 16:35:45 +08:00
jakcron 27347214f7 Add Visual Studio (2017) support. 2018-04-25 12:59:42 +08:00
jakcron b4d3fbe7f9 [nstool] Add alternative name to "key_area_key_*": "nca_body_keak_*". 2018-04-24 16:23:29 +08:00
jakcron 14bdc0a795 [nstool] Enabled derivation of nca_header_key from sources. Key generation was also refactored. 2018-04-24 15:53:43 +08:00
jakcron 14220dced8 [nstool] Change includes. 2018-04-24 15:51:29 +08:00
jakcron 8ef9f478b0 [programs] Remove xcitool, npdmtool, pfstool. Add nstool. 2018-04-24 13:24:20 +08:00
jakcron 9073c4a6d8 [xcitool] Show a pageAddr field also as a real address. Pfs addresses now relative to start of XCI. 2018-04-07 18:08:32 +08:00
jakcron 4019febb23 [xcitool] Add PFS preview function. 2018-04-07 16:05:25 +08:00
jakcron 584edf1f3d [tiktool] Behind the scenes formating changes. 2018-04-07 16:03:39 +08:00
jakcron 109b64be52 [nx|pfstool] Add support for HFS0. Take out PFS consts and structs to a separate file. 2018-04-07 16:03:01 +08:00
jakcron fd9261b789 [nx|ncatool] Take out NCA constants and structures to separate file. Add support for NCA key area index 5. 2018-04-07 16:01:11 +08:00
jakcron bafdaffe13 Update Makefiles 2018-04-07 15:57:04 +08:00
jakcron 7167477874 [fnd] overloaded fnd::io::readFile to allow specifying an offset and size. 2018-03-25 19:52:56 +08:00
jakcron b5c6cf6cb4 [xcitool] Fix typo and add VS project files. 2018-03-25 19:10:48 +08:00
jakcron 1d934bf0a7 Add xcitool 2018-03-25 18:27:14 +08:00
jakcron 1dbef17165 Fixed typo 2018-03-22 13:29:52 +08:00
jakcron 1c60c86803 Removed u8,u16,u32,u64 typedef 2018-03-22 13:26:22 +08:00
jakcron 1362bac1cb [ncatool] Self select NCA header key. 2018-03-21 20:31:39 +08:00
jakcron ed2e0f462d Update NCA code 2018-03-18 17:08:42 +08:00
jakcron bbd975d21b remove binaries 2017-08-05 21:11:13 +08:00
jakcron e74f214a3b change directory structure, and add support for VS compile, and fix aes-xts bug. 2017-08-05 21:09:50 +08:00
jakcron e8c39ace04 [es/tiktool] start eticket. 2017-07-22 16:59:06 +08:00
jakcron bf811f1107 [fnd/nx] Moved ISerialiseableBinary from nx to fnd. AciHeader corrected specification. 2017-07-21 18:30:16 +08:00
jakcron d730c1e3b8 final commit 2017-07-19 00:17:32 +10:00
jakcron 98c933305d [npdmtool] Add source for sample NPDM reader. 2017-07-17 18:26:19 +10:00
jakcron 20b4984ae3 [nx] Removed importBinary(const u8* bytes) from ISerialisableBinary and all children. AciHeader supports ACID version 1. Size bug in SacEntry fixed(?). Bitlength typo in SystemCallEntry fixed(?). MiscFlagsHandler now returns a fnd::List of flags, not the raw word. Forloop in MemoryMappingHandler fixed. 2017-07-15 18:28:01 +10:00
jakcron 076fba9bcb [fnd] Changed internal behavior of fnd::Exception. 2017-07-07 19:57:38 +10:00
jakcron 6531b1083e [ncatool] Update to work with namespace change. 2017-07-07 17:09:29 +10:00
jakcron 7b34bd404d [nx] Added nx namespace. 2017-07-06 21:17:21 +10:00
jakcron e7172949da [nx/ncatool] Update SacEntry and NcaHeader to inherit from ISerialiseableBinary. ncatool is updated accordingly. 2017-07-06 20:55:58 +10:00
jakcron c15ab66262 [ncatool] Update API changes. 2017-07-06 13:30:50 +10:00
jakcron 57e45278da Update VS include directory project configuration. 2017-07-06 01:41:25 +10:00
jakcron 18b5826bfb [ncatool] Add program. Can only process header currently. 2017-07-05 18:58:33 +10:00