Eladash
ef0bee9228
aes.cpp: Use secured memory resetting
2022-01-12 03:37:39 +03:00
clienthax
6f9adbd162
Debug SPRX check
2021-12-10 14:23:26 +01:00
Eladash
cfe08de951
Account empty EDAT ( #11146 )
...
* Improve sys_fs_open logging
2021-11-14 02:15:27 +03:00
Eladash
c49ebba648
Fixes of PS3 filesystem EDAT/SDAT handling
...
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
Eladash
63f16d7a46
GUI Utilities: Implement PS3 SDAT/EDAT decryption
2021-10-02 11:29:01 +02:00
Eladash
65e9388f00
Update unpkg.cpp
2021-09-30 21:33:28 +03:00
Eladash
056d43eca7
PKG: Simplify files management
2021-09-30 20:48:47 +03:00
Eladash
4237039d53
sys_fs: Fix SDATA/EDATA file-stat
2021-09-22 14:57:16 +03:00
AniLeo
1f8f428a59
unpkg: Don't append title ID to license packages
2021-09-18 18:20:55 +01:00
Eladash
3e84a2acc0
PKG: Implement SDATA decryption
2021-09-17 22:15:48 +02:00
Eladash
77c252a4c0
PKG: Debugging messages
2021-09-17 22:15:48 +02:00
Megamouse
8dc98bbc1b
Add support for sc vtrm crypto
...
For VSH for @Clienthax
2021-09-11 21:13:46 +02:00
Emmanuel Gil Peyrot
8af694da2e
Crypto/ec: Make internal functions static
...
This reduces the size of the stripped .o by 3 KiB, and the non-stripped
one by 21 KiB, when not doing LTO.
2021-08-01 12:21:17 +03:00
Eladash
5940247200
Make little use of formatting byte arrays
2021-07-17 20:02:21 +02:00
Ani
a49446c9e9
Replace gsl::span for std::span (c++20) ( #7531 )
...
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte
Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
David Carlier
1f93fc902b
crypto light refactoring.
...
using volatile f/p guaranting assembly will generate call* instruction on memset for secure buffer zeroing. usage in sha1 api as well.
2021-05-21 16:34:38 +03:00
Megamouse
1dc00ccedd
edat: Remove redundant logging
2021-05-19 21:09:18 +02:00
HerrHulaHoop
c3bf9bd4a0
Correct mismatched licenses in Crypto
...
5 files in Crypto were licensed under GPL-3.0-only which is
incompatible with our project's GPL-2.0-only license. They have now
been corrected to use GPL-2.0-or-later.
2021-05-02 13:39:50 +03:00
Megamouse
1caf81811a
Move unspecific Emulator code out of System.cpp
2021-04-24 11:21:22 +03:00
Megamouse
a16d8ba3ea
More random changes
2021-04-11 14:01:51 +03:00
Megamouse
03b76b4606
Emu: some cleanup
2021-04-09 21:03:49 +02:00
Megamouse
d10584ac6c
DRM: Search all user directories for rap files
2021-04-09 08:47:59 +02:00
Nekotekina
963d150e93
Fix some -Weffc++ warnings (part 2)
2021-04-03 21:54:15 +03:00
Megamouse
554ba9d6a6
Qt: Allow package installation through cli
...
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Eladash
aff63028d4
SCE Decryption: Detect illegal RAP files
2021-03-13 11:51:40 +01:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Nekotekina
4bee8dc37f
Crypto: modernize key_vault.h
...
Use constexpr, remove warning guards
2021-01-14 15:23:52 +03:00
Nekotekina
8b01d05146
Crypto: modernize ec.h
...
Add const, use u8
2021-01-14 15:17:07 +03:00
Nekotekina
376e564cff
Crypto: make global vars in ec.cpp thread_local
2021-01-14 12:01:41 +03:00
Nekotekina
caf02d1841
Crypto: don't modify EDAT_IV (all zeros)
...
I didn't notice where it gets restored to zeros.
2021-01-13 21:57:38 +03:00
Nekotekina
6cf73fad13
Crypto: workaround -Wunused-variable
...
Ignore for key vault for now.
2021-01-13 19:02:14 +03:00
Megamouse
7c7af2e102
fix rebase conflicts
2021-01-12 14:13:15 +01:00
Megamouse
fbe91fb245
fix linux compilation
2021-01-12 14:13:15 +01:00
Megamouse
56488a4ac9
Use boolean values in unedat
2021-01-12 14:13:15 +01:00
Megamouse
4a75f44d47
Minor include cleanup in utlis.h
2021-01-12 14:13:15 +01:00
Megamouse
4d50d9daa4
unpkg: add missing break and some cleanup
2021-01-12 14:13:15 +01:00
Megamouse
ccec6e53c0
Rename package_reader member variables
2021-01-12 14:13:15 +01:00
Megamouse
68d411918d
Read patchsets from compat db
2021-01-12 14:13:15 +01:00
Nekotekina
db8e6fe7a7
Enable -Wunused-variable
2021-01-12 14:34:14 +03:00
Nekotekina
bd269bccaf
types.hpp: remove intrinsic includes
...
Replace v128 with u128 in some places.
Removed some unused files.
2020-12-21 21:11:25 +03:00
Nekotekina
eec11bfba9
Move align helpers to util/asm.hpp
...
Also add some files:
GLTextureCache.cpp
VKTextureCache.cpp
2020-12-18 18:07:42 +03:00
Nekotekina
fb29933d3d
Add usz alias for std::size_t
2020-12-18 12:23:53 +03:00
Nekotekina
e321765c54
Split BEType.h to util/v128.hpp and util/to_endian.hpp
2020-12-13 16:34:45 +03:00
Nekotekina
b59f142d4e
Move types.h to util/types.hpp
2020-12-12 15:12:01 +03:00
Nekotekina
36c8654fb8
Remove HERE macro
...
Some cleanup.
Add location to some functions.
2020-12-10 12:30:22 +03:00
Nekotekina
5d934c8759
Improve narrow() and size32() with src_loc detection
2020-12-09 16:26:20 +03:00
RipleyTom
af8c661a64
Remove BOM markers
2020-12-06 15:30:12 +03:00
Nekotekina
e0635cf65c
Remove unneeded non-ASCII character (unedat.cpp)
2020-11-29 16:18:22 +03:00
Bevan Weiss
2c8b3f05ac
FIX: MAX_PATH is used within Windows headers, we should use a different define internally
...
Replace MAX_PATH usage with EMU_MAX_PATH, this prevents the redefine warning, and ensures that we don't mess up other usages (which will likely want MAX_PATH as 260, like Windows defines, not 4096 like we do).
The replacement has been done based on what MSVC was telling me the define values were at each point (i.e. whether we wanted it or not, these usages were using our 4906 value, not the 260 value from Windows)
2020-10-10 23:09:05 +03:00
Eladash
3b11f22062
MSVC bug workaround
2020-09-25 13:26:08 +03:00
Megamouse
6540393df5
Look for rap file for network license
...
A network license should be the same as a local license, with the difference that a local license is only checked online once, while a network license is checked online on each boot.
Since we don't check online anyway, the two should theoretically be identical for our purposes.
2020-09-17 00:39:41 +02:00
Eladash
8e2b07ba9e
sceNpDrm: Relax file extension checks
2020-09-04 22:35:18 +02:00
Eladash
edc09e22b4
PSF: Avoid redundent string copies in psf::array/string/get_string ( #8707 )
2020-08-21 23:55:17 +01:00
Eladash
a7a5034958
remove redundent include in Crypto/unedat.cpp ( #8527 )
2020-06-29 18:03:38 +01:00
Megamouse
fa81146b79
Use proper install paths depending on pkg content
2020-06-29 10:36:24 +02:00
Eladash
2483cc6f8d
Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic
2020-06-28 23:26:10 +01:00
Megamouse
b923eb058a
Crypto: read sfo in memory instead of tmp file
2020-04-25 15:17:17 +02:00
Megamouse
773448a8f6
Crypto/Qt: check target app version for packages
2020-04-25 15:17:17 +02:00
Megamouse
2094e52d7d
Crypto: add another file type for PSVita
2020-04-18 19:11:53 +02:00
Megamouse
5657363642
Crypto: move PSVita keys to key vault
2020-04-18 19:11:53 +02:00
Megamouse
d35a29bbe4
Crypto: PSVita metadata and missing entry type
2020-04-18 19:11:53 +02:00
Megamouse
22d01e4d05
Crypto: interpret metadata versions
2020-04-18 19:11:53 +02:00
Megamouse
1762324702
Crypto: fix metadata variable names
...
header_size was just wrong, on PS3 games it just happens to match the meta offset, which is half of data_offset
PS3: meta_offset + meta_size = data_offset
PSP: meta_offset + meta_size = metadata_header_hmac_offset
PSP: metadata_header_hmac_offset + ext_data_size = data_offset
2020-04-18 19:11:53 +02:00
Megamouse
e4b6de409a
Crypto: fix magical type
2020-04-18 19:11:53 +02:00
Megamouse
3a6bda4d93
Crypto: read and log PSP and PSVita headers
2020-04-18 19:11:53 +02:00
Megamouse
3b9dc29781
Crypto: add log verbosity to pkg installations
...
also enables installation with one more filetype
2020-04-18 19:11:53 +02:00
Eladash
a178374052
sys_fs: Limit NPDRM FDs to 16
...
Co-Authored-By: Silent <cookieplmonster@users.noreply.github.com>
2020-04-04 19:36:16 +01:00
Megamouse
d6b8213c9f
set key_vault log spam to trace
2020-03-31 18:06:37 +02:00
Ani
e8177906e7
System/Load: Handle PSP Remaster ( #7857 )
...
This just makes RPCS3 execute PSP Remaster games through
psp_emulator.self
pspemu does not work yet, so the boot will fail, but at the least it
starts loading
2020-03-26 20:03:00 +03:00
Nekotekina
e4a81b1d13
Move Log.h to util/logs.hpp
2020-03-07 12:29:23 +03:00
Nekotekina
a166d3680e
Don't throw on invalid whence (return fs::error::einval)
2020-03-07 11:52:54 +03:00
Eladash
39eafc1f3b
Fix Crypto/utils.cpp: extract_file_name
2020-03-05 00:31:43 +03:00
Nekotekina Aux1
250736ece5
Fix warnings in emucore
2020-03-04 21:23:34 +03:00
clienthax
7e590eaa2f
Change key_vault to use version ranges.
2020-02-29 21:24:15 +03:00
gamerforEA
93552a5958
Apply some Clang-Tidy fixes
2020-02-27 00:38:55 +03:00
Nekotekina
fa0bf6a92c
Fix "unknown pragma" on zlib clang workarounds
2020-02-23 10:42:35 +03:00
Nekotekina
972e0ab31d
Remove -Wno-reorder and make it an error
2020-02-21 15:20:34 +03:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Nekotekina
771eff273b
First part of fixing sign-compare warning (inside be_t).
2020-02-19 22:54:58 +03:00
Nekotekina
f08c778d2c
Use more starts_with/ends_with.
...
Remove ends_with global func.
2020-02-18 14:53:23 +03:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +03:00
clienthax
a08ed0d22e
Fix #7445
2020-02-16 17:09:32 +03:00
Nekotekina
1a78e0e80c
Make RPCS3 compile in C++2a mode
2020-02-04 23:43:55 +03:00
Nekotekina
3c0bd821c8
Give log channels fancier names
...
Improve LOG_CHANNEL macro to accept custom name.
2020-02-01 10:43:43 +03:00
Nekotekina
3eca2d5d6c
Remove legacy LOADER log channel
2020-02-01 07:49:38 +03:00
Asinine
e6f7467f67
Update missing rap file error
2020-01-31 14:13:55 +01:00
Megamouse
8ef69429d8
Add early out to pkg_install
2020-01-30 18:21:18 +01:00
RipleyTom
5de83e0425
Avoid using vfs::get to let decrypt work on PSN binaries
2019-12-31 22:23:22 +03:00
Eladash
c2eb9a583d
Implement ps3 application root flags detection
2019-12-31 22:22:06 +03:00
Silent
b591633cb9
Fail pkg_install if any files fail to be created
...
This could happen if eg. paths are too long or some files
could not be overwritten. Until now, installation happily
reported success regardless.
2019-12-31 19:24:19 +03:00
Nekotekina
ad9c9f0183
C-style cast cleanup II
2019-11-30 18:17:45 +03:00
Nekotekina
5b9df53c13
C-style cast cleanup (partial)
...
Replace C-style casts with C++ casts.
2019-11-29 00:35:23 +03:00
Megamouse
d91f8193b0
settings: enable dynamic reload of some emu values
2019-11-27 10:34:03 +01:00
MSuih
f3ed26e9db
Small warnings cleanup ( #6671 )
...
* Ignore more warnings
These are intentional
* Signed/unsigned mismatch when comparing
* Explictly cast values
* Intentionally discard a nodiscard value
* Change ppu_tid to u32
* Do not use POSIX function name on Windows
* Qt: Use horizontalAdvance instead of width
* Change progress variables to u32
2019-10-25 13:32:21 +03:00
RipleyTom
9f9ac4b696
Auto-updater
2019-10-22 01:51:50 +02:00
msuih
e9ea226e30
Validate firmware before installing
2019-10-09 21:21:23 +03:00
Silent
f5d8110ead
Create emulator directories after changing dev_*** directories ( #6707 )
...
* Make pkg_install create path to the game recursively
* Create emulator directories after changing dev_*** dir paths
2019-10-05 16:23:12 +03:00
RipleyTom
2f884de885
Adds md5 hash to Crypto implementations
2019-09-17 01:17:48 +03:00
JohnHolmesII
80d18190f9
Add user message for uppercase RAP
2019-09-05 08:39:11 +02:00
Nekotekina
54952f6ad6
Use g_fxo for LoadedNpdrmKeys_t
...
Rename to loaded_npdrm_keys
2019-08-22 02:13:39 +03:00