Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › Other MMORPG Hacks › Piercing Blow Hacks & Cheats › Piercing Blow Tutorials › How to find a offset

How to find a offset

Posts 1–15 of 17 · Page 1 of 2
♪~ ᕕ(ᐛ)ᕗ
♪~ ᕕ(ᐛ)ᕗ
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
#1 · 14y ago
ParkII
ParkII
wow Good Tutorial ..

+REP...
#2 · 14y ago
♪~ ᕕ(ᐛ)ᕗ
♪~ ᕕ(ᐛ)ᕗ
Quote Originally Posted by ParkII View Post
wow Good Tutorial ..

+REP...
Well thank you
#3 · 14y ago
RE
Reflex-
Wow Awesome Job, , I Repped you aswell..
#4 · 14y ago
♪~ ᕕ(ᐛ)ᕗ
♪~ ᕕ(ᐛ)ᕗ
Quote Originally Posted by Entourage View Post
Wow Awesome Job, , I Repped you aswell..
Thanks nigga
#5 · 14y ago
Time
[MPGH]Time
Get this section alive horatio! Good job .
#6 · 14y ago
♪~ ᕕ(ᐛ)ᕗ
♪~ ᕕ(ᐛ)ᕗ
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?
#7 · 14y ago
♪~ ᕕ(ᐛ)ᕗ
♪~ ᕕ(ᐛ)ᕗ
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.
#8 · 14y ago
BL
BlackSock
Would like to say it's a good tutorial xD thanks " every day you learn smth new "
#9 · 14y ago
LA
lannyboy
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".
#10 · 14y ago
♪~ ᕕ(ᐛ)ᕗ
♪~ ᕕ(ᐛ)ᕗ
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...
#11 · 14y ago
IS
iservefemales
CAN u do a tut on how to add wepon addyes with CE plz :3 ?
#12 · 14y ago
AL
almar2023
How Do you Guys Call It..??

Via Detour..??


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

thanks..
#13 · 13y ago
KI
KirkNthePugs
?????????????
#14 · 12y ago
UG
ugfyghkjugfhcghjukgfhgh
THANK YOUU!!
#15 · 10y ago
Posts 1–15 of 17 · Page 1 of 2

Post a Reply

Similar Threads

  • how to find this offset in pointBlank please tell it hereBy pronten in Piercing Blow Hack Coding/Source Code
    8Last post 15y ago
  • Please help me how to find this offset?By GameMaster025 in CrossFire Hack Coding / Programming / Source Code
    3Last post 14y ago
  • How do you find unusual offsets?By YaLTeR in CrossFire Hack Coding / Programming / Source Code
    9Last post 15y ago
  • [Tutorial] How to: Find OffsetsBy deoxyribonucleicacid in Call of Duty Modern Warfare 2 Coding / Programming / Source Code
    24Last post 15y ago
  • How to find offsets and addressesBy shad0wboss in WarRock Discussions
    0Last post 16y ago

Tags for this Thread

None