I have come to a conclusion that every time this program goes beyond a date it gives me problem. So I would like to hack the exe and modify that date to avoid that problem. How to do that? It's a windows .exe . When the problem occurs I receive a message. I can find the text of that message inside the .exe file using a simple search program. But I can't find that trigger date. Perhaps because there's plenty of ways of recording a date in a program, I mean 18_09 17.10 17/09/2013 , .
6,323 4 4 gold badges 35 35 silver badges 45 45 bronze badges asked Dec 10, 2013 at 17:58 FernandoSBS FernandoSBS 2,003 10 10 gold badges 34 34 silver badges 45 45 bronze badgesstrings in a exe remain just encoded text, but date formats are binary types, and will not appear in any kind of text search. what you are asking for will be quite tricky for someone without knowledge of debugging and the binary patching of files.
Commented Dec 10, 2013 at 18:04Maybe the best courses of action are the following: 1. Go back a couple of years in your own computer date. 2. Actually explain what is your concrete problem, with what software. Trying to hack (let's say disassemble) executables is time consuming and near fruitless. For the record, I do have software that behaves like that and usually I just regress the PC's date.
Commented Dec 10, 2013 at 18:13@DoktoroReichard do you know any simple program (so I can avoid having to write one myself) that would change the date to a good one, start the app, and just after it perceives program started it changes the date back?
Commented Dec 10, 2013 at 18:42questions like these are the reason we as a group are trying to convince you to give up, or take another tact. as it standas without knowing the runtime and compiler used in compiling your application, there is no way to even begin looking.
Commented Dec 10, 2013 at 20:33@FernandoSBS If this is to avoid a license which expired (you didn't specify "your problem") then you probably won't find a 'hard' date (binary or otherwise) in the code. (I'm a programmer and i wouldn't make it that easy ;). Even so, SU is not a place to ask for advise to hack a program like that (too technical and slightly unethical) You might haves some luck creating a batch-file with saving the date from date /t , setting it to date 01-01-2013 , starting your program and setting the date back to date %saved_date% .
Commented Dec 10, 2013 at 20:38I take the chance to write this answer to advise you against messing with the executable itself. As for why, here are the reasons stated in the comments and some of mine:
Advices aside, I'm piggybacking on what Rik said, and expanding it a little.
You can create a batch file (as you said .exe files, I'm assuming Windows) using the following commands:
SET CUR_DATE=%DATE% DATE DATE %CUR_DATE%
Although I haven't tested it, this supposedly does the following:
You can store this batch inside the program's directory, as such you only need to write the program's name, rather than the full path. Be consistent, however, on the date you input, as it needs to be in the same format as what your system expects. See the link about the DATE command for more info; alternatively just do echo %date% to see what format your computer expects the date you input to be.