@moira this is an edited screenshot since the program depends on hardware that as far as i know isn't emulated yet. but from what i know, the program will refuse to run in this situation
@moira it's exactly what the program would look like if you ran it, as i was able to hack the program to bypass other checks and jump right to the date check
@nil To be fair I'd have probably done the same ... I imagine you did something along the lines of grepping all the binaries for that string and trying to patch them with ghidra (which is what I'd have probably done)
@philpem i tried a quick grep for the string in the binaries and couldn't find it, so i instead wrote a shell script that just prints it out. even if i did find it, at this point i wasn't feeling like putting in the effort to hack a binary just for a funny screenshot
ok now i'm curious. i'm opening up the program in ghidra, and it turns out there's a check for the future and the past?? and there's debug symbols too, so that's nice... i'll try to clean up the decompilation of validate_system_time and show what it does
the majority of this function is just parsing a hardcoded string ("Mar 1 2004") to convert it to year, month, and date integers. this isn't the future limit date, btw. the program also checks if the date is too far in the *past*. looks like the hardcoded last allowed time you can run this […]
so if it makes anyone feel better i just got the actual real code to print out the message. i had to nop out everything before the time validation function so it would run, but indeed this program does check the date and exit if it's too far in the future
Comments
now _that_ is a warning message!
does it use the time despite not believing it? as in, does it behave correctly?
i wanted it to be real!
https://furry.engineer/@nil/113755546111532838