[OllyDBG] Reverse Engineering - What is it? Applying patches.

Iamcoolz Jul 29, 2014

  1. Iamcoolz

    Iamcoolz Forum Administrator Staff Member XPG Administrator
    25/47

    Joined:
    Mar 30, 2012
    Messages:
    1,227
    Likes Received:
    507
    Trophy Points:
    205
    Gender:
    Male
    Location:
    XPG
    Console:
    Xbox One
    Hello my fellow XPG'ers!

    With my job, I do a lot of ASM (Assembly) and use a rather confusing tool to most, but after learning C++ and diving into assembly, it becomes very easy. Reverse Engineering, you may not know what it is but if you have ever downloaded cracked software, or anything related to an edit of a program of some type, whoever posted it, had to do some reverse engineering to get it that way.

    What is OllyDBG, in a dumb'd down version, OllyDBG allows you to read the programs code in a different type of language to allow you to analyze it, make changes (Assuming the software isn't packed) and it also allows you to be able to understand how the program works.

    To those who are new, this program would be complicated. However, we will make it easy, and I will show you how to apply patches that have been released by a developer. But why? Why would I ever need to do this? Let's say your program becomes outdated and a crack is out, simply enough, a developer could throw you a patch that looks like this:

    004B47DD 80F9 C9 CMP CL,0C9
    Now to the common person, or even some advanced in technology you would go, what in the world is this! This is a command for the program itself. 004B47DD is the address of where the patch needs to be applied. The following after that, is the patch in which you would need to apply. So let's start with a basic patch, and go on from there.

    I will use one of my AI.exe's and do a patch, include pictures, and you will see how really simple it is to apply a patch, for this tutorial we will apply this patch -

    004198DE jmp short 00419936
    *APPLYING THE PATCH*

    Firstly, you will need OllyDBG (Freeware)

    http://www.ollydbg.de/odbg200.zip

    When you open the .exe inside the .zip, you will see this screen:

    [​IMG]

    Click file, and open:

    [​IMG]

    And then open your desired .exe (NOTE: YOUR EXE WILL LOOK DIFFERENT)

    [​IMG]

    Now we want to locate the address (004198DE), do this by pressing CTRL + G and you will get this:

    [​IMG]

    Enter in your address, so in our case 004198DE and click OKAY.

    [​IMG]

    It will then bring you to the address (gray bar) to make the patch simply double click that gray bar:

    [​IMG]

    Our patch for this address is - jmp short 00419936 - which is basically doing a SHORT jump to this address - 00419936 - so go on and copy that and paste it over whatever is in there now and click "ASSEMBLE":

    [​IMG]

    Text will then turn red, and that means its applied! Simply right click anywhere in that white box you have been in this entire time and click edit - copy to executable:

    [​IMG]

    Then right click again in the new dialog box, and click 'Save file...' and then save it as whatever you wish!

    [​IMG]

    And boom! You have successfully applied a patch of your own to your own executable!

    *Note: I will not do a tutorial over how to crack a program, as that is illegal in every single way, and I would rather not be held responsible*

    Enjoy XPG <3
     
  2. losparo

    losparo Moderator Staff Member XPG Moderator TeamXPG
    380/564

    Joined:
    Dec 16, 2012
    Messages:
    2,060
    Likes Received:
    7,236
    Trophy Points:
    380
    Gender:
    Male
    Console:
    Playstation 4
    excellent tut mate, you have got a great way of explaining. Should really help out some members ;) keep it up
     
  3. Timmeh

    Timmeh Trve Kvlt
    25/47

    Joined:
    Jan 18, 2013
    Messages:
    468
    Likes Received:
    155
    Trophy Points:
    25
    Gender:
    Male
    Occupation:
    Drummer
    Location:
    Michigan
    Console:
    Xbox
    Great tutorial man really helpful info here ;)
     

Share This Page

Close