dolphin-emulator/Source/Core/Core
JosJuice 4b73d18eaa Re-implement FixCommonKeyIndex for WAD files
The old implementation of this was not able to distinguish between
a title that had the common key index set to 1 because it actually
was Korean and a title that had the common key index set to 1 due to
fakesigning. This new implementation solves the problem by
decrypting a content with each possible common key and checking
which result matches the provided SHA-1 hash.

The problem that the old implementation causes has only been reported
to affect a certain pirated WAD of Chronos Twins DX (WC6EUP), but it's
possible that the problem would start affecting more WADs if we add
support for the vWii common key (which uses index 2). Adding support
for the vWii common key would also prevent us from using the simpler
solution of always forcing the index to 0 if the title is not Korean.
2019-07-21 09:58:16 +02:00
..
Boot DiscIO: Merge WiiWAD into VolumeWAD 2019-07-18 22:29:04 +02:00
Config Change the default dumping bitrate from 2.5 Mbps to 25 Mbps 2019-07-17 19:55:37 +02:00
ConfigLoaders Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Debugger Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
DSP Core: Use nested namespace specifiers where applicable 2019-06-17 16:32:30 -04:00
FifoPlayer Core/FifoAnalyzer: Use std::array where applicable 2019-07-15 07:37:35 -04:00
HLE Core: Use nested namespace specifiers where applicable 2019-06-17 16:32:30 -04:00
HW DiscIO: Add functions CreateDisc and CreateWAD 2019-07-18 22:29:04 +02:00
IOS Re-implement FixCommonKeyIndex for WAD files 2019-07-21 09:58:16 +02:00
PowerPC Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11 2019-06-23 21:43:47 +02:00
ActionReplay.cpp
ActionReplay.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Analytics.cpp Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11 2019-06-23 21:43:47 +02:00
Analytics.h Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11 2019-06-23 21:43:47 +02:00
ARDecrypt.cpp
ARDecrypt.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
BootManager.cpp Core/ConfigManager: Use forward declarations where applicable 2019-06-07 19:54:39 -04:00
BootManager.h
CMakeLists.txt Core/CMakeLists: Privately link in fmt 2019-06-14 17:43:39 -04:00
CommonTitles.h
ConfigManager.cpp DiscIO: Merge WiiWAD into VolumeWAD 2019-07-18 22:29:04 +02:00
ConfigManager.h Core/ConfigManager: Use forward declarations where applicable 2019-06-07 19:54:39 -04:00
Core.cpp Merge pull request #8234 from JosJuice/version-in-title 2019-07-15 13:05:08 +02:00
Core.h Step MemoryWatcher at end of each video frame. 2019-05-08 11:20:59 +01:00
Core.vcxproj Move libusb utilities to LibusbUtils 2019-05-27 20:09:55 +02:00
Core.vcxproj.filters Move libusb utilities to LibusbUtils 2019-05-27 20:09:55 +02:00
CoreTiming.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
CoreTiming.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
DSPEmulator.cpp
DSPEmulator.h
GeckoCode.cpp
GeckoCode.h
GeckoCodeConfig.cpp Core/GeckoCodeConfig: Use the [[fallthrough]] attribute in LoadCodes() 2019-06-08 17:55:01 -04:00
GeckoCodeConfig.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Host.h Update Discord rich presence when the title changes 2019-05-24 14:12:48 +02:00
HotkeyManager.cpp
HotkeyManager.h
LibusbUtils.cpp Use separate libusb contexts to avoid thread safety issues 2019-06-26 17:55:51 +02:00
LibusbUtils.h Use separate libusb contexts to avoid thread safety issues 2019-06-26 17:55:51 +02:00
MachineContext.h
MemoryWatcher.cpp Step MemoryWatcher at end of each video frame. 2019-05-08 11:20:59 +01:00
MemoryWatcher.h Step MemoryWatcher at end of each video frame. 2019-05-08 11:20:59 +01:00
MemTools.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
MemTools.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
Movie.cpp Core/Movie: Use fmt where applicable 2019-06-14 17:47:02 -04:00
Movie.h Core/Movie: Store PAD_GET_ORIGIN bit in ControllerState 2019-06-05 02:36:23 -04:00
NetPlayClient.cpp Common/MsgHandler: Namespace code within the Common namespace 2019-06-19 16:03:55 -04:00
NetPlayClient.h
NetPlayProto.h
NetPlayServer.cpp Core/NetPlayServer: Fix empty error messages when adding session to the index fails 2019-06-20 20:55:38 +02:00
NetPlayServer.h
PatchEngine.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
PatchEngine.h
State.cpp Merge pull request #8128 from altimumdelta/FrameDumpUpgradePrep1 2019-06-30 21:13:19 +10:00
State.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
SysConf.cpp
SysConf.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
TitleDatabase.cpp Common/MsgHandler: Namespace code within the Common namespace 2019-06-19 16:03:55 -04:00
TitleDatabase.h
WiiRoot.cpp Core/IOS: Use fmt where applicable 2019-06-20 11:50:02 -04:00
WiiRoot.h
WiiUtils.cpp Re-implement FixCommonKeyIndex for WAD files 2019-07-21 09:58:16 +02:00
WiiUtils.h DiscIO: Merge WiiWAD into VolumeWAD 2019-07-18 22:29:04 +02:00