Rackmount
04-25-2003, 05:00 PM
Ok...I am working on Cyberhedge's sentinel crackme and so far have done the first trivial patch on SProFindFirstUnit. Now as I am reading several tut's on sentinel emulation, they seem to indicate that I need to set up an area of the program to read simulated dongle memory to emulate SProRead function. This gives me a few questions...
#1 It does not appear that the emulation patch occurs at the beginning on the sproread function , but actually is initiated after several lines of the function have already been executed. To me, the sproread code in the crackme seems very similar to what Goatass shows in his FlexiSIGN PRO tut, so I believe that my patch would begin at:
004079c0 mov word ptr [esi+30h], 0Ah
The other tut's seem to initiate patch at a jump which is either nop'd or made to jump to following instruction. Question: why are the starting locations of these emulations different (or are they different)? I dont have the code preceding the patchs for Crackz tut's so I cant compare what is done before patch insertion. In Goatass' tut he seems to do patch after a buffer has been set up in EDI to hold returned WORD from the dongle.
#2 Simulated dongle memory. OH you mean in order to simulate the dongle I need to know what in in its memory so I can simulate it? Not really sure what information I need to hardcode in order to get this done.
#3 Where to hardcode simulated dongle memory. In past experience with adding code I have always used whatever space I can find that will fit what is needed. I believe that as long as I can find a space, I can redirect the routine there and back...no problems...right?
It could be that once the above questions are explained I will once again be using the hammer of knowledge adjustment on my brain (or computer) This is interesting and I am having fun...no really...I am...I swear...lol Ok...I may need a bit of hand holding through this...but eh, that is why this is a newbies forum right?
#1 It does not appear that the emulation patch occurs at the beginning on the sproread function , but actually is initiated after several lines of the function have already been executed. To me, the sproread code in the crackme seems very similar to what Goatass shows in his FlexiSIGN PRO tut, so I believe that my patch would begin at:
004079c0 mov word ptr [esi+30h], 0Ah
The other tut's seem to initiate patch at a jump which is either nop'd or made to jump to following instruction. Question: why are the starting locations of these emulations different (or are they different)? I dont have the code preceding the patchs for Crackz tut's so I cant compare what is done before patch insertion. In Goatass' tut he seems to do patch after a buffer has been set up in EDI to hold returned WORD from the dongle.
#2 Simulated dongle memory. OH you mean in order to simulate the dongle I need to know what in in its memory so I can simulate it? Not really sure what information I need to hardcode in order to get this done.
#3 Where to hardcode simulated dongle memory. In past experience with adding code I have always used whatever space I can find that will fit what is needed. I believe that as long as I can find a space, I can redirect the routine there and back...no problems...right?
It could be that once the above questions are explained I will once again be using the hammer of knowledge adjustment on my brain (or computer) This is interesting and I am having fun...no really...I am...I swear...lol Ok...I may need a bit of hand holding through this...but eh, that is why this is a newbies forum right?


ds register)0040E040 r
