[Guide] Memory Editing - The Basics menu

User Tag List

Page 1 of 7 12345 ... LastLast
Results 1 to 15 of 101
  1. #1
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    [Guide] Memory Editing - The Basics

    [Memory Editing]
    Another guide by Jadd


    0. Index
    0. Index
    1. Introduction
    2. Requirements
    3. Getting Started
    4. Using Cheat Engine
    5. Our First Memory Editing Program
    6. End Notes


    1. Introduction
    Ah, memory editing, what would MMOwned do without it?

    Today I'm going to explain how to read and write memory, give some definitions of what you may or may not understand, and, because I believe that the best way of learning is by example, teach you how to do some simple memory editing in C#.




    2. Requirements
    A few things you will need for this guide:
    General knowledge of computers
    Half a brain
    Cheat Engine [Link]
    C# [Link]
    Shynd's BlackMagic lib [Link]



    3. Getting Started
    We'll start with some general information about memory. There are two types of memory (in WoW), serverside, and clientside, however serverside functions are still in the memory clientside, but changing the values will have a client side only effect.

    Serverside data is memory that can be read, but cannot directly be changed on the servers, including (but not limited to), level, health, race, class, stats, gold, and many more. You can still change the data in the memory, but it will only be clientside. This is the reason there are no working level hacks, stat hacks, or any of those.

    And then there is clientside. This is the data that doesn't have serverside checks. This includes things like camera position, time, and many others. This data can be both read and written to, however, because of World of Warcraft's anti-cheat system, Warden, some memory cannot be written to without you, the hacker, being disconnected, or even banned, which is why we're going to be reading and writing from a trial account... just in case


    Just a couple more definitions you should know. Static addresses, non-static addresses, and pointers.

    Static addresses are addresses that you can use, which will have the same function every time you open a program.

    Non-static addresses are memory that are located at different addresses when the base address' value changes (see the pointers definition for more details), whether it be when you open up WoW, log out, or whenever it was made to change. This means that when the base address' value is changed, the non-static address you are using will have an entirely different function, or won't effect WoW by changing it.

    Pointers are a programming language data type whose value refers directly to (or "points to") another value stored elsewhere in the computer memory using its address. Simple enough?



    4. Using Cheat Engine
    In this guide I will refer to some names, use this picture if you don't know which button, textbox or dropdown box I am talking about.


    Red box: The 'Open Process' button.
    Blue box: The 'First Scan' button.
    Green box: The 'Next Scan' button.
    Orange box: The 'Value' textbox.
    Pink box: The 'Value Type' dropdown box.



    5. Our First Memory Editing Program
    I know what you're thinking, "finally, we get to make a program"... unfortunately, we don't.

    Joking! Let's get to it.

    Open up C# (make sure you run it as administrator if you're running Vista or Windows 7). Create a new "Console Application" project, call it whatever you want, I called mine "My First Memory Editor". Firstly, we want to add references to the BlackMagic library. In the menu bar at the top of the window, click Project -> Add Reference -> Browse tab. Browse to where you extracted the BlackMagic files, select them both, and click OK. Now, before the namespace, type "using Magic;". This will tell C# that we will be using the BlackMagic library. It should now look somewhat like this:


    For this first example, we're going to be reading from a static address, our name, so open up Cheat Engine, and we can get started.

    Once cheat engine is open, click the Open Process button. Find Wow.exe in the list, and double-click it. Next, change the Value Type dropdown box to Text, and in the Value textbox, write your character's name, in my case, "Jadd" (take note that it is case-sensitive!), and click the First Scan button. You'll come up with a whole bunch of results, so how do we know which ones are static, and which ones aren't? Easy, Cheat Engine does all the work for us. All results that are green are static, and all results that are black are non-static.

    I've got one result, 0x00C923F8. This is the address we need.


    Now go back into C#. In the "static void Main" section, we're going to write this:
    Code:
    BlackMagic WoW = new BlackMagic();
    WoW.OpenProcessAndThread(SProcess.GetProcessFromProcessName("Wow.exe"));
    
    string Name = WoW.ReadASCIIString(0x00C923F8, 12);
    Console.WriteLine("Character Name: " + Name);
    Console.WriteLine("Press any key to continue...");
    Console.ReadKey();
    This code is pretty self explanitary. Open WoW, log into any character, and run the program by clicking, in the menu bar at the top of the window, Debug -> Start Debugging.

    The Result:


    Ta-da! You've made your first memory reading program!



    6. End Notes
    Congrats, you made it to the end of the guide! Somewhere in the near future I'll edit this post and give some examples of non-static addresses and how to find them, but for now I really can't be bothered.

    Thanks for reading! Hopefully you now have a better understanding of how memory reading and writing works. Good luck with the programs guys!





    This guide was made by Jadd of MMOwned. I am in no way responsible for any banned accounts.

    Hope that helped Xel ;D
    Last edited by Jadd; 08-10-2011 at 12:43 PM.

    [Guide] Memory Editing - The Basics
  2. #2
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Reserved, just in case...

  3. #3
    ~OddBall~'s Avatar Contributor
    Reputation
    207
    Join Date
    Jan 2008
    Posts
    1,156
    Thanks G/R
    4/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice, +Rep Helped me understand some stuff. I think I'll go learn non-static addresses and pointers myself if you don't see yourself doing it.

    Thanks again xD

    -Odd
    https://www.mmowned.com/forums/world-of-warcraft/guides/278302-selecting-bot-you.html - SELECTING THE BOT FOR YOU

    PHWOOOOAAAAAR - Parog was here. <3 <----Wtf's a Parog?

  4. #4
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by ~OddBall~ View Post
    Nice, +Rep Helped me understand some stuff. I think I'll go learn non-static addresses and pointers myself if you don't see yourself doing it.

    Thanks again xD

    -Odd
    It could take me a day, it could take me a week. When I'm really bored, I'll do it.

  5. #5
    CryptoCombat's Avatar Contributor #define ME 0x1337 CoreCoins Purchaser
    Reputation
    194
    Join Date
    Jan 2009
    Posts
    473
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm a beginner memory manipulator...and not to hot a coder, tbh. My formal education began and ended with Java (the worst ****ing language on the planet) so I've been chipping away at this sort of thing alone. Thanks for the help Jadd. Outstanding for it's simplicity.

    *PS: WTB 3.3.0 update for UltimateWoW =D

  6. #6
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by lorddenathor View Post
    I'm a beginner memory manipulator...and not to hot a coder, tbh. My formal education began and ended with Java (the worst ****ing language on the planet) so I've been chipping away at this sort of thing alone. Thanks for the help Jadd. Outstanding for it's simplicity.

    *PS: WTB 3.3.0 update for UltimateWoW =D
    Thanks for the feedback, I tried to make it easy to understand.

    I might update UltimateWoW, however if I do, I'm going to use C# instead of AutoIt, since C# is so much better :P

  7. #7
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by lorddenathor View Post
    ... Java (the worst ****ing language on the planet) ...
    May I introduce you to: Eiffel (programming language) - Wikipedia, the free encyclopedia

    WARNING: If you have a weak heart, don't click that sheeeeet.

  8. #8
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SKU View Post
    May I introduce you to: Eiffel (programming language) - Wikipedia, the free encyclopedia

    WARNING: If you have a weak heart, don't click that sheeeeet.
    omg that's some ****ed up syntax.
    I might even hate this more than basic

    Code:
    
    
    Code:
    class
        HELLO_WORLD
    create
        make
    feature
        make
            do
                print ("Hello, world!%N")
            end
    end


    wtf?! 0.o

  9. #9
    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)
    You know, Java is REALLY close to C#. The structure of .NET and the JRE(or whatever its called) is also close. Hence J#? No reason to bash java. I wouldn't recommend it, it's not really that bad, but C# is just better.

  10. #10
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by lorddenathor View Post
    My formal education began and ended with Java (the worst ****ing language on the planet)
    I'll block your cock and ask why you think java is the worst ****ing language on the planet.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  11. #11
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SKU View Post
    May I introduce you to: Eiffel (programming language) - Wikipedia, the free encyclopedia

    WARNING: If you have a weak heart, don't click that sheeeeet.
    That's some ****ed up shit. Lol.

  12. #12
    CryptoCombat's Avatar Contributor #define ME 0x1337 CoreCoins Purchaser
    Reputation
    194
    Join Date
    Jan 2009
    Posts
    473
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Robske View Post
    I'll block your cock and ask why you think java is the worst ****ing language on the planet.
    Disregarding other more annoying characteristics that developers like to cry about, my personal issues with it are:

    1) So much shit to learn. Applets, AWT, Swing, API's, complex Jaxa security...the list goes on.

    2) I like exe's. Sure, there's compilers, but that's ghetto. Jar requires a host program (javac) to run, which is distasteful to me.

    3) It's uncomfortable to code in. I learned BASIC on my own as a first language, before taking JAVA, and I liked the style better...I find C languages to be easier to get along with.

    4) Other things I'm sure I've forgotten...not having programmed in it for over 8 months

  13. #13
    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)
    2) I like exe's. Sure, there's compilers, but that's ghetto. Jar requires a host program (javac) to run, which is distasteful to me.
    There are 1000000 different combinations of operating systems and archtitectures.

    C# runs on Windows. Windows means you are forced to use x86/IA32 or the 64-bit counterparts. So you can use it on one system and 4 architectures. (where all share almost the same instruction set and AMD/Intel don't differ much in their work)
    Now compare it to the amount of combinations you can run Java on.

    C# may be better for Windows programming, but Java is a very nice choice if you are planning to create independend applications.
    Hey, it compiles! Ship it!

  14. #14
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Java sucks, and so does this guide. (Sorry, but at least I'm honest)

    It's rife with inaccuracies, misuse of various jargon, etc. Whilst I appreciate the effort, I would not recommend beginners read this as it's likely to just cause more harm than good in the long-run.

  15. #15
    snigelmannen's Avatar Member
    Reputation
    27
    Join Date
    Jul 2007
    Posts
    318
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Im not a coder im an electrician i cut cables and abuse energy drinks. So a a question, i wanted to make a little program that reads my health and power/mana and prints it to a ProgressBar, is there loads to know about or is it easy? if anyone can be bothered, are you able to share it with me?
    " Spy sappin mah sentry! "

Page 1 of 7 12345 ... LastLast

Similar Threads

  1. [video] The basics of Memory editing
    By Vex. in forum WoW Memory Editing
    Replies: 9
    Last Post: 04-10-2008, 10:26 AM
  2. [Guide] Basic Memory Editing in TSearch
    By Dragon[Sky] in forum WoW Memory Editing
    Replies: 2
    Last Post: 12-07-2007, 12:20 AM
  3. [Guide]Basic Memory Editing
    By Dragon[Sky] in forum World of Warcraft Bots and Programs
    Replies: 25
    Last Post: 11-27-2007, 11:47 AM
  4. Request Mac Editing Guide in placing the file, and Gnome Male ---> Undead Male
    By Bourbonkills in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 08-21-2007, 02:05 AM
  5. where is that guide to finding the memory-address which Enables model editing
    By mikesanders in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 07-12-2007, 11:19 PM
All times are GMT -5. The time now is 03:14 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search