HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Arbitrary bytecode execution prevention

04-29-2009, 06:10 AM#1
Sven2
I wrote a loader that launches WC3 and turns on DEP (Data Execution Prevention) for that process.

The exploit map no longer works if I launch WC3 using my launcher. It will just crash the application without opening the console.

http://web.mit.edu/~sven2/www/w3durex.zip

Source code included, so you can compile your very own version. Feel free to pass it on and let me know whether it works for you.

This will probably not help against the MemRead/MemWrite-instructions, by the way. Someone might still be able to write an exploit that way, though it should be much harder to do.

(Hm, posting error?)
04-30-2009, 03:28 AM#2
Vexorian
What part of the process exactly does it stop?
04-30-2009, 05:01 AM#3
PipeDream
The exploit writes over some of warcraft's executable code then makes warcraft execute it. DEP is W^X protection for windows, a page can't be both writeable and executable, so you can only either write to a native or execute it but not both.

But with full R/W, it's trivial to work around - the techniques are so common they're wikipedia articles. Still a good measure though, since it will stop all but the most precocious of 14 year olds.
04-30-2009, 06:21 AM#4
kingkingyyk3
Good job! ;-) It still works on other gaming platform like Garena.