• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

We are back to square one! Warcraft III is UNSAFE again!!!

Status
Not open for further replies.
Level 12
Joined
Mar 13, 2012
Messages
1,121
Preload exploit is one of the best modding tools wc3 has to offer,

We should be clear here. The "exploit" is doing malicious things with the preload natives, not that you are generally able to create files.

If the natives allow only paths within the currently started war3.exe and only file type .pld is allowed to be written (and overwritten) there should be nothing left to exploit.
 
Level 9
Joined
Jul 30, 2012
Messages
156
really? :ogre_frown:
Windows has a permanent startup folder for all users. :ogre_haosis:

WINXP
DISK:\Documents and Settings\All Users\Start Menu\Programs\Startup
WIN7+
DISK:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

:ogre_rage: Preload exploit much more dangerous than code execution.

You can only write to that folder if WC3 is running as administrator (unfortunately, Garena and some other clients do that).

And this doesn't mean that it is "more dangerous" than code execution. It might be easier to use (everyone knows how to make a .bat), but code execution is much more powerful. And also some antivirus detect .bat files in the user's startup folder, but they won't detect malicious code running inside the WC3 process.

Preload exploit is one of the best modding tools wc3 has to offer

Memory reading and writing is the best of the best tools in WC3 modding that can ever be made. I have already written a large api in pure JASS to take advantage of the ability to read and write memory. Basically I can read and modify any property of any object in the game (unit armor, ability cooldown, manacost, anything).

The only bad thing is that memory access is also a security risk for the user. But hey, so is the preload exploit, and everyone uses it in their maps! I've been thinking, why do I need to keep a secret of this thing at all? Why can't we simply turn WC3 into a native-code custom game engine?

After all, a map with a virus inside is no different than a true .exe virus. Every user is responsible for what they download into their computer. So we just need to tell them to never join custom maps they don't already have, and only download maps from trusted sources.
 
Level 12
Joined
Mar 13, 2012
Messages
1,121
Why can't we simply turn WC3 into a native-code custom game engine?
Because Blizzard offers wc3 as a product to people of all ages. Those have to be guaranteed safety when using it.
Getting your computer wrecked because of joining a custom map is not considered safe.
 
Level 19
Joined
Dec 12, 2010
Messages
2,069
what? windows is also a product to people of all ages, and billion viruses flying on win. that's not how you gonna defend that. not to speak, wc3 itself isn't provide any kind of warranty. just like normal EULA, blizzard have no responsibility for whatever happens with user's pc
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
I imagine despite their terms and services, they could be held liable if your harddrive was formatted as a result of blizzard being unable to patch/prevent such exploit of their software. You are always responsible for your software, mainly when its commercial(last time I checked, they still werent handing out free copies so it is still commercial product)
 
Actually , Warcraft can exploit viruses when J4L wrote the Infest function, which writes a file to be executed by the computer on startup and download a file from the given address. IDK if this is fixed but if it is not, Blizzard has to fix this 2 exploits.

as for the case of J4L, I think Blizzard can't fix it because the only way to fix it is to remove the Preload functions themselves.

C2I is now the problem that needs to be prioritized because it is much easier to write and manipulate.
 
as for the case of J4L, I think Blizzard can't fix it because the only way to fix it is to remove the Preload functions themselves.
I actually talked to a blizz employee about this and we came to the conclusion that instead of fixing the Preload functions directly, it was way easier to just restrict PreloadGenEnd() to relative paths. This way, we can still write files on the HDD like we used to (for debug logs or savecodes), but can no longer inject files into system critical folders or Autorun.

Which is a quick and easy fix that removes the ability to do harm with preload without breaking the good things.

C2I is now the problem that needs to be prioritized because it is much easier to write and manipulate.
Agreed. But here's the catch: if we can use it to read out game data, Blizzard can do it aswell. Which means that natives to access unit and ability stats could be easy to implement.
 
Level 19
Joined
Dec 12, 2010
Messages
2,069
do you really think they can do better than we did?
iNIX.png

NUuF.png
 
Status
Not open for further replies.
Top