DarkBlizz

Battle.net R&D => Research => Starcraft II Beta => Topic started by: Laer07 on February 20, 2010, 07:23:51 PM

Title: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 07:23:51 PM
Hey guys,

I have been following this effort to crack the beta for two days now, and I'd like to get involved. Forgive me as I am still new to this, but I hope you guys will catch me up to speed so I can help out.

So far, my opinion is that it would be possible to allow people to play skirmishes if we could just somehow force the maps to show up in the list. I have been searching up and down for just that, but so far have been unable to find it. I am in the process of downloading the GFX tool, and have already been looking through any and all XML/Text files located in any of the MPQ-like files.

so far the only thing I have found in reference to maps is inside the maps themselves, it has this string:

        <Value>bnet:blizzmaps#blizzmaps/Liberty.SC2Mod,file:Mods/Liberty.SC2Mod</Value>        <Value>bnet:blizzmaps#blizzmaps/LibertyMulti.SC2Mod,file:Mods/LibertyMulti.SC2Mod</Value>

My best guess would be that the actual code that specifies where to look for the map files would be in the battle.net.dll. Do you guys have a tool that allows you to crack that one open and look at the source?

Thanks for your help, looking forward to working with you.

Laer
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 07:30:20 PM
Well, I just joined today also, but I know that you can open the map files with MPQ extractor, and you get all the programming and ++ files needed. I think that directory for the maps folder goes in to Program Files\Starcraft II Beta\Maps. However, I tried this, yet it stilled doesn't show up on the list. If you got any more info on the strings then it would be helpful to actually let it come up on the Starcraft 2 Multiplayer Maps list.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 07:37:02 PM
Also, Sorry for the Double Post, but you can open *.dll files using resource hacker. I got inside the actuall dll file, but It looks like all there is are strings, and I think you can put the code in from the maps. I don't know how to do that though, cause one typo can screw up the whole beta game.
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 07:43:03 PM
The popular opinion seems to be that starcraft 2 is looking at the Bnet servers for the map files. If that is the case, it wouldn't matter where we put our map files, it still wouldn't find it.

We have two options in this case:

One, create a private server and spoof starcraft into redirecting us to that server to look for map files (in which case we would also probably be able to play multiplayer).

Two, find the location in the code where it is defined to look at the blizzard servers and change that to something like 127.0.0.1/etc/etc...

I haven't been able to find this location yet, which is what I'm looking for. I have a suspicion that it is located in the battle.net.dll file. We would need to decompile it, change it, and then recompile it and distribute it. That wouldn't too hard, if you guys had a good decompiler handy  :) .

By the way: has anyone had any success with using the GFX tool to open the menu files, and seen if there is any scripting on them? I ask because its possible the parameter we need to change is located on the actual button itself, though that's unlikely.

Edit: Microman: what program are you using? Resource Hacker? Where can I find that. I'd like to play with my dll file if I could find a good decompiler.

Edit 2: nevermind I found it. Thanks  :)
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 07:48:42 PM
If you want to edit the actual buttons, then download a handy tool called MPQ extractor. Google it, and click on the first link, and you should get the Lame MPQ archiveror something after running. Click Open MPQ archive (or something), browse through Program Files\Starcraft II Beta\Battle.net and click on Battle.net.mpq. There click on images, then you can edit the actual buttons, but the functionality would be hard to consider otherwise.
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 07:53:59 PM
@Microman:

Yea, I have an MPQ extractor. I see inside the battle.net.mpq there are several types of images:

png - which we all know and love
dds - which seems to be some kind of compiled image
gfx - this one is the one I want to mess with

Unfortunately, the gfx files can't be opened with just windows photo viewer, because they are actual flash files. As I said I downloaded the GFX tool, but I can't seem to open them. I know you can put scripting inside flash files, so that's why I was curious.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 08:02:41 PM
Ya opening the battle.net.dll file or any other dll file won't do anything. It just shows the vendor information and useless string information. We need something open up .gfx files, but I don't think anything can.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 08:05:23 PM
Where did you download the GFX tool?
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 08:11:53 PM
I got the GFX tool off the wiki under tools:

http://botdev.org/doku.php?id=tools (http://botdev.org/doku.php?id=tools)

You will see 4 links under "Scaleform GFX". You have to download it in parts, which sucks.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 08:15:35 PM
You have it installed, and you said it won't work, so I guess there's no point in downloading it lol.
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 08:18:26 PM
Well, I can't get it working, but I have never really been that great with things like that. Give me source code :)

I think there must be more to the dll file than just the very few strings that we found. I mean, it's like 13 meg, there has to be more to it. I have no experience at all in decompiling dll's, so if you or anyone else could help me with that, I would be glad to give it a try.
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 08:29:44 PM
i uploaded the gfx tool to waffles here: http://waffles.fm/details.php?id=635024 (http://waffles.fm/details.php?id=635024)


just initial seeding but it is one part so possibly more convenient once there are more people.


i too cannot open the gfx files and i also tried to decompile the dll with similar luck. I'm pretty sure that the dll is anti debuger and/or encrypted 
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 08:38:27 PM
I don't think its encrypted. All we need is the source code, since the string is actually viewable.
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 08:39:58 PM
@BeardFist

Yea, good idea about uploading as one part. Much less annoying. Might wanna add that link to the wiki so people know about it.

I'm having similar thoughts about the dll. I have tried several programs to little avail. Any ideas about how we can crack this open? I am almost positive what we need is in there.
Title: Re: Collaboration for a new member
Post by: p-On:E on February 20, 2010, 08:49:36 PM
hey everyone..

first of all im new here too, and i also wanna do something to help.
my programming skills are just basic, so i cant compete with the big guys, but if there is trivial work to do, searching for specific things in some code or something like that, just tell me.

also im in the irc channel under the nickname "howligH", just qry if there is some work to do.

Quote from: Laer07 on February 20, 2010, 07:43:03 PM
The popular opinion seems to be that starcraft 2 is looking at the Bnet servers for the map files. If that is the case, it wouldn't matter where we put our map files, it still wouldn't find it.


so its not 100% sure that this works like mentioned?

what about using stuff like wireshark (programs working like that, dont know if that would be possible with wireshark).. probably you can filter out some network stuff while using an beta-able battlnet account and opening a game...?

if it gets the maps from the server, there should be some infos..?

but im sure the devĀ“s already did smth like that :S
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 08:51:37 PM
well here is unpacked hex: http://www.megaupload.com/?d=RRTZAWIQ (http://www.megaupload.com/?d=RRTZAWIQ)
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 08:56:05 PM
Quote from: Laer07 on February 20, 2010, 08:39:58 PM
@BeardFist

Yea, good idea about uploading as one part. Much less annoying. Might wanna add that link to the wiki so people know about it.

I'm having similar thoughts about the dll. I have tried several programs to little avail. Any ideas about how we can crack this open? I am almost positive what we need is in there.

Tell me which specific dll you wanna crack. Battle.net?
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 09:00:32 PM
battle.net.dll
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 09:01:15 PM
Yep, I wanna crack battle.net.dll (the one in Starcraft II Beta/Versions/Base13891). I opened it in a disassembler, but all I got was gobledegook, so it's possible it is indeed encrypted. (Of course I could just not know what I'm doing...)

@p-On:E

As far as popular opinion: I'm not sure, I haven't been in the dev channels on IRC so I'm not sure about the conversations going on in there.

I'm also not sure about wireshark (dunno what it is).
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 09:05:11 PM
Lol, if we can open it, then it's not encrypted. We can't do anything with the battle.net.dll file, because it just has the version info and everything. We'll need to go somewhere else with this. Even if we do edit the buttons, nothing is going to happen, because we can't do the ++ functioning required for the buttons to work...All though there might be one last resort.
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 09:12:07 PM
does anyone know how to decompile the gfx files? i have the sdk installed but it just opens them in a player...
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 09:17:07 PM
It seems that the .gfx files is an old Warcraft 2 Image file. They must've created .gfx files since Warcraft 2 came out. I've looked everywhere, but I don't think that you can decompile it.
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 09:21:31 PM
no a gfx file is a new file it is a Scalefomr gfx file kinda like flash the wiki says:
Extracting and Decompiling .gfx Files The .gfx files are .swf and .cwf files. To change a gfx file to swf use a hex editor to change the first characters in the file from CFX to CWS or use the GFXASM tool that skips this step. By changing the file name to .swf you can use a decompiler to convert the .swf into a .fla file.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 09:23:36 PM
That's It! We could use a hex editor! GAH! I didn't think of that lol!

EDIT: LOL! NVM!
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 09:37:37 PM
Ok guys, this stuff is way out of line. We can't do this. I quit. LOL. Unless...(Bear with me)

When I was talking about our last resort, I was talking about the debug console in the Co-Op Vs Ai menu. If we could sort of make a command that functions with the debug console, we might be able to open the map then play it. You guys in?
Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 10:07:29 PM
@Microman

I don't think the debug console will be that flexible. I mean, more power to you if you think you can, and please let me know if you get it working. I just have my doubts about the debug console because, after all, it was designed by blizzard for debugging, not hacking.

@BeardFist

Ahh, you are right. Did you pull that off the wiki cuz I could swear I have seen that before. In any case, I will try that and see if I can at least convert one or two to see if scripting is indeed inside GFX files. I have made absolutely no headway on the dll file... If it was encrypted, how would we get around that? Any ideas?
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 10:31:57 PM
no idea about dll files but have converted gfx files just dont have flash so will get that

Title: Re: Collaboration for a new member
Post by: Laer07 on February 20, 2010, 10:47:47 PM
@BeardFist

Cool, let me know if you get one working, and whether there is scripting in them or not.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 10:52:48 PM
How did you manage to convert it?! I tried Gfxasm, but it didn't work..
Title: Re: Collaboration for a new member
Post by: BeardFist on February 20, 2010, 10:56:07 PM
if you hex edit the fist few letters from CFX to CWS and then change the extension to .swf you can use a program called swf decompiler which can export them as fla's


i wont have flash soon too tired but maybe tomorrow so i cant see if i can open them and view code
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 20, 2010, 11:11:03 PM
K ima give it a shot. I hope all this time we gave won't go to vain. Peace.
Title: Re: Collaboration for a new member
Post by: Myst on February 20, 2010, 11:17:37 PM
For those interested in battle.net.dll, don't know if you checked this out already, it may help: http://botdev.org/doku.php?id=battle.net.dll (http://botdev.org/doku.php?id=battle.net.dll)
Suggest also to start other threads in regard to one given topic, so you don't fall into having pages and pages of multiple different things. ;)
Title: Re: Collaboration for a new member
Post by: Haplo on February 21, 2010, 04:13:35 AM
software piracy
#Post Deleted.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 08:36:56 AM
Hmm...There seems to be a problem. I converted it to CWS, yet when I try to open it with SWF decompiler, it says that the file is corrupted. By the way, It says GFX in the hex editor not CFX...I must be doing something wrong.

Quote from: Haplo on February 21, 2010, 04:13:35 AM
Post deleted.

Thanks for the help, but I've already got flash :D
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 08:56:22 AM
Ya..I don't think you can convert it to .swf just by changing the extension. .Swf is actually flash object too, if you didn't know.
Title: Re: Collaboration for a new member
Post by: MADCATX on February 21, 2010, 09:59:47 AM
I decompiled gfx files by changing extension to SWF and editing first 3 letters to CWS with Sothink SWF Decompiler. But there is no usefull code generated:
File Battle.net.MPQ->SWF->Dashboard->PlayGame->WindowMapList.gfx->Action:Dashboard-PlayGame-WindowMapList

// Action script...

// [onClipEvent of sprite 57 in frame 1]
onClipEvent (construct)
{
    disableConstraints = false;
    disabled = false;
    disableFocus = true;
    labelID = "";
    toggle = false;
    visible = true;
}

// [onClipEvent of sprite 58 in frame 1]
onClipEvent (construct)
{
    disableConstraints = false;
    disabled = false;
    disableFocus = false;
    labelID = "";
    toggle = false;
    visible = true;
}

// [onClipEvent of sprite 63 in frame 1]
onClipEvent (construct)
{
    disabled = false;
    offsetBottom = 0;
    offsetTop = 0;
    inspectableScrollTarget = "";
    trackMode = "scrollPage";
    visible = true;
}

// [onClipEvent of sprite 65 in frame 1]
onClipEvent (construct)
{
    disabled = false;
    itemRenderer = "WindowMapList-MapListRenderer";
    margin = 0;
    paddingBottom = 0;
    paddingLeft = 0;
    paddingRight = 0;
    paddingTop = 0;
    inspectableRendererInstanceName = "";
    rowHeight = 0;
    inspectableScrollBar = "m_scrollbar";
    thumbOffsetBottom = 0;
    thumbOffsetTop = 0;
    thumbSizeFactor = 1;
    visible = true;
}

// [Initial MovieClip Action of sprite 79]
#initclip 33
Object.registerClass("Dashboard-PlayGame-WindowMapList", SC2.Dashboard.PlayGame.MapVetoList.WindowMapList);
#endinitclip

// [Action in Frame 1]
stop ();


There is also text files in this file, but they are not usefull too:

<p align="left"><font face="$Font_Title1" size="18" color="#0d75b0" letterSpacing="0.000000" kerning="1">Valley of Judgement</font></p>
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 10:14:05 AM
@ MADCATZ

We're trying to crack the Battle.net.gfx file, not the MPQ file. Thanks for helping anyways.
Title: Re: Collaboration for a new member
Post by: MADCATX on February 21, 2010, 10:55:43 AM
I opened the WindowMapList.gfx not the mpq, there is nothing usefull, it seems that all data is indeed in battle.net.gfx. This file is really huge on scripts, i can send it if you didn't opened it. Some code from file:
_Packeges.Protocol.BSN.Battlenet.S2Map.Statistics

// Action script...

// [Initial MovieClip Action of sprite 20504]
#initclip 25
if (!Protocol.BSN.Battlenet.S2Map.Statics)
{
    if (!Protocol)
    {
        _global.Protocol = new Object();
    } // end if
    if (!Protocol.BSN)
    {
        _global.Protocol.BSN = new Object();
    } // end if
    if (!Protocol.BSN.Battlenet)
    {
        _global.Protocol.BSN.Battlenet = new Object();
    } // end if
    if (!Protocol.BSN.Battlenet.S2Map)
    {
        _global.Protocol.BSN.Battlenet.S2Map = new Object();
    } // end if
    var _loc1 = (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).prototype;
    ASSetPropFlags(_loc1, null, 1);
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_REQUIRED_MODS = 4;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_OPTIONAL_MODS = 4;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_DEPENDENCIES = 10;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_VARIANTS = 32;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_NAME_LENGTH = 80;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_DESCRIPTION_LENGTH = 500;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).BATCH_SIZE = 10;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).BAD_ID = 0;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MIN_MAP_SEARCH_STRING = 3;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_MAP_LOCALES = 50;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAPFILTERTYPE_EVERYTHING = 0;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAPFILTERTYPE_GENRE = 1;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).BAD_VERSION = 0;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).FIRST_VALID_VERSION = 1;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).LINKENTRYTYPE_PRIMARY = 0;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).LINKENTRYTYPE_OPTIONAL = 1;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).LINKENTRYTYPE_DEPENDENCY = 2;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAP_LINK_LIST_SIZE = 100;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).BlizzardLabel = "BLIZ";
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).BlizzardPublisher = "blizzmaps#blizzmaps";
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).MAX_GAMETYPE_VALUE = 7;
    (_global.Protocol.BSN.Battlenet.S2Map.Statics = function ()
    {
    }).FLAGVALUE_FLAG_BANNED = 1;
} // end if
#endinitclip


_Packeges.SC2.Dashboard.CreateGame.MapItemRenderer

// Action script...

// [Initial MovieClip Action of sprite 20538]
#initclip 59
if (!SC2.Dashboard.CreateGame.MapItemRenderer)
{
    if (!SC2)
    {
        _global.SC2 = new Object();
    } // end if
    if (!SC2.Dashboard)
    {
        _global.SC2.Dashboard = new Object();
    } // end if
    if (!SC2.Dashboard.CreateGame)
    {
        _global.SC2.Dashboard.CreateGame = new Object();
    } // end if
    var _loc1 = (_global.SC2.Dashboard.CreateGame.MapItemRenderer = function ()
    {
        super();
        BATTLENET.Singletons.Social.Party.AddListener(this);
        this.m_featuredBackground1._visible = this.m_featuredBackground2._visible = false;
        if (this.hitArea != undefined)
        {
            this.hitArea._visible = false;
        } // end if
        this.doubleClickEnabled = true;
    }).prototype;
    _loc1.setData = function (itemData)
    {
        if (itemData == this.data)
        {
            return;
        } // end if
        super.setData(itemData);
        if (itemData != undefined)
        {
            var _loc4 = new SC2.Containers.Maps.Link(itemData);
            this.m_primaryHandle = _loc4.GetPrimaryHandle();
            SC2.Singletons.Maps.S2Maps.GetS2Map(this.m_primaryHandle.m_id, this.m_primaryHandle.m_version, new LIBRARY.Utilities.Callback(this.setDataCallback, this));
        }
        else
        {
            this.m_primaryHandle = undefined;
            this.SetNormalMode();
        } // end else if
    };
    _loc1.setDataCallback = function (success)
    {
        var _loc3 = success.m_mapInfo;
        var _loc4 = _loc3.m_handle;
        if (this.m_primaryHandle.m_id != _loc4.m_id && this.m_primaryHandle.m_version != _loc4.m_version)
        {
            return;
        } // end if
        this.m_s2MapInfo = _loc3;
        this.SetNormalMode();
        this.PopulateText();
    };
    _loc1.PartyMemberJoined = function ()
    {
        this.SetNormalMode();
    };
    _loc1.PartyMemberLeft = function ()
    {
        this.SetNormalMode();
    };
    _loc1.PartyLeft = function ()
    {
        this.SetNormalMode();
    };
    _loc1.updateAfterStateChange = function ()
    {
        super.updateAfterStateChange();
        this.SetNormalMode();
        this.PopulateText();
    };
    _loc1.PopulateText = function ()
    {
        if (this.data == undefined)
        {
            this.m_name.text = this.m_author.text = this.m_genre.text = this.m_players.text = "";
            this.m_s2MapInfo = undefined;
            return;
        } // end if
        if (this.m_s2MapInfo != undefined)
        {
            var _loc2 = this.m_s2MapInfo.m_maxPlayers;
            if (_loc2 != undefined)
            {
                this.m_players.text = String(_loc2);
            } // end if
            var _loc3 = BattlenetAPI.GetMapHeaderString(this.m_s2MapInfo.m_handle, this.m_s2MapInfo.m_mapName);
            if (_loc3 != undefined)
            {
                this.m_name.text = _loc3;
            } // end if
            var _loc4 = this.CreateGenreListString(this.m_s2MapInfo);
            if (_loc4 != undefined)
            {
                this.m_genre.text = _loc4;
            } // end if
            var _loc5 = this.m_s2MapInfo.m_authorName.m_name;
            if (_loc5 != undefined)
            {
                this.m_author.text = BATTLENET.Utilities.Name.FormatToonName(_loc5);
                this.SetBlizzIcon(this.m_s2MapInfo);
            } // end if
        } // end if
    };
    _loc1.CreateGenreListString = function (mapInfo)
    {
        var _loc3 = SC2.Singletons.Maps.S2Maps.CreateGenreList(mapInfo);
        var _loc4 = new Array();
        var _loc5 = 0;
       
        while (++_loc5, _loc5 < _loc3.length)
        {
            if (_loc3[_loc5].m_visual.length == 0)
            {
                continue;
            } // end if
            _loc4.push(_loc3[_loc5].m_visual);
        } // end while
        return (_loc4.join(", "));
    };
    _loc1.SetBlizzIcon = function (mapInfo)
    {
        if (mapInfo != undefined && mapInfo.m_label == Protocol.BSN.Battlenet.S2Map.Statics.BlizzardLabel)
        {
            this.m_blizzIcon._visible = true;
        }
        else
        {
            this.m_blizzIcon._visible = false;
        } // end else if
    };
    _loc1.SetShowMoreButtonMode = function ()
    {
        this.m_buttonPiece._visible = true;
        this.textField._visible = true;
        this.m_name._visible = false;
        this.m_genre._visible = false;
        this.m_author._visible = false;
        this.m_players._visible = false;
        this.m_blizzIcon._visible = false;
        this.m_numberIcon._visible = false;
        if (this.m_downAnim)
        {
            this.m_downAnim._visible = false;
        } // end if
        if (this.m_overAnim)
        {
            this.m_overAnim._visible = false;
        } // end if
    };
    _loc1.SetNormalMode = function ()
    {
        this.m_buttonPiece._visible = false;
        this.textField._visible = false;
        if (this.data != undefined && this.m_s2MapInfo != undefined)
        {
            this.m_name._visible = true;
            this.m_author._visible = true;
            this.m_players._visible = true;
            this.m_numberIcon._visible = true;
            this.m_genre._visible = true;
            if (this.m_s2MapInfo.m_maxPlayers < BATTLENET.Singletons.Social.Party.GetNumberInParty())
            {
                this.disabled = true;
            }
            else
            {
                this.disabled = false;
            } // end else if
        }
        else
        {
            this.m_name._visible = false;
            this.m_author._visible = false;
            this.m_players._visible = false;
            this.m_numberIcon._visible = false;
            this.m_genre._visible = false;
            this.m_blizzIcon._visible = false;
            this.disabled = true;
        } // end else if
        if (this.m_downAnim)
        {
            this.m_downAnim._visible = true;
        } // end if
        if (this.m_overAnim)
        {
            this.m_overAnim._visible = true;
        } // end if
    };
    ASSetPropFlags(_loc1, null, 1);
} // end if
#endinitclip


There is 20000 symbol limit on this forum, posting one more message.
Title: Re: Collaboration for a new member
Post by: MADCATX on February 21, 2010, 11:04:41 AM
_Packeges.SC2.Singletons.Maps.S2Maps
as attachment
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 11:07:31 AM
@MADCATZ

Do you think you can somehow open up the battle.net.gfx file? 'Cause that's the only one I'm interested in, and the only one that would be helpful to us. Opening the other scripts won't be of any help. If you got it open, then just tell me. I'd like to see where we can go if we got it cracked.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 11:09:50 AM
Dam! What's up with the 2nd attachment? Anyhow I only need the battle.net.gfx file. Can you somehow crack it open?

/offtopic Looks like there is strain on the darkblizz servers.

EDIT: Wiki site down?
Title: Re: Collaboration for a new member
Post by: MADCATX on February 21, 2010, 11:28:21 AM
2nd attachment is scripts from battle.net.gfx.
To open battle.net.gfx - rename it to battle.net.swf and edit first 3 symbols(from CFX to CWS) in notepad or hex editor. Then open it in Sothink SWF Decompiler. It will look like on attached screenshot...
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 11:52:32 AM
Aww man!!! I can't get it to open. STILL. I did everything you said..It says The file battle.net.swf is corrupted.

Also, when I try and open it in a hex editor, the first three letters are NOT CFX! They're GFX...
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 11:54:47 AM
Wait I got it! Can you click on file then click on Export as FLA? Then upload it to megaupload or something and post the link!! That would be helpful since I can't get this to open.
Title: Re: Collaboration for a new member
Post by: far.runner on February 21, 2010, 12:15:14 PM
Quote from: Laer07 on February 20, 2010, 07:43:03 PM
Two, find the location in the code where it is defined to look at the blizzard servers and change that to something like 127.0.0.1/etc/etc...
just a thought:
one possible way to do this without changing the code is domain name redirection by using windows hosts file.
for example, assume map download server's domain name is "map.battle.net", then add one line like this:"127.0.0.1 map.battle.net" into hosts file in C:\WINDOWS\system32\drivers\etc. then all tcp/ip connection to map.battle.net will be redirected to 127.0.0.1

of course this require the actual domain name of the map server(and if sc2 use domain name iso ip address directly), however I think the domain name can be accquired by using sniffering tool like wireshark
Title: Re: Collaboration for a new member
Post by: MADCATX on February 21, 2010, 12:48:35 PM
Here are FLA generated by this program and SWF it made from.
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 12:53:47 PM
Thanks man!

I thought that this was a flash file no? If it is..how come it's not playing in my flash player?
Title: Re: Collaboration for a new member
Post by: Laer07 on February 21, 2010, 12:57:53 PM
@Madcatx

Wow, nice cracking. Seems I was at least partially right though, there is indeed scripting inside of the .gfx files. Although there wasn't any useful code in the ones I saw, that doesn't mean it might not be in other files (MainUI.gfx, etc.) I would think the call to load the maplists wouldn't be in the WindowMapList.gfx file, but rather at some point before that, as the user will need the maps loaded before they actually see the Map List window.

I still haven't really gotten anywhere with cracking battle.net.dll, though the information on the wiki was useful (btw, is the wiki down for everyone else?).
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 01:16:46 PM
Yo Laer!

Still with that battle.net.dll?

Anyways, I tried to open the flash player that MADCATZ gave me, but it seems that it's actually not a playable flash file. There is the scripting and everything, yet...I think that our answer lies in Battle.net.MPQ. By the way, the site is down, yet you can still access it from here: http://inquistor.info/darkblizz/wiki/doku.php?id=tutorials
Title: Re: Collaboration for a new member
Post by: Andrige on February 21, 2010, 01:31:05 PM
Generally Blizzard .MPQ files only contain models and animations.  I haven't looked in Battle.net.MPQ though.
Title: Re: Collaboration for a new member
Post by: Laer07 on February 21, 2010, 01:36:35 PM
Yea, I have also browsed thoroughly through the battle.net.MPQ file. That's where I found a lot of .GFX files that I think need a closer look. I also found XML files, though most of it had to do with game strings, no useful info.

Other than that, Andrige is right, it's mostly textures and images for the UI.

But I again I would say, perhaps the .GFX files contain the location it looks at for the map files. However, there are a lot of .GFX files  :-[
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 02:03:40 PM
Well what can we do now..? I don't think that any of the .gfx files contain the location of where the maps go...Since they are on a server, our only last shot to making Starcraft 2 Playable is....Making a private server. Since starcraft 2 doesn't support lan, it might be harder. :\
Title: Re: Collaboration for a new member
Post by: MiCrOz on February 21, 2010, 02:12:22 PM
(Disclaimer, I know almost nothing about packets/server interaction, this is just theory)


Just for curiousity, I wonder if you'd find if you ran a WC3 emulated server (if there even are any, I never played the game) or a WoW server, and changed your hostfile to redirect to yourself. Assuming they kept the same style login as either game, maybe one could be tweaked at accept a login?
Title: Re: Collaboration for a new member
Post by: ReVoke on February 21, 2010, 02:15:06 PM
Don't think so since SC2 is going to be using Battle.net 2.0 insted of the regular Battle.net which Starcraft, Diablo, Warcraft uses. and im not sure WoW is patched up for battle.net 2.0 yet.
Title: Re: Collaboration for a new member
Post by: BeardFist on February 21, 2010, 02:23:57 PM
@microman these are flash actionscript files you cannot open with flash player but with flash cs4 and such
Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 02:44:23 PM
When I meant flash, I meant Adobe Flash CS4 Pro; I have it. I opened it and tried to edit and all I get is a black screen. Same thing when I try and play it.
Title: Re: Collaboration for a new member
Post by: MADCATX on February 21, 2010, 05:12:37 PM
I searched battle.net.gfx file for strings, there is no config Strings in this file, only the various functions to get info about maps, etc...
The game connects to following hosts(netstat -b -n):
 12.129.206.131:1119
 12.129.242.21:80 (Breaking News Dialog)

Someone who have active sc2 key need to log all packets from/to this server, then we can emulate bnet.

Title: Re: Collaboration for a new member
Post by: MiCrOMaN1 on February 21, 2010, 05:14:54 PM
Can we lock this Topic? It seems that we're posting multi-genre subjects in one Topic. Hackers! If you got any info then post it in the Dev Team Section :D