Staredit Network > Forums > Modding Assistance > Topic: Need help figuring out unknowns
Need help figuring out unknowns
May 14 2011, 12:41 am
By: iCCup.xboi209  

May 14 2011, 12:41 am iCCup.xboi209 Post #1



~unknowns\unknown_0000030d
~unknowns\unknown_00000481
~unknowns\unknown_000004d9
~unknowns\unknown_000004f7
~unknowns\unknown_000005e1
~unknowns\unknown_0000074c
~unknowns\unknown_00000802
~unknowns\unknown_00000828
~unknowns\unknown_00000909
~unknowns\unknown_00000acf
~unknowns\unknown_00000cfc
~unknowns\unknown_00000d7c
~unknowns\unknown_00000db7
idk if I need to give you the mpq file or not but those are the unknowns



None.

May 14 2011, 1:15 am Dem0n Post #2

ᕕ( ᐛ )ᕗ

Download these list files and add them to winmpq. Go to Options >> File Lists and click on "Add Files." I think that should fix it.




May 14 2011, 2:03 am iCCup.xboi209 Post #3



it's from sc1 beta, not today's mpq



None.

May 14 2011, 2:12 am Dem0n Post #4

ᕕ( ᐛ )ᕗ

Oh, whoops. Well then, I don't know. :P




May 14 2011, 2:15 am iCCup.xboi209 Post #5



It's ok



None.

May 14 2011, 2:27 am Heinermann Post #6

SDE, BWAPI owner, hacker.

See http://www.zezula.net/en/mpq/namebreak.html .
There is a Download link under the Listfiles section.
It also mentions the number of unknowns remaining or if the listfile is complete.




May 14 2011, 2:44 am iCCup.xboi209 Post #7



Hey it doesn't even clear one of the unknowns

Post has been edited 3 time(s), last time on May 14 2011, 3:59 am by xboi209.



None.

May 14 2011, 4:33 am Heinermann Post #8

SDE, BWAPI owner, hacker.

Then you didn't use it properly. There are only 2 unknowns and that's in Install.exe.
I'm assuming you're talking about one of the standard Starcraft MPQs.




May 14 2011, 5:10 am iCCup.xboi209 Post #9



This is sc beta im talking about



None.

May 14 2011, 7:53 pm Heinermann Post #10

SDE, BWAPI owner, hacker.

Oh sorry, I didn't read it fully.
Looked at the formats a bit and...

Code
~unknowns\unknown_0000030d.pcx
~unknowns\unknown_00000481 (possibly .trg)
~unknowns\unknown_000004d9.pcx
~unknowns\unknown_000004f7.wav
~unknowns\unknown_000005e1
~unknowns\unknown_0000074c.wav
~unknowns\unknown_00000802.wav
~unknowns\unknown_00000828.pcx
~unknowns\unknown_00000909.grp
~unknowns\unknown_00000acf.pcx
~unknowns\unknown_00000cfc.pcx
~unknowns\unknown_00000d7c
~unknowns\unknown_00000db7.wav


Without actually checking in detail, can't exactly know what they are called. But I'm assuming there are no references to them. Meaning using brute force to identify the names would be the only way.

Post has been edited 3 time(s), last time on May 14 2011, 8:04 pm by Heinermann.




May 14 2011, 8:39 pm iCCup.xboi209 Post #11



that grp file is the one i might need along with the wavs, ill try and brute force them i guess



None.

May 14 2011, 10:33 pm Heinermann Post #12

SDE, BWAPI owner, hacker.

It seems the order they're in is alphabetical, so it's easy to narrow it down, however the brute force algorithm is quite slow and GUI not very intuitive.

Here are the ones I've recovered so far:
Code
glue\battle.net\generic\icons\but_radio.pcx
sound\bullet\shockcnn.wav
triggers\greed.trg
unit\terran\tghcloak.grp
tileset\badlands\yellow.pcx





May 14 2011, 10:41 pm iCCup.xboi209 Post #13



thanks heinermann, more if you can though



None.

May 14 2011, 11:01 pm Heinermann Post #14

SDE, BWAPI owner, hacker.

Code
sound\terran\marine\tmapss00.sfk

Only 7 unknowns left, but I'm getting bored of this so you will have to do the rest yourself.




May 14 2011, 11:35 pm iCCup.xboi209 Post #15



Can you give me instructions how to brute force then?



None.

May 15 2011, 4:56 pm Heinermann Post #16

SDE, BWAPI owner, hacker.

Using Ladik's MPQ Editor (found on the site linked earlier), there is a "Name Breaker..." option under Tools.


Right click anywhere in the list, and click "Next Unknown" or "Previous Unknown" to allow you to iterate through the unknowns.


Right click on the entry and click "Detect..." or click on "Detect name ..." in the bottom right.


Since the entry in my example is a pcx, and is between two "glue\battle.net\icons\" entries, we know that the entry is called "glue\battle.net\icons\*.pcx".
In the name breaking window, the "Folders" represent a prefix, and the "Extensions" represent a suffix.
We know that the entry is alphabetically ordered between "cmmr" and "difficulty", so the first letter must either be c or d. I have chosen to include these letters in my prefix.
You may also want to eliminate or include characters that might be part of the file name using the "Characters..." button.
Here is a screenshot of my options.


The name breaker will then iterate each entry and notify you of its progress.


If you can't find a name, then you can do some research to get an idea of what the image is called.
For example, if we expand the attributes and look at the "Hash #", it corresponds to one of our unknown files.


If we open it we see...

... DIABLO?!?!?

Well... let's try something out.
We know that the word "Diablo" comes before "downloads" and after "cmmr" alphabetically.


Still... No luck, but I'm convinced the name begins with "glue\battle.net\icons\diablo".




May 15 2011, 8:20 pm iCCup.xboi209 Post #17



Well for an example, if I knew the extension and I know the name starts with a T and ends with a shad, is there a way I can tell the name breaker to find what's in between?



None.

May 15 2011, 9:51 pm Heinermann Post #18

SDE, BWAPI owner, hacker.

For extension instead of selecting what's in the list, type in "shad.grp" or whatever the name is.
For prefix do what I did in the example.

EDIT:
Decided to start my own brute forcer.
Comparison (mm:ss):
MPQ Editor Name Breaker tool
6 digits: 01:03

Heinermann's Commandline Brute Force
6 digits: 00:04
7 digits: 01:31

Still todo:
  • Name range restrictions (Will significantly improve performance by narrowing the search scope)
  • First-digit precalculations (+1 digits with almost same amount of time)
  • Multi-threading (Make use of multi-core systems to greatly decrease time required)
  • Final optimization (Loop unfolding etc.)


Post has been edited 2 time(s), last time on May 15 2011, 11:46 pm by Heinermann.




May 16 2011, 4:25 am iCCup.xboi209 Post #19



Wait you mean you're making your own brute force program specifically for this? Make a beta with multi threading and put me in it :omfg:



None.

May 18 2011, 6:22 pm Heinermann Post #20

SDE, BWAPI owner, hacker.

Oops, I completely forgot... first-digit precalculation can't be done in this case, since the prefix must be calculated beforehand.

Todo:
  • Name range restrictions (Will significantly improve performance by narrowing the search scope)
  • First-digit precalculations (+1 digits with almost same amount of time) (Can't be done)
  • Multi-threading (Make use of multi-core systems to greatly decrease time required)
  • Final optimization (Loop unfolding etc.)

Sample of unfinished name-range restriction (7 characters, time in min:sec:ms):
Code
C:\MPQHashForce\Release>mpqhashforce f128701a 22e301cb glue\battle.net\icons\ .pcx redlag spwnport
Found name: glue\battle.net\icons\SPECIAL.PCX
Total Time: 0:05:211
HashB calculations: 1

That's only 5 seconds compared to the full 91 seconds.

Thing I still need to do in order to complete the name-range feature is to split the algorithm into two parts; one that includes the restriction and one that doesn't, because when we iterate through "redlag", the 7th character which is not specified can be anything, so we can ignore the restrictions and improve performance by iterating without the code needed to restrict it. It will have a larger impact when we increase the maximum character limit.

EDIT:

I have completed what I mentioned above as well as multithreading.
Sample:
Code
C:\MPQHashForce\Release>mpqhashforce f128701a 22e301cb glue\battle.net\icons\ .pcx redlag spwnport
Finished thread 1 (0:01:779).
Finished thread 0 (0:01:857).
Found name: glue\battle.net\icons\SPECIAL.PCX
Total Time: 0:02:013
HashB calculations: 1


That's 2 seconds.


Todo:
  • Name range restrictions (Will significantly improve performance by narrowing the search scope)
  • First-digit precalculations (+1 digits with almost same amount of time) (Can't be done)
  • Multi-threading (Make use of multi-core systems to greatly decrease time required)
  • Final optimization (Loop unfolding etc.)

Benchmark (no hits)
8 characters - 29 seconds
9 characters - 5 hours and 28 minutes

Post has been edited 3 time(s), last time on May 19 2011, 2:51 am by Heinermann.




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[03:27 am]
m.0.n.3.y -- Maybe because it's an EUD map?
[03:27 am]
m.0.n.3.y -- Can't upload maps to the DB. Error says "The action you have performed caused an Error". Any word?
[07:46 am]
RIVE -- :wob:
[2024-4-22. : 6:48 pm]
Ultraviolet -- :wob:
[2024-4-21. : 1:32 pm]
Oh_Man -- I will
[2024-4-20. : 11:29 pm]
Zoan -- Oh_Man
Oh_Man shouted: yeah i'm tryin to go through all the greatest hits and get the runs up on youtube so my senile ass can appreciate them more readily
You should do my Delirus map too; it's a little cocky to say but I still think it's actually just a good game lol
[2024-4-20. : 8:20 pm]
Ultraviolet -- Goons were functioning like stalkers, I think a valk was made into a banshee, all sorts of cool shit
[2024-4-20. : 8:20 pm]
Ultraviolet -- Oh wait, no I saw something else. It was more melee style, and guys were doing warpgate shit and morphing lings into banelings (Infested terran graphics)
[2024-4-20. : 8:18 pm]
Ultraviolet -- Oh_Man
Oh_Man shouted: lol SC2 in SC1: https://youtu.be/pChWu_eRQZI
oh ya I saw that when Armo posted it on Discord, pretty crazy
[2024-4-20. : 8:09 pm]
Vrael -- thats less than half of what I thought I'd need, better figure out how to open SCMDraft on windows 11
Please log in to shout.


Members Online: Roy, lil-Inferno