![]() Windows wont attempt ASLR on these modules. None of theĭiablo II Modules up to 1.14d are capable of executing ASLR according to the file header section, and This issue has been coined Diablo II ALSR issues, but it's not. ![]() Rebased worked fine in Windows 98 but not now. With modern operating systems you don't always get the preferred address space ![]() I could see your issue patching the 25 FPS fix into OLD mods with REBASED D2Client dll's. He might be the only one so far to rewrite the top level function? IDK. You can try and implement a different strategy as I mentioned originally if you "really want to" kill that CMP.Ĭredit for the fix goes to Necrolis. But nopping the JNE in this instance (for 1.13d specifically) would be the safest and most minimal change to the code base. Every version has this a bit differently so if people are doing this for multiple versions like me, you'll need to be careful and just look around. I'll be implementing this fix internally in another way when I'm done analyzing it.ĮDIT: After looking at it a bit, I would say the simplest solution (that also wouldn't crash - from my best guest so far) is what devurandom originally mentioned which is to just NOP the JNE because the CMP's ZF won't be re-used before a subsequent CMP. You'll either need to re-implement this without relocations, or make sure to kill the appropriate relocation in the relocation table. If ASLR kicks in, people's games will most likely crash. Just wanted to let you know that this patch is not safe atm since it contains a modification on a relocatable section (The CMP has a relocation). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |