-Added hashes for hermes cIOS 2XX[38+60]v4, 2XX[38+37]v4, and 2XX[57]v5.1 (thanks Cyan)

-Corrected hash values 0 through F from not being preceded with a 0.
-Other minor changes
This commit is contained in:
Joostinonline 2014-09-17 19:48:14 +00:00
parent 62e4b77c4a
commit 12a1cfb776
8 changed files with 146 additions and 140 deletions

1
SysCheck HDE.pnproj Normal file
View File

@ -0,0 +1 @@
<Project name="SysCheck HDE"><MagicFolder excludeFiles="*.pnproj;*.pnps;*.bak;*.tmp" excludeFolders="CVS;.svn" filter="*.c;*.cpp;*.h" name="source" path="source\"><File path="fatMounter.c"></File><File path="gecko.c"></File><File path="gui.c"></File><File path="http.c"></File><File path="languages.c"></File><File path="mload.c"></File><File path="sha1.c"></File><File path="sys.c"></File><File path="sysCheck.c"></File><File path="SysMenuInfo.c"></File><File path="title.c"></File><File path="tmdIdentification.c"></File><File path="tools.c"></File><File path="update.c"></File><File path="upload.c"></File><File path="wiibasics.c"></File></MagicFolder><MagicFolder excludeFiles="*.pnproj;*.pnps;*.bak;*.tmp" excludeFolders="CVS;.svn" filter="*.h" name="include" path="include\"><File path="fatMounter.h"></File><File path="gecko.h"></File><File path="gui.h"></File><File path="http.h"></File><File path="languages.h"></File><File path="mload.h"></File><File path="sha1.h"></File><File path="sys.h"></File><File path="SysMenuInfo.h"></File><File path="title.h"></File><File path="tmdIdentification.h"></File><File path="tools.h"></File><File path="update.h"></File><File path="wiibasics.h"></File></MagicFolder><File path="Makefile"></File></Project>

View File

@ -9,6 +9,7 @@
#define MEM_PROT (MEM_REG_BASE + 0x20a)
#define HOLLYWOOD_VERSION (vu32*)0x80003138
#define LOADER_STUB (vu32*)0x80001800
#define IOS_TOP (*((vu32*)0x80003134))
#define IS_WII_U ((*(vu32*)(0xCd8005A0) >> 16 ) == 0xCAFE)
#define MAX_ELEMENTS(x) ((sizeof((x))) / (sizeof((x)[0])))
#define CheckTime(X,Y) while(!(ticks_to_millisecs(diff_ticks((X), gettick())) > (Y)))

View File

@ -3,7 +3,7 @@
#include <gctypes.h>
#define base_number 122
#define base_number 125
typedef struct {
u32 hashes[5];

View File

@ -13,17 +13,17 @@ bool textVideoInit = false;
void gprintf( const char *str, ... )
{
if (!(geckoinit))return;
char astr[4096];
char astr[1024];
va_list ap;
va_start(ap,str);
vsprintf( astr, str, ap );
vsnprintf(astr, sizeof(astr), str, ap);
usb_sendbuffer_safe(1, astr, strlen(astr));
va_end(ap);
return;
usb_sendbuffer_safe( 1, astr, strlen(astr) );
}
void gsenddata(const u8 *data, int length, const char *filename)

View File

@ -400,7 +400,7 @@ int main(int argc, char **argv)
sha1 hash;
SHA1((u8 *)iosTMDBuffer, tmdSize, hash);
sprintf(HashLogBuffer[lines], "IOS%d base hash: \r\n%x %x %x %x, %x %x %x %x, %x %x %x %x, %x %x %x %x, %x %x %x %x\r\n", \
sprintf(HashLogBuffer[lines], "IOS%d base hash: \r\n%02x %02x %02x %02x, %02x %02x %02x %02x, %02x %02x %02x %02x, %02x %02x %02x %02x, %02x %02x %02x %02x\r\n", \
ios[i].titleID, hash[0], hash[1], hash[2], hash[3], hash[4], hash[5], hash[6], hash[7], hash[8], hash[9], hash[10], hash[11], hash[12], hash[13], hash[14], hash[15], hash[16], hash[17], hash[18], hash[19]);
lines++;
@ -621,7 +621,7 @@ int main(int argc, char **argv)
// Test IOS type
gprintf("// Test IOS type\n");
logfile("// Test IOS type\r\n");
ios[i].infovIOS = CheckIOSType(*((vu32*)0x80003134));
ios[i].infovIOS = CheckIOSType(IOS_TOP);
// Test fake signature
gprintf("// Test fake signature\n");
@ -687,7 +687,7 @@ int main(int argc, char **argv)
sprintf(MSG_Buffer, MSG_ReloadIOS, runningIOS, runningIOSRevision);
printLoading(MSG_Buffer);
IosPatch_FULL(false, false, false, false, runningIOS);
ios[runningIOS].infovIOS = CheckIOSType(*((vu32*)0x80003134));
ios[runningIOS].infovIOS = CheckIOSType(IOS_TOP);
CheckTime(current_time, 500);
//--Generate Report--
@ -904,8 +904,10 @@ int main(int argc, char **argv)
sprintf(ReportBuffer[lineOffset], "BC v%d", ios[i].revision);
} else if (ios[i].titleID == TID_MIOS) {
sprintf(ReportBuffer[lineOffset], "MIOS v%d%s", ios[i].revision, SystemInfo.miosInfo);
} else if ((ios[i].titleID==222 || ios[i].titleID==224 || ios[i].titleID==223 || ios[i].titleID==202 || ios[i].titleID==225) && ios[i].baseIOS == 75) {
sprintf(ReportBuffer[lineOffset], "IOS%d[38+37] (rev %d, Info: %s):", ios[i].titleID, ios[i].revision, ios[i].info);
} else if (ios[i].baseIOS == 75 && (ios[i].titleID==222 || ios[i].titleID==224 || ios[i].titleID==223 || ios[i].titleID==202 || ios[i].titleID==225)) {
sprintf(ReportBuffer[lineOffset], "%sIOS%d[38+37] (rev %d, Info: %s):", ios[i].infovIOS ? "v" : "", ios[i].titleID, ios[i].revision, ios[i].info);
} else if (ios[i].baseIOS == 98 && (ios[i].titleID==222 || ios[i].titleID==224 || ios[i].titleID==223 || ios[i].titleID==202 || ios[i].titleID==225)) {
sprintf(ReportBuffer[lineOffset], "%sIOS%d[38+60] (rev %d, Info: %s):", ios[i].infovIOS ? "v" : "", ios[i].titleID, ios[i].revision, ios[i].info);
} else {
if(ios[i].mloadVersion > 0 && ios[i].baseIOS > 0) {
int v, s;

View File

@ -51,7 +51,7 @@ iosHashes iosHash[base_number] = {
{{0x5f178a98, 0x4c4486ee, 0xcdb51ca7, 0xb0b172a0, 0x91ab0d2b}, 38, "rev 21" }, // cIOS38 r21
{{0x115a5bc1, 0x28fd5a1f, 0xc5ca4b76, 0xd54d4016, 0x5f93e406}, 56, "rev 21" }, // cIOS56 r21
{{0xd3198a49, 0xd4be48b6, 0x74c50488, 0xdf870e48, 0x91ed14a9}, 57, "rev 21" }, // cIOS57 r21
{{0x3f0fa343, 0x68413800, 0xe31729a6, 0x1805e71e, 0x680f9add}, 37, "d2xv3" }, // d2x-v3 r21 Base: 37
{{0x3f0fa343, 0x68413800, 0xe31729a6, 0x1805e71e, 0x680f9add}, 37, "d2x-v3" }, // d2x-v3 r21 Base: 37
{{0xec25c714, 0xf63e6696, 0x10d6da7a, 0x4c331c64, 0xc3168ce6}, 38, "d2x-v3" }, // d2x-v3 r21 Base: 38
{{0xce0b9786, 0x6720fa8a, 0x4c09b54e, 0x42982999, 0xd447208b}, 56, "d2x-v3" }, // d2x-v3 r21 Base: 56
{{0xa24edf73, 0x572c5853, 0xcfe01a7e, 0x050afbf8, 0x6baa0d62}, 57, "d2x-v3" }, // d2x-v3 r21 Base: 57
@ -123,5 +123,8 @@ iosHashes iosHash[base_number] = {
{{0x1a3200ec, 0x7eaa20de, 0x69c02000, 0x496f2d01, 0x506a7824}, 50, "rev 4889" }, // IOS50 rev 4889
{{0xea390bf6, 0x4b1f6640, 0xdb46f605, 0xb3c1f6fc, 0x62f173b9}, 30, "rev 2576" }, // IOS30 rev 2576
{{0x97f4ad1a, 0x437842a8, 0x015435c7, 0xa2b25178, 0x3564265d}, 20, "rev 12" }, // IOS20 rev 212
{{0xe42a9e18, 0xa967eb9c, 0x94769498, 0x917c9ab9, 0x6169e7ca}, 11, "rev 10" } // IOS11 rev 10
{{0xe42a9e18, 0xa967eb9c, 0x94769498, 0x917c9ab9, 0x6169e7ca}, 11, "rev 10" }, // IOS11 rev 10
{{0xac1c011f, 0x596e0fb8, 0x0e83b19e, 0xac99cffa, 0xbeed2e8d}, 98, "hermes-v4" }, // Hermes v4 Base: 60+38
{{0x3b8cb30a, 0x64facf46, 0xf49f1342, 0xe27cb546, 0xd6507060}, 75, "hermes-v4" }, // Hermes v4 Base: 38+37
{{0x53fb3439, 0xd6fa27c4, 0xf475ca03, 0x4cc113d0, 0x64c84cf5}, 57, "hermes-5.1"} // Hermes v4 Base: 57
};

View File

@ -155,10 +155,10 @@ void formatDate(u32 date, char ReportBuffer[200][100]) {
char month[2] = {0};
char year[4] = {0};
sprintf(temp, "%08x", date);
sprintf(year, "%c%c%c%c", temp[0], temp[1], temp[2], temp[3]);
sprintf(month, "%c%c", temp[4], temp[5]);
sprintf(day, "%c%c", temp[6], temp[7]);
snprintf(temp, sizeof(temp), "%08x", date);
snprintf(year, sizeof(year), "%c%c%c%c", temp[0], temp[1], temp[2], temp[3]);
snprintf(month, sizeof(month), "%c%c", temp[4], temp[5]);
snprintf(day, sizeof(day), "%c%c", temp[6], temp[7]);
gprintf("MONTH: %s\n", month);
gprintf("DAY: %s\n", day);
@ -173,10 +173,10 @@ void formatDate(u32 date, char ReportBuffer[200][100]) {
case CONF_LANG_GERMAN:
case CONF_LANG_ITALIAN:
case CONF_LANG_SPANISH:
sprintf(result, "%s.%s.%s", day, month, year);
snprintf(result, sizeof(result), "%s.%s.%s", day, month, year);
break;
default:
sprintf(result, "%s.%s.%s", month, day, year); // You don't say "I was born 1990 January 1" The year comes last
snprintf(result, sizeof(result), "%s.%s.%s", month, day, year); // You don't say "I was born 1990 January 1" The year comes last
break;
}
gprintf("String: %s\n", result);

View File

@ -1 +0,0 @@
<Project name="sysCheck"><MagicFolder excludeFiles="*.pnproj;*.pnps;*.bak;*.tmp" excludeFolders="CVS;.svn" filter="*.c;*.cpp;*.h" name="source" path="source\"><File path="fatMounter.c"></File><File path="gecko.c"></File><File path="gui.c"></File><File path="http.c"></File><File path="languages.c"></File><File path="mload.c"></File><File path="sha1.c"></File><File path="sys.c"></File><File path="sysCheck.c"></File><File path="SysMenuInfo.c"></File><File path="title.c"></File><File path="tmdIdentification.c"></File><File path="tools.c"></File><File path="update.c"></File><File path="upload.c"></File><File path="wiibasics.c"></File></MagicFolder><MagicFolder excludeFiles="*.pnproj;*.pnps;*.bak;*.tmp" excludeFolders="CVS;.svn" filter="*.h" name="include" path="include\"><File path="fatMounter.h"></File><File path="gecko.h"></File><File path="gui.h"></File><File path="http.h"></File><File path="languages.h"></File><File path="mload.h"></File><File path="sha1.h"></File><File path="sys.h"></File><File path="SysMenuInfo.h"></File><File path="title.h"></File><File path="tmdIdentification.h"></File><File path="tools.h"></File><File path="update.h"></File><File path="wiibasics.h"></File></MagicFolder><File path="Makefile"></File></Project>