From fede10cef6da8c0991c344f4953a0a47eb43d8fe Mon Sep 17 00:00:00 2001 From: Joostinonline Date: Tue, 5 Aug 2014 21:34:08 +0000 Subject: [PATCH] -Fixed --skipIOS argument when a non-existant or invalid IOS number was passed -Fixed --forceNoAHBPROT= argument in the meta.xml file (extra = sign) -Fixed the report from spilling an extra line past the frame -Moved the DM/DML time stamps to after detection. --- SysCheckHDE/meta.xml | 2 +- source/gui.c | 2 +- source/sys.c | 252 +++++++++++++++++++++---------------------- source/sysCheck.c | 10 +- 4 files changed, 134 insertions(+), 132 deletions(-) diff --git a/SysCheckHDE/meta.xml b/SysCheckHDE/meta.xml index 58de481..ba92203 100644 --- a/SysCheckHDE/meta.xml +++ b/SysCheckHDE/meta.xml @@ -56,7 +56,7 @@ Version 2.1.0 HacksDen Edition See SysCheck at Wiibrew.com for changes in other versions. --debug=false - --forceNoAHBPROT==false + --forceNoAHBPROT=false diff --git a/source/gui.c b/source/gui.c index 83371d8..ee8a8d6 100644 --- a/source/gui.c +++ b/source/gui.c @@ -220,7 +220,7 @@ int printReport(char report[200][100], int firstLine, bool completeReport) { GRRLIB_DrawImg(0, 0, tex_background_png, 0, 1, 1, HEX_WHITE); GRRLIB_DrawImg(36, 40, tex_window_png, 0, 1, 1, HEX_WHITE); - for (j = 0; j < BLANK + 1; j++) { + for (j = 0; j < 15; j++) { GRRLIB_PrintfTTF(80, 98+j*17, myFont, report[firstLine+j], 12, HEX_BLACK); } if (completeReport) { diff --git a/source/sys.c b/source/sys.c index 12cfe4e..8fbc48d 100644 --- a/source/sys.c +++ b/source/sys.c @@ -512,132 +512,6 @@ end: s32 get_miosinfo(char *str) { - struct tm time; - - // Timestamp of DML r52 - strptime("Mar 7 2012 19:36:06", "%b %d %Y %H:%M:%S", &time); - const time_t dml_r52_time = mktime(&time); - - // Timestamp of DML 1.2 - strptime("Apr 24 2012 19:44:08", "%b %d %Y %H:%M:%S", &time); - const time_t dml_1_2_time = mktime(&time); - - // I can't find one for 1.4 or 1.3, so I'm just doing 1 second over 1.2 - strptime("Apr 24 2012 19:44:09", "%b %d %Y %H:%M:%S", &time); - const time_t dml_1_4_time = mktime(&time); - - // Timestamp of DML 1.4b - strptime("May 7 2012 21:12:47", "%b %d %Y %H:%M:%S", &time); - const time_t dml_1_4b_time = mktime(&time); - - // Timestamp of DML 1.5 - strptime("Jun 14 2012 00:05:09", "%b %d %Y %H:%M:%S", &time); - const time_t dml_1_5_time = mktime(&time); - - // Timestamp of DM 2.0 - strptime("Jun 23 2012 19:43:21", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_0_time = mktime(&time); - - // Timestamp of DM 2.1 - strptime("Jul 17 2012 11:25:35", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_1_time = mktime(&time); - - // Timestamp of DM 2.2 initial release - strptime("Jul 18 2012 16:57:47", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_2_time = mktime(&time); - - // Timestamp of DM 2.2 update2 - strptime("Jul 20 2012 14:49:47", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_2_2_time = mktime(&time); - - // Timestamp of DML 2.2 initial release - strptime("Aug 6 2012 15:19:17", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_2_time = mktime(&time); - - // Timestamp of DML 2.2 update1 - strptime("Aug 13 2012 00:12:46", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_2_1_time = mktime(&time); - - // Timestamp of DML 2.3 mirror link - strptime("Sep 24 2012 13:13:42", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_3m_time = mktime(&time); - - // Timestamp of DM 2.3 - strptime("Sep 24 2012 15:51:54", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_3_time = mktime(&time); - - // Timestamp of DML 2.3 main link - strptime("Sep 25 2012 03:03:41", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_3_time = mktime(&time); - - // Timestamp of DM 2.4 - strptime("Oct 21 2012 22:57:12", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_4_time = mktime(&time); - - // Timestamp of DML 2.4 - strptime("Oct 21 2012 22:57:17", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_4_time = mktime(&time); - - // Timestamp of DM 2.5 - strptime("Nov 9 2012 21:18:52", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_5_time = mktime(&time); - - // Timestamp of DML 2.5 - strptime("Nov 9 2012 21:18:56", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_5_time = mktime(&time); - - // Timestamp of DM 2.6.0 - strptime("Dec 1 2012 01:52:53", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_6_0_time = mktime(&time); - - // Timestamp of DML 2.6 - strptime("Dec 1 2012 16:22:29", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_6_time = mktime(&time); - - // Timestamp of DM 2.6.1 - strptime("Dec 1 2012 16:42:34", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_6_1_time = mktime(&time); - - // Timestamp of DM 2.7 - strptime("Feb 20 2013 14:54:33", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_7_time = mktime(&time); - - // Timestamp of DML 2.7 - strptime("Feb 20 2013 14:54:36", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_7_time = mktime(&time); - - // Timestamp of DM 2.8 - strptime("Feb 24 2013 14:17:03", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_8_time = mktime(&time); - - // Timestamp of DML 2.8 - strptime("Feb 24 2013 13:30:29", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_8_time = mktime(&time); - - // Timestamp of DM 2.9 - strptime("Apr 5 2013 18:29:35", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_9_time = mktime(&time); - - // Timestamp of DML 2.9 - strptime("Apr 5 2013 18:20:33", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_9_time = mktime(&time); - - // Timestamp of DM 2.10 - strptime("May 24 2013 21:22:22", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_10_time = mktime(&time); - - // Timestamp of DML 2.10 - strptime("May 24 2013 18:51:58", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_10_time = mktime(&time); - - // Timestamp of DM 2.11 - strptime("Jul 2 2014 10:31:15", "%b %d %Y %H:%M:%S", &time); - const time_t dm_2_11_time = mktime(&time); - - // Timestamp of DML 2.11 - strptime("Jul 2 2014 10:31:06", "%b %d %Y %H:%M:%S", &time); - const time_t dml_2_11_time = mktime(&time); - u32 size = 0; u32 i = 0; s32 ret = 0; @@ -647,6 +521,132 @@ s32 get_miosinfo(char *str) ret = read_file_from_nand("/title/00000001/00000101/content/0000000c.app", &appfile, &size); if(ret >= 0 && appfile) { + struct tm time; + + // Timestamp of DML r52 + strptime("Mar 7 2012 19:36:06", "%b %d %Y %H:%M:%S", &time); + const time_t dml_r52_time = mktime(&time); + + // Timestamp of DML 1.2 + strptime("Apr 24 2012 19:44:08", "%b %d %Y %H:%M:%S", &time); + const time_t dml_1_2_time = mktime(&time); + + // I can't find one for 1.4 or 1.3, so I'm just doing 1 second over 1.2 + strptime("Apr 24 2012 19:44:09", "%b %d %Y %H:%M:%S", &time); + const time_t dml_1_4_time = mktime(&time); + + // Timestamp of DML 1.4b + strptime("May 7 2012 21:12:47", "%b %d %Y %H:%M:%S", &time); + const time_t dml_1_4b_time = mktime(&time); + + // Timestamp of DML 1.5 + strptime("Jun 14 2012 00:05:09", "%b %d %Y %H:%M:%S", &time); + const time_t dml_1_5_time = mktime(&time); + + // Timestamp of DM 2.0 + strptime("Jun 23 2012 19:43:21", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_0_time = mktime(&time); + + // Timestamp of DM 2.1 + strptime("Jul 17 2012 11:25:35", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_1_time = mktime(&time); + + // Timestamp of DM 2.2 initial release + strptime("Jul 18 2012 16:57:47", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_2_time = mktime(&time); + + // Timestamp of DM 2.2 update2 + strptime("Jul 20 2012 14:49:47", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_2_2_time = mktime(&time); + + // Timestamp of DML 2.2 initial release + strptime("Aug 6 2012 15:19:17", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_2_time = mktime(&time); + + // Timestamp of DML 2.2 update1 + strptime("Aug 13 2012 00:12:46", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_2_1_time = mktime(&time); + + // Timestamp of DML 2.3 mirror link + strptime("Sep 24 2012 13:13:42", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_3m_time = mktime(&time); + + // Timestamp of DM 2.3 + strptime("Sep 24 2012 15:51:54", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_3_time = mktime(&time); + + // Timestamp of DML 2.3 main link + strptime("Sep 25 2012 03:03:41", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_3_time = mktime(&time); + + // Timestamp of DM 2.4 + strptime("Oct 21 2012 22:57:12", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_4_time = mktime(&time); + + // Timestamp of DML 2.4 + strptime("Oct 21 2012 22:57:17", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_4_time = mktime(&time); + + // Timestamp of DM 2.5 + strptime("Nov 9 2012 21:18:52", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_5_time = mktime(&time); + + // Timestamp of DML 2.5 + strptime("Nov 9 2012 21:18:56", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_5_time = mktime(&time); + + // Timestamp of DM 2.6.0 + strptime("Dec 1 2012 01:52:53", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_6_0_time = mktime(&time); + + // Timestamp of DML 2.6 + strptime("Dec 1 2012 16:22:29", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_6_time = mktime(&time); + + // Timestamp of DM 2.6.1 + strptime("Dec 1 2012 16:42:34", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_6_1_time = mktime(&time); + + // Timestamp of DM 2.7 + strptime("Feb 20 2013 14:54:33", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_7_time = mktime(&time); + + // Timestamp of DML 2.7 + strptime("Feb 20 2013 14:54:36", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_7_time = mktime(&time); + + // Timestamp of DM 2.8 + strptime("Feb 24 2013 14:17:03", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_8_time = mktime(&time); + + // Timestamp of DML 2.8 + strptime("Feb 24 2013 13:30:29", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_8_time = mktime(&time); + + // Timestamp of DM 2.9 + strptime("Apr 5 2013 18:29:35", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_9_time = mktime(&time); + + // Timestamp of DML 2.9 + strptime("Apr 5 2013 18:20:33", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_9_time = mktime(&time); + + // Timestamp of DM 2.10 + strptime("May 24 2013 21:22:22", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_10_time = mktime(&time); + + // Timestamp of DML 2.10 + strptime("May 24 2013 18:51:58", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_10_time = mktime(&time); + + // Timestamp of DM 2.11 + strptime("Jul 2 2014 10:31:15", "%b %d %Y %H:%M:%S", &time); + const time_t dm_2_11_time = mktime(&time); + + // Timestamp of DML 2.11 + strptime("Jul 2 2014 10:31:06", "%b %d %Y %H:%M:%S", &time); + const time_t dml_2_11_time = mktime(&time); + for(i = 0; i < size; ++i) { if(DM_INSTALLED) //DIOS MIOS diff --git a/source/sysCheck.c b/source/sysCheck.c index 1682ba0..8025065 100644 --- a/source/sysCheck.c +++ b/source/sysCheck.c @@ -273,17 +273,18 @@ int main(int argc, char **argv) SystemInfo.countIOS++; } + // Not the most efficient way to remove argument-skipped IOS's, but it works. while (arguments.skipIOScnt > 0) { for (i = nbTitles; i--;) { titleID = titles[i] & 0xFFFFFFFF; - if(titleID == arguments.skipIOSlist[arguments.skipIOScnt - 1]) { + if(arguments.skipIOSlist[arguments.skipIOScnt - 1] > 0 && titleID == arguments.skipIOSlist[arguments.skipIOScnt - 1]) { logfile("Skipped IOS %i, titles[%i] = %i\r\n", arguments.skipIOSlist[arguments.skipIOScnt - 1], i, titles[i]); titles[i] = 0; SystemInfo.countIOS--; - arguments.skipIOScnt--; break; } } + arguments.skipIOScnt--; } CheckTime(current_time, 600); @@ -456,7 +457,7 @@ int main(int argc, char **argv) // Try to identify the cIOS by the info put in by the installer/ModMii sysMenuInfoContent = *(u8 *)((u32)iosTMDBuffer+0x1E7); - sprintf(filepath, "/title/%08x/%08x/content/%08x.app", 0x00000001, 2, sysMenuInfoContent); + sprintf(filepath, "/title/00000001/00000002/content/%08x.app", sysMenuInfoContent); gprintf(filepath); ret = read_file_from_nand(filepath, &buffer, &filesize); @@ -481,8 +482,8 @@ int main(int argc, char **argv) CheckTime(current_time, 600); // Get the certificates from the NAND - UpdateTime(); printLoading(MSG_GetCertificates); + UpdateTime(); if (!GetCertificates()) { printError(ERR_GetCertificates); sleep(5); @@ -502,6 +503,7 @@ int main(int argc, char **argv) bool completeReport = true; while (difftime (time(NULL),starttime) < 15) { + wpressed = DetectInput(DI_BUTTONS_HELD); usleep(50000);