Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > 4Story > 4Story Hacks, Bots, Cheats & Exploits
You last visited: Today at 19:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Tutorial] Automate finding Pointers & Offsets

Discussion on [Tutorial] Automate finding Pointers & Offsets within the 4Story Hacks, Bots, Cheats & Exploits forum part of the 4Story category.

Reply
 
Old   #1
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
[Tutorial] Automate finding Pointers & Offsets

In the last Tutorial, we learned, how to unpack the Client, and remove the hacking-protection.
This enables us to use Debuggers, to analyze the Client.

Some stuff might become realy annoying, if we have to do the same things over and over again,
whenever the client changes. This tutorial will show you, how you can automate such operations,
if you've managed to find out stuff once.

Our goal in this tutorial will be, to filter usefull stuff from the client, without even having to run it

Step 1: Find out Stuff
Quote:
we've analyzed the DE client, and found the MainBaseAdress, and the offset to the CharStruct.
in the current DE client, they look like this:
Code:
DWORD mainBaseAdress:   0x0070D968
DWORD charStructOffset: 0x00000ADC
Step 2: Realize how the Client handles them
Quote:
All Character informations are stored in one and the same struct in 4Story.
if the Client want's to access the struct, he needs to figure out the Adress too.

in asm that might looks like this:
Code:
mov eax, [mainBaseAdress]
// eax now stores the adress, the mainBaseAdress points to
mov eax, [eax + charStructOffset]
// eax stores the adress of the Character Struct
the CPU parses adresses from the right, to the left.
this means our mainBaseAdress (00 70 D9 68) have to be stored as (68 D9 70 00) somewhere in the client.
Step 3: Search the Client for the desired adress
Quote:
I will use OllyDbg, since i did it in the last tutorial too.

1. Get into the main Modules code (check the last tutorial if you don't know how to)
2. Press CTRL + B to start a Binary Search, and search for the reversed mainBaseAdress
3. Press CTRL + L, untill you've found a nice piece of code, containing your adress
Quote:
to be able to filter the information from the client, it shouldn't be just 2 lines of code.
the best thing would be to scan for a full function.
even better would be a function containing more than just one information, we wanna filter.

the TClient got one small function containing both of the named informations.
Step 4: Grab the Code
Quote:
the easiest way to get the code out of olly, is to mark it and press CTRL + C
now it's stored in the clipboard, and can be pasted into your favorite editor.
the code looks like this in my case:
Step 5: Eliminate useless and variable Stuff
Quote:
now it's time to decide which method we wanna use to filter the code later. i will use AutoIt to build the final tool.
the most efficient way, to handle such a lot of characters in autoit, are the regex functions.

if we compare the function to the same one in other clients, we notice, that the main code stays the same.
the only thing that might differ, are the values in the code.
regex offers realy easy to use placeholders. since we're scanning HEX-code only, we can simply replace all numbers by:
Code:
.{[length of number]}
beside that, we only need the binary code. the asm code, adresses and special stuff can simply be removed.
the cleaned up table looks like this:
as you can see, i've added brackets, to the values we wanna filter later. This tells regex, to only save those values, and ignore the rest.

the last step now is, to remove the newlines to get one single string, we can use as pattern later in our tool =)
Step 6: Write the Tool
Quote:
As allready mentioned before, i'll use AutoIt to build the final tool.
since most people in this section seem to be kinda familar with autoit, the code shouldn't need any further explanation:
(i've added lots of comments, which should be self explaining)
Step 7: Proof of concept
Quote:
just as a proof of concept, i'll attach the script and coimpiled versions for x64, x86 and add a screenshot,
showing the script used on 4Story DE/EG, to proof, that it works not only with the current DE client.
Bonus:
Quote:
knowing the path to the charStruct can speed up finding other offsets (the first time) extrmely, it's pretty easy to build a tool, which scans the charStruct for specific values.

here's a simple example for an extremely easy tool:
screenshot:
Attached Files
File Type: rar OffsetFinder.rar (612.2 KB, 398 views)
File Type: rar OffsetFinderExtended.rar (615.3 KB, 357 views)
lolkop is offline  
Thanks
16 Users
Old 11/25/2011, 15:02   #2
 
elite*gold: 0
Join Date: Nov 2010
Posts: 274
Received Thanks: 111
Hey lolkop , can you explain the tutorial in german?
☼WhatIsThat☼ is offline  
Old 11/25/2011, 15:51   #3
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
ich denke das english ist nicht zu fachbezogen gewählt, und sollte eigentlich leicht verständlich sein.
lolkop is offline  
Old 11/25/2011, 16:31   #4
 
elite*gold: 0
Join Date: Nov 2010
Posts: 274
Received Thanks: 111
aso, du kannst deutsch aber machst das tut in englisch? aber trotzdem würdest du vielen helfen wenn du das in deutsch machst
☼WhatIsThat☼ is offline  
Old 11/25/2011, 18:54   #5
 
Lasch24's Avatar
 
elite*gold: 1
Join Date: Sep 2010
Posts: 3,967
Received Thanks: 1,487
Quote:
Originally Posted by ☼WhatIsThat☼ View Post
aso, du kannst deutsch aber machst das tut in englisch? aber trotzdem würdest du vielen helfen wenn du das in deutsch machst
Wer das Englisch nicht versteht, hat gelitten.
Hört sich einfach an, aber Bedarf hab ich jetzt nicht.
Lasch24 is offline  
Old 11/25/2011, 19:19   #6
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by ☼WhatIsThat☼ View Post
aso, du kannst deutsch aber machst das tut in englisch? aber trotzdem würdest du vielen helfen wenn du das in deutsch machst
Sobald ich wieder Zeit habe, werde ich es machen.

Quote:
Originally Posted by Lasch24 View Post
Wer das Englisch nicht versteht, hat gelitten.
Hört sich einfach an, aber Bedarf hab ich jetzt nicht.
Du musst aber auch bedenken, dass wir eine Community sind. Hier hilft jeder jeden. Außerdem gehe ich davon aus, dass ungefähr 50% des 4Story Bereichs noch etwas jüngere sind, die diese Sprache noch nicht Beherschen bzw. noch lernen werden.
Logtetsch is offline  
Old 11/30/2011, 23:51   #7
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Update:
i've added some kind of extended offsetfinder as attachment, with some more offsets, which could help newbies to understand, how to add more stuff to search for =)

lolkop is offline  
Thanks
4 Users
Reply


Similar Threads Similar Threads
!! Offset Contest !! - Earn money with your pointers/offsets
08/28/2011 - General Coding - 3 Replies
Ich würde mich freunen, wenn ihr euch zahlreich beteiligt :) What can you win? 1st prize: 20 Euro 2nd prize: 15 Euro on 15+ submitters 3rd prize: 10 Euro on 30+ submitters How long will the contest be? 60 days started at 08.22.11 14:30
help finding pointers metin2 client
07/22/2011 - Metin2 - 0 Replies
Hello i need help, i cant find pointers with cheat engine I patched my metin2 client from hackshield to be able to debug it and to use cheat engine but the problem is that after a very short time the server kicks. can some one please give me a solution I am learning to create my own hacks but i have this big problem stopping me thanks i hope that some one can give me a solution to this Thanks
Finding offsets?
12/04/2009 - CO2 Programming - 2 Replies
Btw trying to make an aimbot :P just throwing that out there EDIT: This is what iv'e found so far,am I on the right track? this is for a v5165 private server that I own,When I was jumping around on one of my chars,around another character of mine that had the proccess on her client,these are the addresses that came up,eventually I got down to the last x and last y address,and every jump they were right,but the question is am I doing this right Heres what I found: 01175390 - proper x...
neue offsets/pointers... compilen? bwh/bot... etc.
01/20/2006 - World of Warcraft - 0 Replies
hi leutz also mein frage ist wie und woher krieg ich die aktuellen pointers/offsets wie baue ich das z.b in bwh ein.. oder den bot... etc. ich hoffe ihr versteht was ich will... wenn ich es falsch gepostet habe einfach verschieben... da sich aber meine frage mehr auf wow bezieht denke ich mal das das hier her gehört...
Patch 1.9 Offsets and Pointers
01/09/2006 - WoW Exploits, Hacks, Tools & Macros - 0 Replies
// WoW [Release] Build 4937 (Dec 20 2005) // WoW!Sharp.h #define AutoStoreAllLootItems 0x4B0E00 #define CGBuffBar__m_buffs 0xB4CF28 #define CGBuffBar__m_durations 0xB4CE10 #define CGChat__AddChatMessage 0x48DC90 #define CGGameUI__ClearTarget 0x487C50 #define CGGameUI__LeftClick 0x486A00 #define CGGameUI__RightClick 0x486C50 #define CGGameUI__m_lockedTarget 0xAF60B8



All times are GMT +2. The time now is 19:59.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.