My MOD issues in 1.13d that were thought to be ASLR, were not ASLR or DEP, but RtlValidateHeap issues... once resolved.. Win7 64 issues were gone.
I don't see the necessity for blizzard to combine all the code into one monolithic executable. I know it was supposedly done for ASLR.. but did it really accomplish that goal? I'm not sure it was really necessary?
The compiler optimization seems to have changed some from 1.13 to 1.14...
Code Snippet comparing 1.13d & 1.14d compiler optimization in d2common identify item function.
Code: Select all
1.13d
6FD921D4 8B4C24 0C MOV ECX,DWORD PTR SS:[ARG.3]
6FD921D8 85C9 TEST ECX,ECX
6FD921DA 74 0F JZ SHORT 6FD921EB
1.14d
006280E6 837D 10 00 CMP DWORD PTR SS:[ARG.3],0
006280EA 74 0A JE SHORT 006280F6
Did it fix ASLR issues?
Edit:
Noticing many D2Common calls have frame pointer compiler option.. where it didn't have this in 1.1x
Code: Select all
00627DF0 55 PUSH EBP ; Game.00627DF0(guessed Arg1)
00627DF1 8BEC MOV EBP,ESP
........
00627E09 5D POP EBP
00627E0A C2 0400 RETN 4