Showing results 1 to 9 of 9

Thread: Multiple StarCraft - Basic Reversing with OLLYDBG

  1. #1
    The Sexy Penguin Senior Member
    Retired Staff Member

    LCS's Avatar
    Join Date
    Feb 2005

    Default Multiple StarCraft - Basic Reversing Tutorial with OLLYDBG

    For this tutorial you will need StarCraft and the debugger OLLYDBG.
    What we are going to acomplish in this tutorial is write a patched executable that will allow us to run multiple instances of StarCraft. This will teach you some basic reverse engineering skills and some basic functions of OLLYDBG.

    Run OLLYDBG and go to the file menu and select Open.

    Find StarCraft.exe in your StarCraft directory

    Once you open StarCraft OLLYDBG will look like this

    Right click -> Search for -> All refrenced text strings

    A new window will open up, go to your window setting and tile your windows vertically so they look like this.

    While looking though the list of all the refrenced text strings you will eventually run across this string saying "StarCraft Check For Other Instances"

    Double Click that item and it will bring you to the line where that is used.

    Select the four lines in the brackets and NOP them.

    The lines will look like this after they are NOPed

    Now right click the changes we made -> Copy to exicuatble -> Selection

    A new window will come up, right click the selected changes in there -> Save to file.

    Save your new patched version as Multiple StarCraft.exe

    Run StarCraft.exe and Multiple StarCraft.exe

    Attached Images Attached Images               
    Last edited by LCS : 10-02-2008 at 09:02 PM

  2. #2
    Nice to meet you, I'm Will Riker. Space Pimp. Senior Member
    Gold Member

    DSG's Avatar
    Join Date
    May 2004
    Where no admin has gone before...


    Blind belief in authority is the greatest enemy of truth. - Albert Einstein

    Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity. -Martin Luther King, Jr.

  3. #3
    C2 100E Senior Member

    p00onu's Avatar
    Join Date
    Mar 2005
    Reno, NV


    Very nice LCS.

    I get laid.
    Quote Originally Posted by The most intelligent hellinsect
    blizzard is targeting my computer

  4. #4
    The Sexy Penguin Senior Member
    Retired Staff Member

    LCS's Avatar
    Join Date
    Feb 2005


    Bump! I re-uploaded all of the images and fixed my first post because when the attachments broke a while back it pretty much made this tutorial useless, so today I decided to fix this up so it can be used. I hope someone actually uses this tutorial and learns something from it, shout out in here if you have any problems, questions, comments, feedback on the tutorial, but I think it is pretty straight forward. (I made it step by step so anyone can do it and learn about OLLYDBG / basic reversing / asm with out having to think too much)

  5. #5

  6. #6


    well, I've tried to do this tutorial over and over again. but still shows no result. I've tried to start the to .exe separatly and at the same time. what have I done wrong? Oo

  7. #7


    Ye, it doesn't work anymore. Maybe it's patched.... Running Multisc.exe bring back the previous opened Sc.exe as it shoud be with original exe
    Guess what is the hard thing right behind you right now?

  8. #8


    you dont need to nop out that shizzle. just change the conditional jump:

    004E0200   /$  55                PUSH EBP
    004E0201   |.  8BEC              MOV EBP,ESP
    004E0203   |.  51                PUSH ECX
    004E0204   |.  68 C8F84F00       PUSH StarCraf.004FF8C8                     ; /EventName = "Starcraft Check For Other Instances"
    004E0209   |.  6A 00             PUSH 0                                     ; |InitiallySignaled = FALSE
    004E020B   |.  6A 00             PUSH 0                                     ; |ManualReset = FALSE
    004E020D   |.  6A 00             PUSH 0                                     ; |pSecurity = NULL
    004E020F   |.  FF15 10E14F00     CALL DWORD PTR DS:[<&KERNEL32.CreateEventA>; \CreateEventA
    004E0215   |.  FF15 14E24F00     CALL DWORD PTR DS:[<&KERNEL32.GetLastError>; [GetLastError
    004E021B   |.  3D B7000000       CMP EAX,0B7
    004E0220      /0F85 88000000     JNZ StarCraf.004E02AE
    004E0226   |.  8B3D 0CE14F00     MOV EDI,DWORD PTR DS:[<&KERNEL32.Sleep>]   ;  kernel32.Sleep
    004E022C   |.  8B1D 48E34F00     MOV EBX,DWORD PTR DS:[<&USER32.FindWindowA>;  USER32.FindWindowA
    004E0232   |.  C745 FC 00000000  MOV [LOCAL.1],0
    004E0239   |.  8DA424 00000000   LEA ESP,DWORD PTR SS:[ESP]
    004E0220    . /E9 89000000       JMP StarCraf.004E02AE
    004E0225      |90                NOP

  9. #9


    For those of you having problems; try running the modded executable first then the original.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Multiple Copies of Starcraft
    By Unknownforce in forum Starcraft/Brood War
    Replies: 8
    Last Post: 12-04-2007, 01:32 AM
  2. Displaying Messages in game "Map Hack Turned On."
    By Fiend in forum Starcraft/Brood War
    Replies: 15
    Last Post: 09-09-2007, 08:10 PM
  3. Can I post a tutorial?
    By Uniquely_Defined in forum Starcraft/Brood War
    Replies: 25
    Last Post: 11-26-2005, 06:29 PM

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts