Question about Reversing menu

Shout-Out

User Tag List

Results 1 to 12 of 12
  1. #1
    fudz's Avatar Member
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    4
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question about Reversing

    So I've taken on a project to learn about reversing, and have been successful so far. I'm updating the address's and pointers of Silly Tarre 1.75, and I'm stuck. I've found all the new address's except for one, and that's the g_clientconnection address. Now, when I debug a previous binary to find the function that writes to the known g_clientconnection address, will that function remain the same in the most recent patch? Or will that function change as well.

    Thanks!

    Question about Reversing
  2. #2
    Azzie2k8's Avatar Member
    Reputation
    11
    Join Date
    Apr 2009
    Posts
    190
    Thanks G/R
    0/0
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    What do you mean with the same ?

    The address of a function can change for built to built. The Pattern of a function will most likely stay the same as long as it isnt edited. Please note that this information might be wrong. I am still a newb as well.

  3. #3
    XTZGZoReX's Avatar Active Member
    Reputation
    32
    Join Date
    Apr 2008
    Posts
    173
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    lua__GetBillingFlags or whatever it's called. Go from there.

  4. #4
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't see where that function matters... But search for .\ObjectMgrClient.cpp and the last reference to it has always been the function referencing gClientConnection and it's offset pointing to s_curMgr.

  5. #5
    fudz's Avatar Member
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    4
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thanks!

    Originally Posted by lanman92 View Post
    I don't see where that function matters... But search for .\ObjectMgrClient.cpp and the last reference to it has always been the function referencing gClientConnection and it's offset pointing to s_curMgr.
    Awesome, I don't expect to be spoon fed the answers, I really enjoy a challenge, and this gave me the direction I was looking for.

    Thanks!

  6. #6
    XTZGZoReX's Avatar Active Member
    Reputation
    32
    Join Date
    Apr 2008
    Posts
    173
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't see where that function matters...
    It calls ClientServices__GetCurrent.

  7. #7
    Seifer's Avatar Site Donator
    Reputation
    129
    Join Date
    Apr 2007
    Posts
    270
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
    private static string TLSPattern { get { return "EB 02 33 C0 8B D 00 00 00 00 64 8B 15 00 00 00 00 8B 34 8A 8B D 00 00 00 00 89 81 00 00 00 00"; } }
            private static string TLSMask { get { return "xxxxxx????xxx????xxxxx????xx????"; } }
    
    ThreadLocalStorage = Memory.FindPattern(TLSPattern, TLSMask);
    
    CConnection = Memory.ReadUInt(Memory.ReadUInt(ThreadLocalStorage + 0x16));
                        CConnectionOffset = Memory.ReadUInt(ThreadLocalStorage + 0x1C);
                        CurrentManager = Memory.ReadUInt(CConnection + CConnectionOffset);
    There you go. Also:

    Accessing WoW’s Game Objects « Shynd’s WoW Modification Journal

  8. #8
    flo8464's Avatar Active Member
    Reputation
    30
    Join Date
    Apr 2009
    Posts
    434
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If you are reading from TLS directly, just read from the TEB instead of messing around with pattern
    Hey, it compiles! Ship it!

  9. #9
    fudz's Avatar Member
    Reputation
    1
    Join Date
    Mar 2008
    Posts
    4
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thanks

    Originally Posted by Seifer View Post
    Code:
    private static string TLSPattern { get { return "EB 02 33 C0 8B D 00 00 00 00 64 8B 15 00 00 00 00 8B 34 8A 8B D 00 00 00 00 89 81 00 00 00 00"; } }
            private static string TLSMask { get { return "xxxxxx????xxx????xxxxx????xx????"; } }
    
    ThreadLocalStorage = Memory.FindPattern(TLSPattern, TLSMask);
    
    CConnection = Memory.ReadUInt(Memory.ReadUInt(ThreadLocalStorage + 0x16));
                        CConnectionOffset = Memory.ReadUInt(ThreadLocalStorage + 0x1C);
                        CurrentManager = Memory.ReadUInt(CConnection + CConnectionOffset);
    There you go. Also:

    Accessing WoW’s Game Objects « Shynd’s WoW Modification Journal
    Awesome, so much easier this way!

    Thanks!

  10. #10
    Seifer's Avatar Site Donator
    Reputation
    129
    Join Date
    Apr 2007
    Posts
    270
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by flo8464 View Post
    If you are reading from TLS directly, just read from the TEB instead of messing around with pattern
    Why? The TLS method is perfectly viable and solid in between patches.

  11. #11
    Kryso's Avatar Active Member
    Reputation
    40
    Join Date
    Jul 2009
    Posts
    97
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Seifer View Post
    Why? The TLS method is perfectly viable and solid in between patches.
    Reading it directly is faster than searching for it with pattern.

  12. #12
    flo8464's Avatar Active Member
    Reputation
    30
    Join Date
    Apr 2009
    Posts
    434
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is ripped off the dumper Kynox released some years ago, you will have to update the TLS->ObjectManager-Offset, everything else should work fine: #942245 - Pastie
    Hey, it compiles! Ship it!

Similar Threads

  1. Question about reversing C++ calls
    By GliderPro in forum WoW Memory Editing
    Replies: 4
    Last Post: 07-09-2009, 06:55 PM
  2. question about model editing
    By Zanatons in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 08-17-2006, 09:21 PM
  3. questions about model editing
    By Zanatons in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 08-17-2006, 05:32 PM
  4. Question about MCing - Frostwolf
    By Hydrox in forum World of Warcraft General
    Replies: 0
    Last Post: 07-21-2006, 02:53 AM
  5. questions about model editing
    By Avianar47 in forum World of Warcraft General
    Replies: 2
    Last Post: 07-08-2006, 09:41 PM
All times are GMT -5. The time now is 09:54 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search