Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: Writing to SC's memory with extended units!
Writing to SC's memory with extended units!
Aug 7 2012, 3:17 am
By: Biophysicist
Pages: < 1 « 4 5 6 7 810 >
 

Sep 1 2012, 2:36 am Kaias Post #101



Quote from KingOfKings
I had a great idea for testing unit IDs.
We would need a bot maker, preferably who has access to a winbot source code.
Configuration involves path to starcraft executable and path to the starcraft map file name
The bot starts a game with the specified file name and detects whether starcraft crashes or not and records this onto a list with two sections, one for crash one for success
It could also be separated by player
preferably the bot would test on multiple player numbers or a single specified player number
after the test it leaves the game if it hadn't crashed and adds 1 to the unit ID in w/e way would be easiest (mouse/keyboard emulation or if a simple editor can be used)
it then rinses and repeats. I have no idea if this is feasible, but if it is, it would certaintly improve the effeciency and capability of EUPs.
If anyone uses this idea, please let me know. I will be posting this on bnetweb as well and if there is a response I will post it here. I will link their thread to this one as well.
BNETWEB THREAD: http://www.bnetweb.org/threads/starcraft-eups.9298/
I already have a an Autohotkey script that does this (thanks to yoonkwun) and tested about a thousand addresses this way before I lost interest in it.



None.

Sep 1 2012, 2:46 am KingOfKings Post #102



Quote from Kaias
Quote from KingOfKings
I had a great idea for testing unit IDs.
We would need a bot maker, preferably who has access to a winbot source code.
Configuration involves path to starcraft executable and path to the starcraft map file name
The bot starts a game with the specified file name and detects whether starcraft crashes or not and records this onto a list with two sections, one for crash one for success
It could also be separated by player
preferably the bot would test on multiple player numbers or a single specified player number
after the test it leaves the game if it hadn't crashed and adds 1 to the unit ID in w/e way would be easiest (mouse/keyboard emulation or if a simple editor can be used)
it then rinses and repeats. I have no idea if this is feasible, but if it is, it would certaintly improve the effeciency and capability of EUPs.
If anyone uses this idea, please let me know. I will be posting this on bnetweb as well and if there is a response I will post it here. I will link their thread to this one as well.
BNETWEB THREAD: http://www.bnetweb.org/threads/starcraft-eups.9298/
I already have a an Autohotkey script that does this (thanks to yoonkwun) and tested about a thousand addresses this way before I lost interest in it.
Link please?



None.

Sep 18 2012, 12:54 pm Heinermann Post #103

SDE, BWAPI owner, hacker.

There are (in theory) ways to "fix" some crashing extended units by modifying other data, so I don't recommend testing IDs blindly.
It will also be handy to record all other writes that occur, so then prediction will be easier. After all, I have probably the most labelled mapping of Broodwar memory which I'll share some time.

As a sidenote, it would be cool if Blizzard DID patch this, would be nice to see an update for Broodwar again. The problem is that it would be half-assed though.




Sep 19 2012, 8:32 am Lanthanide Post #104



Have you seen this Heinermann? http://www.codeofhonor.com/blog/tough-times-on-the-road-to-starcraft Might give you a bit of background into that spaghetti code of their's.



None.

Sep 21 2012, 1:13 am Heinermann Post #105

SDE, BWAPI owner, hacker.

That's hot.

Quote
Among its many features, storm contained an excellent implementation of doubly-linked lists using templates in C++.
As predicted. >:)
I'll get around to implementing this in our re-creation of Storm for BWAPI.

Post has been edited 1 time(s), last time on Sep 21 2012, 1:19 am by Heinermann.




Sep 21 2012, 1:47 am Lanthanide Post #106



If you read his follow up blog, he provides code that should be very similar to what storm actually uses.



None.

Sep 21 2012, 2:01 am Heinermann Post #107

SDE, BWAPI owner, hacker.

Actually, I am grabbing EVERY little hint he is providing in ALL of the comments in the comment section.
I want to read everything this guy has.

This is the new priority, get hints on how things were done.




Sep 21 2012, 2:06 am Lanthanide Post #108



You could try emailing him and seeing how willing he'd be to share.



None.

Sep 21 2012, 2:25 am Heinermann Post #109

SDE, BWAPI owner, hacker.

I posted a comment, I'm too scared to email him. :x




Sep 21 2012, 5:04 am O)FaRTy1billion[MM] Post #110

👻 👾 👽 💪

There was already a comment posted before asking for the source that he ignored. He answered my comment about in-house tools and doodle's comment about iscript.bin. :P



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!

Sep 23 2012, 6:04 am Kimaru2 Post #111



Quick question on the original discussion of this topic: this method of killing Vespene Tanks works for increasing maximum upgrade levels. Is there any way to raise an upgrade by 1 when something is killed? For example, can I raise P1's Terran Infantry Weapons current upgrade by 1 for killing a Vespene Tank owned by a certain player? I would like to use this for the Unused Upgrade #60 in DatEdit.



None.

Sep 23 2012, 2:42 pm Heinermann Post #112

SDE, BWAPI owner, hacker.

I don't think so, since "Upgrade 60" is the 61st upgrade, it isn't aligned to a 4-byte block boundary (needed for the trick to work).
You can use it on upgrades that are aligned though.




Sep 23 2012, 6:23 pm Kimaru2 Post #113



Hmm, so how would I make it so that P1's Terran Infantry Weapons is incremented by 1, not the maximum upgrade though. The Current upgrade level.



None.

Sep 23 2012, 6:57 pm Roy Post #114

An artist's depiction of an Extended Unit Death

http://farty1billion.dyndns.org/euddb/?pg=entry&id=413
http://farty1billion.dyndns.org/euddb/?pg=ref&a=upgs

http://www.staredit.net/topic/15378/


http://www.staredit.net/336082/

If you want to do it dynamically, you'll need to find a working "DeathId" from that list, or see if one of the PlaceIds work for that first entry (because then you could give the unit to and from P4 to increase Player 1's upgrade).

Post has been edited 1 time(s), last time on Sep 24 2012, 11:19 pm by Roy.




Sep 24 2012, 10:09 am Kimaru2 Post #115



Hm, so for SC upgrades, the formula is 46 * player + offset, and for BW it's the same but 15 instead of 46. I would need to use the 15 because my target is Unknown Upgrade #60. So I plugged this into one of the address formula for P1 #60 upgrade: 5821104+15*(1-1)+14=5821118
Then I plugged this into this formula: 5821118=4*Player+48*UnitID+5787104, But when I plugged in 12 for Player (or any number for that matter), I kept getting a non-integer for UnitID. Does this mean that there are no IDs that would work to increase Upgrade #60?



None.

Sep 24 2012, 7:03 pm jjf28 Post #116

Cartography Artisan

Assuming that the address "5821118" is correct, yes, there are no integer solutions and thus no feasible combination of ID/player that would get the desired effect.

Going beyond what's feasible, you could possibly edit the address if it was on the 2nd byte using 256*amount you wish to change the address by, but you'd hit unit max very fast, there's probably no real use for doing this.



TheNitesWhoSay - Clan Aura - github

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

Sep 24 2012, 8:03 pm Kimaru2 Post #117



I'm referring to the BW offset here: http://farty1billion.dyndns.org/euddb/?pg=ref&a=upgs. So that would mean that 5821118 is correct...but are there other formulas that can get me a working unit ID?



None.

Sep 24 2012, 8:20 pm Kaias Post #118



Quote from jjf28
Assuming that the address "5821118" is correct, yes, there are no integer solutions and thus no feasible combination of ID/player that would get the desired effect.

Going beyond what's feasible, you could possibly edit the address if it was on the 2nd byte using 256*amount you wish to change the address by, but you'd hit unit max very fast, there's probably no real use for doing this.
Theoretically, you could change the player of the EUP units with other EUP units, and so be able to add as much to any value as you want (at most the number of units you have per loop). Not really practical, especially if you want to change the value rapidly, but worth thinking about.



None.

Sep 24 2012, 8:25 pm jjf28 Post #119

Cartography Artisan

Quote from Kimaru2
...but are there other formulas that can get me a working unit ID?
Simply put: No


What I can tell you with certainty is that none of these will feasibly serve your purposes with the known methods as they are currently used (kill, death, give).
Code
Address=4*Player+48*UnitID+5787104 The number of completed UnitID owned by Player.
Address=4*Player+48*UnitID+5776160 The total number of UnitID owned by Player.
Address=4*Player+48*UnitID+5808992 The number of deaths of UnitID suffered by Player.
Address=4*Player+48*UnitID+5798048 The number of UnitID that Player has killed.


There may be a method to write to 1 specific byte of an address rather than to a block 4 bytes, possibly by modifying the methods found here, but such a method is not documented/known.

Quote
Theoretically, you could change the player of the EUP units with other EUP units, and so be able to add as much to any value as you want (at most the number of units you have per loop). Not really practical, especially if you want to change the value rapidly, but worth thinking about.

Yeah, me and bio were working on something like that, mostly with irrad pointers, but results were bogarted by crashes.



TheNitesWhoSay - Clan Aura - github

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

Nov 6 2012, 7:22 pm Mouse Post #120



Would this work in multiplayer? I'm thinking of making a map with 8 people and each one has a Probe, and I was wondering if I could change an SCV so it can build Protoss buildings for all 8 people. Is it possible?



None.

Options
Pages: < 1 « 4 5 6 7 810 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:53 am]
Ultraviolet -- :lol:
[06:51 pm]
Vrael -- It is, and I could definitely use a company with a commitment to flexibility, quality, and customer satisfaction to provide effective solutions to dampness and humidity in my urban environment.
[06:50 pm]
NudeRaider -- Vrael
Vrael shouted: Idk, I was looking more for a dehumidifer company which maybe stands out as a beacon of relief amidst damp and unpredictable climates of bustling metropolises. Not sure Amazon qualifies
sounds like moisture control is often a pressing concern in your city
[06:50 pm]
Vrael -- Maybe here on the StarEdit Network I could look through the Forums for some Introductions to people who care about the Topics of Dehumidifiers and Carpet Cleaning?
[06:49 pm]
Vrael -- Perhaps even here I on the StarEdit Network I could look for some Introductions.
[06:48 pm]
Vrael -- On this Topic, I could definitely use some Introductions.
[06:48 pm]
Vrael -- Perhaps that utilizes cutting-edge technology and eco-friendly cleaning products?
[06:47 pm]
Vrael -- Do you know anyone with a deep understanding of the unique characteristics of your carpets, ensuring they receive the specialized care they deserve?
[06:45 pm]
NudeRaider -- Vrael
Vrael shouted: I've also recently becoming interested in Carpet Cleaning, but I'd like to find someone with a reputation for unparalleled quality and attention to detail.
beats me, but I'd make sure to pick the epitome of excellence and nothing less.
[06:41 pm]
Vrael -- It seems like I may need Introductions to multiple companies for the Topics that I care deeply about, even as early as Today, 6:03 am.
Please log in to shout.


Members Online: Roy