+SplAj
May 8th, 2001, 08:44
I have a stupid technical question about HOW the registers EAX/EBX/ECX/EDX/ESI/EDI etc are given their values at program startup under Win2K and NT as these O/S are more careful with their memory managment and give 'access violations' or 'exceptions' 
This is because I have been analysing some packed/unpacked targets
and notice that especially EDI register changes when loaded by symbol loader or just double-clicked and when the program calls it's first API this EDI value can crash the unpacked program in win2K- Hi Alexey
With unpacked CV2.6 with SI loader EDI == 25h and runs fine. With double-click EDI == 0469DEF8 and causes an exception in 1 of my Win2K PC's. In the other 2 it loads OK either way. I thought this could be a speed issue......as the PC that won't load CV2.6 with Win2K is a PIII 1ghz machine and the other 2 are PII 266 and Cel333.
But I did not check with SI yet as I am at work
- erm in the office playing with this problem !
So again my question. Where does the register settings come from at exe launch ?
Is there a MS or other technical guide like for the PE format ?
Hope I explained this problem ok !
SplAj

This is because I have been analysing some packed/unpacked targets
and notice that especially EDI register changes when loaded by symbol loader or just double-clicked and when the program calls it's first API this EDI value can crash the unpacked program in win2K- Hi Alexey

With unpacked CV2.6 with SI loader EDI == 25h and runs fine. With double-click EDI == 0469DEF8 and causes an exception in 1 of my Win2K PC's. In the other 2 it loads OK either way. I thought this could be a speed issue......as the PC that won't load CV2.6 with Win2K is a PIII 1ghz machine and the other 2 are PII 266 and Cel333.
But I did not check with SI yet as I am at work

So again my question. Where does the register settings come from at exe launch ?
Is there a MS or other technical guide like for the PE format ?
Hope I explained this problem ok !
SplAj