Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: What to do with Executable Code
What to do with Executable Code
Aug 2 2014, 5:50 pm
By: jjf28  

Aug 5 2014, 4:10 am Moose Post #21

We live in a society.

Quote from jjf28
1. Direct integration with maps - this is quite dangerous as it involves teaching people exactly how to run executable code, this would also have a very high difficulty level for mappers, and add significant startup time and would add ~500kb to every map.
This sounds inefficient given the relatively large increase in map filesize, since it's difficult enough to get 500KB+ maps to spread. Is this in general or would simple things not significantly increase map size (ie, I can do a few simple enhancements for roughly the size of a few triggers)?

Quote
2/3
This sounds close to getting everyone to agree to run an agreed on mod of SCBW, but using battle.net directly as a distribution system. It has its advantages.

Quote from jjf28
4. Bury it, pretty sure only me and yoon figured it out, could just forget we ever found it.
Too late.

Quote from jjf28
- EUDs, could easily have been abused, no incidents that I know of occurred.
True, but when discovered, progress on EUD actions that have could have been used maliciously was greatly impeded by the series of patches 1.13-1.13e. (and probably 1.13f, but that actually took a few months. Not sure if a new EUD discoveries took roughly as long during that time) From the timeline:
June 30, 2005: StarCraft Patch 1.13 is released, beginning a series of patches that are speculated to have corresponded directly to Heinermann's discoveries.
August 11, 2005: StarCraft Patch 1.13b is released.
August 22, 2005: StarCraft Patch 1.13c is released.
September 6, 2005: StarCraft Patch 1.13d is released.
September 12, 2005: StarCraft Patch 1.13e is released.

The people who would abuse the power may simply not have had the time, and by the time they got something out, it may have been patched.

Quote from jjf28
This is assuming we're playing a public game, with clans and friend groups it's usually friend X who doesn't feel like grabbing CL since they're lazy, don't like 3rd party programs, or think it's too difficult to use, now he can just enter one map (like how many people do lat breaks) then play the modded map with everyone else, and ideally people gradually choose the untethered-patch, when they're tired of applying the tether; if a few private communities get addicted to maps using the patch then games might start going public, and the patch map could be publicly hosted 24/7 so other people can get in on the games.
I feel as though this would have happened with modding already.

Quote from jjf28
or by contacting blizzard (for which I would urge also providing maximum details on how to fix ASTAT flood, hosthack, and drophack) before a malicious individual gets a hold of it.
If only.

Quote from jjf28
Agree'd, I don't think anyone hates themselves enough to destroy battlenet,
You'd be surprised how petty people can be, for example anyone who used the game list flood script to temporarily render entire gateways near unplayable.

Quote from Zoan
Does anyone from blizzard ever come around on SEN? If so, or maybe just to decrease the likelihood of other people discovering what you have, should you maybe like.. not discuss this so openly? Like maybe (if sen can do this) make it so that only those invited can see what you're talking about here? I'd hate for blizzard to patch this stuff away (if they could.. I don't know) before anyone gets the chance to use it.
Doesn't seem like it, considering how many simple wonderful things they could do to put some life into the game. Though, notably, exploits have attracted attention in the past, so there is a significant possibility they would care enough to patch a hole as big as this. EUD actions were patched after attracting quite a bit of attention, ten days after that were released. (1.13 - 1.13f) This ultimately led to a drawn out patch "battle" between Blizzard and SEN's (primarily Heinermann's) developments. However, it is worth noting that this was almost ten years ago, in 2005, which is why a Blizzard patch may not be as probable.




Aug 5 2014, 6:13 am O)FaRTy1billion[MM] Post #22

👻 👾 👽 💪

Quote from Mini Moose 2707
Quote from jjf28
1. Direct integration with maps - this is quite dangerous as it involves teaching people exactly how to run executable code, this would also have a very high difficulty level for mappers, and add significant startup time and would add ~500kb to every map.
This sounds inefficient given the relatively large increase in map filesize, since it's difficult enough to get 500KB+ maps to spread. Is this in general or would simple things not significantly increase map size (ie, I can do a few simple enhancements for roughly the size of a few triggers)?
I'm not sure about after any sort of obfuscation/whatever, but the triggers should be highly compressible making it a much more reasonable size (<100kb).



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Aug 5 2014, 11:44 am Cinolt Post #23



Quote from Mini Moose 2707
This sounds inefficient given the relatively large increase in map filesize, since it's difficult enough to get 500KB+ maps to spread. Is this in general or would simple things not significantly increase map size (ie, I can do a few simple enhancements for roughly the size of a few triggers)?

I got a map size of 143KB, and this is before I care to do trigger optimizations and CHK optimizations.



None.

Aug 6 2014, 6:33 am Sand Wraith Post #24

she/her

I suggest private servers. Avoid any detection from Battle.net while also applying your own DLL changes/enabler through the server, which has been done if I read correctly.

Post has been edited 1 time(s), last time on Aug 6 2014, 6:39 am by Sand Wraith.




Aug 6 2014, 10:42 pm jjf28 Post #25

Cartography Artisan

Quote
I suggest private servers. Avoid any detection from Battle.net while also applying your own DLL changes/enabler through the server, which has been done if I read correctly.

That's not really a way to apply map-based exe code, but it would be nice to have a popular private English server



TheNitesWhoSay - Clan Aura - github

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Aug 7 2014, 12:13 am Jack Post #26

>be faceless void >mfw I have no face

Quote from jjf28
Quote
I suggest private servers. Avoid any detection from Battle.net while also applying your own DLL changes/enabler through the server, which has been done if I read correctly.

That's not really a way to apply map-based exe code, but it would be nice to have a popular private English server
Like iCCup and the upcoming StarServer, of which I'm one of the developers?



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Aug 7 2014, 1:40 am iCCup.xboi209 Post #27



Quote from Sand Wraith
I suggest private servers. Avoid any detection from Battle.net while also applying your own DLL changes/enabler through the server, which has been done if I read correctly.
It has been done but it seems that you've skipped my post. In order for a server to send dll files to the client, the file must be cryptographically signed with a private key which we don't have and probably won't have for a very very long time and if not, will never have.
Battle.net doesn't use Warden anymore so players can't be detected for playing on these maps.



None.

Aug 7 2014, 4:50 am Veta Post #28



Quote from Jack
Quote from jjf28
Quote
I suggest private servers. Avoid any detection from Battle.net while also applying your own DLL changes/enabler through the server, which has been done if I read correctly.

That's not really a way to apply map-based exe code, but it would be nice to have a popular private English server
Like iCCup and the upcoming StarServer, of which I'm one of the developers?
Interestingly, this was something I had asked about a while back: integrated EUD/expansion patches.

And now it seems to be possible.

I can't help but wonder though; wouldn't all this brain power go to better use remaking StarCraft with better features and on a more capable engine?

A while back some ex-modders remade WarCraft II (barring IP infringement) for html and had laudable success. I would imagine that success achieved many times over for a true starcraft-like.

It seems like a business opportunity, gentlemen.



None.

Aug 7 2014, 4:51 am trgk Post #29



+ about lockdown.dll : I've mistaken, maybe. Fish server may had used different methods to enforce/disable EUD actions.

Clarification
------------------
Private server once enabled EUD actions for everyone. That's all I know of.
Private server once had disabled programs modifying SC. (EUD Action Enabler had been disabled, too) I've experienced them.

I don't know how exactly those worked. I didn't knew ollydbg then, and I couldn't reversed them.



Add
----
Attached lockdown.mpq from Fish server and Asia.
Fish server apparently uses custom lockdown.dll. I don't know how to verify signature of those dlls, however.

Attachments:
lockdown_comparison.zip
Hits: 2 Size: 154.63kb

Post has been edited 5 time(s), last time on Aug 7 2014, 7:17 am by trgk.



EUD

Aug 7 2014, 10:36 pm iCCup.xboi209 Post #30



Thanks to Tianyi HE(I don't know who he is but he definitely deserves credit), the private key for Blizzard's Weak Digital Signature was cracked and code has been published to sign mpq files.



None.

Aug 8 2014, 7:43 pm Cinolt Post #31



So, just to give a little update.

I've updated my map/program such that one would literally only have to add DLL(s) into the map using an MPQ Editor, and the map will load those DLL's when it is played (i.e. ANYTHING is possible). I'm not going to release it, of course, but it's just to show how easy malicious code could be run if it went viral (not to mention certain hacks I remember where you can "hijack" a room by forcing the players in the lobby to download a map different from the one being hosted, or "mimicking" maps by giving a similar appearance in the lobby e.g. force names, map name, etc).

This could easily be patched by Blizzard, but since they don't care anymore here's some effort on my part for preventing this. It is a "hack" that I'm calling MapCheck for now. It's sole purpose is to "check" maps in the lobby before they are played for extended preplaced units in the map, and informs the user accordingly. The rationale behind this is that doing a blatant "patch" on the overflows will only cause desyncs in such maps, and most maps use the overflows for harmless purposes (p15 speedup trick, p20 terrain trick, extended supply, etc). So, the hack only "checks" the map and it is up to the user to decide whether to play it or not. It's still very preliminary, and is very possible to conflict with other "hacks" or "mods" (as is the nature of them), but will serve fine for anyone that is paranoid of this overflow. Here it is: http://www.staredit.net/files/2980/.

On a personal note this exploit was pretty fun to develop. Though it probably ruined mapping for me because my previous mapping mentality was to push mapping to its utmost limits and finding out what's absolutely possible, and now we know literally anything is possible. So, I dunno what jjf28/trgk have planned as far as releasing this exploit, but I probably won't take part of it.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
[2024-4-17. : 1:52 am]
Vrael -- hah do you think I was born yesterday?
[2024-4-17. : 1:08 am]
O)FaRTy1billion[MM] -- i'll trade you mineral counts
[2024-4-16. : 5:05 pm]
Vrael -- Its simple, just send all minerals to Vrael until you have 0 minerals then your account is gone
[2024-4-16. : 4:31 pm]
Zoan -- where's the option to delete my account
[2024-4-16. : 4:30 pm]
Zoan -- goodbye forever
Please log in to shout.


Members Online: Roy, Judcfrffvf