jake
June 3rd, 2006, 10:24
Hi
I'm new here so I'm sorry if this question is dumb;
My question is thoretical coz I aint gonna do anything with it - I dont have any hands-on experience in exe related stuff, asm n drivers.
Say we wanna crack a software protected with starforce or something alike - an encrypted exe that gets the key to decrypting itself from somewhere - driver/web/whatever.
By cracking I mean getting a non encrypted exe that would run normally w/o any protection and that can be modified directly to change the original code.
As far a my understanding goes, if we have a legit copy of the software and it runs, we can grab the exe's image from memory while it runs. In doin this we outflank any smart mechanisms that may reside in other binaries the loading and startup mess.
Further, it would be easy to eliminate the injected code as this is the only code that is present in the exe and in the memory image, on the other hand, it will be harder to find data and code segments that were in the original exe because the injected loader must relocate them and in addition it might have been compressed and encrypted.
What I'd like to know is this:
Is what I'm saying feasible or I have holes in the theory?
Are there any ready tools for all the story above?
One thing I didn't mention - dlls - how can one tell if a piece of code in memory is from a dll or the exe? the must be some table in the exe's space for that...
Thanks in advance,
jake
I'm new here so I'm sorry if this question is dumb;
My question is thoretical coz I aint gonna do anything with it - I dont have any hands-on experience in exe related stuff, asm n drivers.
Say we wanna crack a software protected with starforce or something alike - an encrypted exe that gets the key to decrypting itself from somewhere - driver/web/whatever.
By cracking I mean getting a non encrypted exe that would run normally w/o any protection and that can be modified directly to change the original code.
As far a my understanding goes, if we have a legit copy of the software and it runs, we can grab the exe's image from memory while it runs. In doin this we outflank any smart mechanisms that may reside in other binaries the loading and startup mess.
Further, it would be easy to eliminate the injected code as this is the only code that is present in the exe and in the memory image, on the other hand, it will be harder to find data and code segments that were in the original exe because the injected loader must relocate them and in addition it might have been compressed and encrypted.
What I'd like to know is this:
Is what I'm saying feasible or I have holes in the theory?
Are there any ready tools for all the story above?
One thing I didn't mention - dlls - how can one tell if a piece of code in memory is from a dll or the exe? the must be some table in the exe's space for that...
Thanks in advance,
jake