-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.
This commit is contained in:
Joostinonline 2014-08-05 21:34:08 +00:00
parent 5ffc019e0d
commit fede10cef6
4 changed files with 134 additions and 132 deletions

View File

@ -56,7 +56,7 @@ Version 2.1.0 HacksDen Edition
See SysCheck at Wiibrew.com for changes in other versions.</long_description>
<arguments>
<arg>--debug=false</arg>
<arg>--forceNoAHBPROT==false</arg>
<arg>--forceNoAHBPROT=false</arg>
</arguments>
<no_ios_reload/>

View File

@ -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) {

View File

@ -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

View File

@ -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);