naides
November 29th, 2004, 10:28
The problem.
I have an application protected by what I thought was a rather primitive protection: It stores the state "registered" or "not registered" in a global bool variable. I changed the code that sets the variable so I am "registered". the modif works OK on a pentium 4 Windows XP professional OS.
I copied the altered file to a AMD 64 running Windows XP OS. The program complains "not regtistered" I debugged it in the new system: the altered code is still altered, but it is never run.
I traced a little bit, and the symptom is, in this different but very similar computer, the app code flow takes a different path that bypasses my modification. Of course I can fix the problem, but I am somewhat puzzled by this behavoir.
My questions to the public are why? and how?
The OS is the same, as far as I can tell: XP professional sp1 (Installed from from the same CD actually), the CPU is different but this should not be an issue for a ring3 running app, right?
Any suggestions on how I can figure out where or how the execution path diverges between the two machines?
It is out of curiosity, for the most part...
I have an application protected by what I thought was a rather primitive protection: It stores the state "registered" or "not registered" in a global bool variable. I changed the code that sets the variable so I am "registered". the modif works OK on a pentium 4 Windows XP professional OS.
I copied the altered file to a AMD 64 running Windows XP OS. The program complains "not regtistered" I debugged it in the new system: the altered code is still altered, but it is never run.
I traced a little bit, and the symptom is, in this different but very similar computer, the app code flow takes a different path that bypasses my modification. Of course I can fix the problem, but I am somewhat puzzled by this behavoir.
My questions to the public are why? and how?
The OS is the same, as far as I can tell: XP professional sp1 (Installed from from the same CD actually), the CPU is different but this should not be an issue for a ring3 running app, right?
Any suggestions on how I can figure out where or how the execution path diverges between the two machines?
It is out of curiosity, for the most part...


Oh the shame of it all.


Aw crap.