Page 1 of 2 12 LastLast
Results 1 to 15 of 17
  1. #1
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    9,119
    Reputation
    1096
    Thanks
    1,970
    My Mood
    Doh

    How to find a offset

    First of all for this tutorial you may need OllyDBG (or any other debugger but I will use Olly), so if you don't have OllyDBG just google it and download it's free.




    So yeah now this tutorial is pretty easy, all what you have to do is to use your logic and everything will go smooth. First of all you may need a little knowledge of ASM (no need for the basics at all just a little knowledge I said).

    So go ahead and remember: the offsets found in this tut might not work, I am just showing you the basic concepts of finding an offset.


    We are going to find the offset for the command which sends a text in the chat. For this we need to scan the memory of the game for any strings located inside, and then filter our desired one.

    So start with Opening Olly and then Go to: File->Open... and select "PBlackout.exe". Then right-click inside the window and select "Search For->All Referenced Text Strings".



    Now a new window may appear and there you can see the strings in the memory. Right-Click inside that window and select "Search For Text", in the window that will appear enter the text "[%s] %s" (since when we send a message in-game it appears in the corner with the following format: "[PlayerName] Message"). Deselect the box "Case Sensitive" and select the box "Entry Scope". You will end up in the following line:



    Then double-click on that line or press Enter and you may see that you've been redirected to the first window and the first thing that you will notice is that the selected line is the same as in the strings window. The following 3 lines of code are our key As of now we see that only 1 argument is pushed (our text), the game will take care of EAX by itself, which means that we don't have to work hard with this one

    The function as of now is:
    Code:
    void __cdecl PushTextToChat(char* text)
    {
    }
    Next you may see that there is a line with the code "CALL" which means that it calls a function in the specific address of the process.
    Code:
    006F8179  |. E8 A2E5D0FF    |CALL PBlackou.00406720         ;PBlackout.00406720 -> The offset of our function is 00406720 (which is a HEX btw)
    Now all what you have to do is to copy the code from
    Code:
    006F816D  |. 68 2CC89B00    |PUSH PBlackou.009BC82C                  ;  ASCII "[%s] %s"
    
    TO:
    
    006F817E  |. 83C4 10        |ADD ESP,10
    Add it to our function, and it will end up like this:
    Code:
    void __cdecl PushTextToChat(char* text)
    {
          DWORD pointer = 0x406720;
          __asm{
                  push text
                  lea eax, dword ptr ss:[ebp-218]
                  push eax
                  call pointer
                  add esp, 10
         };
    }


    We're done

  2. The Following 5 Users Say Thank You to ♪~ ᕕ(ᐛ)ᕗ For This Useful Post:

    aghisna128 (03-17-2015),lannyboy (07-26-2012),ParkII (07-25-2012),src36 (07-03-2013),vanko97 (08-15-2012)

  3. #2
    Ninguém pode ser perfeito, mas todos podem ser melhores
    MPGH Member
    ParkII's Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    Andressa's Heart
    Posts
    1,379
    Reputation
    61
    Thanks
    408
    My Mood
    Yeehaw
    wow Good Tutorial ..

    +REP...

  4. The Following User Says Thank You to ParkII For This Useful Post:

    ♪~ ᕕ(ᐛ)ᕗ (07-25-2012)

  5. #3
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    9,119
    Reputation
    1096
    Thanks
    1,970
    My Mood
    Doh
    Quote Originally Posted by ParkII View Post
    wow Good Tutorial ..

    +REP...
    Well thank you

  6. #4
    Reflex-'s Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    192.168.1.01
    Posts
    6,625
    Reputation
    584
    Thanks
    2,267
    My Mood
    Dead
    Wow Awesome Job, , I Repped you aswell..

  7. The Following User Says Thank You to Reflex- For This Useful Post:

    ♪~ ᕕ(ᐛ)ᕗ (07-26-2012)

  8. #5
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    9,119
    Reputation
    1096
    Thanks
    1,970
    My Mood
    Doh
    Quote Originally Posted by Entourage View Post
    Wow Awesome Job, , I Repped you aswell..
    Thanks nigga

  9. #6
    Time's Avatar
    Join Date
    Jul 2009
    Gender
    male
    Posts
    26,497
    Reputation
    3714
    Thanks
    4,530
    My Mood
    Mellow
    Get this section alive horatio! Good job .

  10. #7
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    9,119
    Reputation
    1096
    Thanks
    1,970
    My Mood
    Doh
    Quote Originally Posted by Time View Post
    Get this section alive horatio! Good job .
    I'm such a badass and u remember my old name?

  11. #8
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    9,119
    Reputation
    1096
    Thanks
    1,970
    My Mood
    Doh
    Just as an update: Every variable or struct that you might want to get is stored under the addy at:
    Code:
    MOV DWORD PTR DS:[ADDY],EAX
    So if you want to get a specific object from the game's memory you gotta search a string reference about that object and find the MOV DWORD.... also remember that every object has its own related body in the diassembler, which means that not every line containing "MOV DWORD PTR SS:[ADDY], EAX" is the right one.

  12. #9
    BlackSock's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Location
    United Kingdom
    Posts
    38
    Reputation
    10
    Thanks
    7
    Would like to say it's a good tutorial xD thanks " every day you learn smth new "

  13. #10
    lannyboy's Avatar
    Join Date
    Sep 2009
    Gender
    male
    Posts
    97
    Reputation
    10
    Thanks
    420
    Quote Originally Posted by Richard Nixon View Post
    Just as an update: Every variable or struct that you might want to get is stored under the addy at:
    Code:
    MOV DWORD PTR DS:[ADDY],EAX
    So if you want to get a specific object from the game's memory you gotta search a string reference about that object and find the MOV DWORD.... also remember that every object has its own related body in the diassembler, which means that not every line containing "MOV DWORD PTR SS:[ADDY], EAX" is the right one.
    normally, they are using "push addy" instead of "mov dword pt ss:[addy], eax".

  14. #11
    ♪~ ᕕ(ᐛ)ᕗ's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Uterus
    Posts
    9,119
    Reputation
    1096
    Thanks
    1,970
    My Mood
    Doh
    Quote Originally Posted by lannyboy View Post
    normally, they are using "push addy" instead of "mov dword pt ss:[addy], eax".
    Why push addy? It doesn't store anything, push is used to push in a parameter...

  15. #12
    iservefemales's Avatar
    Join Date
    Aug 2012
    Gender
    male
    Location
    salina
    Posts
    23
    Reputation
    10
    Thanks
    0
    My Mood
    Doubtful
    CAN u do a tut on how to add wepon addyes with CE plz :3 ?

  16. #13
    almar2023's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Posts
    6
    Reputation
    10
    Thanks
    0
    How Do you Guys Call It..??

    Via Detour..??


    or call it in a thread this way...
    Code:
    PushTextToChat("something i wanna say");
    ??

    thanks..

  17. #14
    KirkNthePugs's Avatar
    Join Date
    Jun 2014
    Gender
    male
    Posts
    142
    Reputation
    10
    Thanks
    13
    My Mood
    Asleep
    ?????????????

  18. #15
    ugfyghkjugfhcghjukgfhgh's Avatar
    Join Date
    Oct 2015
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    3
    THANK YOUU!!

Page 1 of 2 12 LastLast

Similar Threads

  1. [Help] Please help me how to find this offset?
    By GameMaster025 in forum CrossFire Hack Coding / Programming / Source Code
    Replies: 3
    Last Post: 05-27-2012, 12:09 AM
  2. [Help] how to find this offset in pointBlank please tell it here
    By pronten in forum Piercing Blow Hack Coding/Source Code
    Replies: 8
    Last Post: 08-16-2011, 12:17 PM
  3. [Help] How do you find unusual offsets?
    By YaLTeR in forum CrossFire Hack Coding / Programming / Source Code
    Replies: 9
    Last Post: 03-03-2011, 08:46 PM
  4. [Tutorial] How to: Find Offsets
    By deoxyribonucleicacid in forum Call of Duty Modern Warfare 2 Coding / Programming / Source Code
    Replies: 24
    Last Post: 10-16-2010, 12:23 AM
  5. [Help] How to find offsets and addresses
    By shad0wboss in forum WarRock Discussions
    Replies: 0
    Last Post: 12-20-2009, 04:47 PM