(Tutorial) Starting WoW-Memory Reading/Writing menu

User Tag List

Page 1 of 14 12345 ... LastLast
Results 1 to 15 of 199
  1. #1
    Mrbrightside's Avatar Banned
    Reputation
    36
    Join Date
    Dec 2008
    Posts
    56
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    (Tutorial) Starting WoW-Memory Reading/Writing

    WoW Memory Editing Tutorial

    Hello and welcome to this tutorial, this tutorial is made by me and i would like for it not to be copy/pasted anywhere but mmowned.com, if you do copy/paste any code or anything please give credits, Thank you.
    First of all i would like to say that this is my way of memory editing i don't care if you do it another way, this i will always do it this way if you choose to follow this way or not is not up to me.


    Ok, to start first the things you will need for doing it this way.

    1, Microsoft Visual C# 2008 express edition -credits to microsoft
    2, blackmagic dll -credits to Shynd


    You can download these:

    Microsoft Visual C# 2008 express edition -HereVisual C# 2008 Express Edition
    blackmagic,fasm_managed dll -Here http://www.shynd.com/public/BlackMagic.1.1.rar

    Now to start with the actual memory editing,
    1) Open C# and click on File>>>New Project,

    2) Click on "Console Application" rename it to whatever you want i named mine "Memory Editing Tutorial- Console App".
    3) Then click "OK".

    4) Remember the blackmagic dll that you downloaded? Well extract it to anywere i put it on my desktop for now.
    5) In C# right-click "References" and click "Add Reference..." Click on "Browse" click on "Look in" then browse to where you extracted your blackmagic folder.
    6) Select "BlackMagic.dll" and "fasmdll_managed.dll" Then click "OK"


    7) Now back to C# where it says in the text "using _______;" go to the bottom and type "using Magic;" without the quotes.
    Now you need to open the wow process via blackmagic so... in:
    Code:
    static void Main(string[] args)
            {
    
            }
    Write:
    Code:
    BlackMagic wow = new BlackMagic(); //Create new function to open wow process
    wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("World of Warcraft")); //This Opens "World of Warcraft" window
    now you will have:
    Code:
     static void Main(string[] args)
            {
                BlackMagic wow = new BlackMagic(); //Create new function to open wow process
                wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("World of Warcraft")); //This Opens "World of Warcraft" window
            }
    you don't have to put the // It just makes it easier later on because you don't have to go through the code you can just read the notes.

    Now we are going to read the wow memory such as your player name,health,mana,level, and so on, then im going to show you how to write to wow memory so you can have basic x,y,z movement via ClickToMove.

    Ok, so the code we have so far should be:
    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Magic;
    
    namespace Memory_Editing_Tutorial__Console_App
    {
        class Program
        {
            static void Main(string[] args)
            {
                BlackMagic wow = new BlackMagic(); //Create new function to open wow process
                wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("World of Warcraft")); //This Opens "World of Warcraft" window
            }
        }
    }
    The next lines we will insert will be:
    Code:
    uint playerbase = wow.ReadUInt(wow.ReadUInt(wow.ReadUInt(0x00CF7C00) + 0x34) + 0x24); //this is the player base
    string playername = wow.ReadASCIIString(0x00C923F8, 12); //reads player name
    uint Level = wow.ReadUInt(wow.ReadUInt(playerbase + 0x8) + (0x35 * 4)); // Reads players level
    I will explain all of this a little later just put it in for now.

    Ok so with this code we are reading Playerbase,Playername, and playerlevel
    now we will write this to console so we can see it all come to action.

    add:
    Code:
                Console.WriteLine("Player Name is: " + playername); //writes to console to tell player name
                Console.WriteLine("Player level is:" + Level); //writes to console to tell player level
    to the code now we will have:
    Code:
                BlackMagic wow = new BlackMagic(); //Create new function to open wow process
                wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("World of Warcraft")); //This Opens "World of Warcraft" window
                uint playerbase = wow.ReadUInt(wow.ReadUInt(wow.ReadUInt(0x00CF7C00) + 0x34) + 0x24); //this is the player base
                string playername = wow.ReadASCIIString(0x00C923F8, 12); //reads player name
                uint Level = wow.ReadUInt(wow.ReadUInt(playerbase + 0x8) + (0x35 * 4)); // Reads players level
                Console.WriteLine("Player Name is: " + playername); //writes to console to tell player name
                Console.WriteLine("Player level is:" + Level); //writes to console to tell player level
    in the main block of code.

    Ok, so now to test what we have out.
    Do Ctrl+F5 or go to "Debug>>>Start Without Debugging"
    It should look like this:

    Ok now that would be basic memory reading lets try memory writing.
    add this to your code:
    Code:
                float playerx = wow.ReadFloat(Pbase + 0x798); // Read players xlocation
                float playery = wow.ReadFloat(Pbase + 0x79C); // Read players ylocation
                float playerz = wow.ReadFloat(Pbase + 0x7A0); // Read players zlocation
    ok this code reads your x,y,z values also known as your cordinates we will now take these and try to move by a few feet or so.
    add this to your code:
    Code:
                Console.WriteLine("Player X cord is:" + playerx); //writes to console to tell players x cordinate
                Console.WriteLine("Player Y cord is:" + playery); //writes to console to tell players y cordinate
    now do "ctrl+F5" again and it should tell your player name,level,x and y cordinates. You need to be ingame in wow while you do this, now don't move your character and write down what the x,y values are as we are going to need them, also when your ingame go to interface>>>mouse and enable click-to-move.

    now we will write to the code to make your character move, write this code:
    Code:
                wow.WriteFloat(0x00CB9814, x here); // x pos from prompt
                wow.WriteFloat(0x00CB9818, y here); // y pos from prompt
    where it says in the code "x here" type for example if the x cord you wrote down earlier was 1000 write 1005 as it will increase your x by 5, do the same for the "y here" except write the y cord you wrote down earlier also plus 5.

    now add to the code:
    Code:
    wow.WriteInt(0x00CB97A4, 4);//makes character walk
    this activates your click-to-move so it makes your character walk

    now you should have:
    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Magic;
    
    namespace Memory_Editing_Tutorial__Console_App
    {
        class Program
        {
            static void Main(string[] args)
            {
                BlackMagic wow = new BlackMagic(); //Create new function to open wow process
                wow.OpenProcessAndThread(SProcess.GetProcessFromWindowTitle("World of Warcraft")); //This Opens "World of Warcraft" window
                uint playerbase = wow.ReadUInt(wow.ReadUInt(wow.ReadUInt(0x00CF7C00) + 0x34) + 0x24); //this is the player base
                string playername = wow.ReadASCIIString(0x00C923F8, 12); //reads player name
                uint Level = wow.ReadUInt(wow.ReadUInt(playerbase + 0x8) + (0x35 * 4)); // Reads players level
                float playerx = wow.ReadFloat(playerbase + 0x798); // Read players xlocation
                float playery = wow.ReadFloat(playerbase + 0x79C); // Read players ylocation
                float playerz = wow.ReadFloat(playerbase + 0x7A0); // Read players zlocation
                Console.WriteLine("Player Name is: " + playername); //writes to console to tell player name
                Console.WriteLine("Player level is:" + Level); //writes to console to tell player level
                Console.WriteLine("Player X cord is:" + playerx); //writes to console to tell players x cordinate
                Console.WriteLine("Player Y cord is:" + playery); //writes to console to tell players y cordinate
                wow.WriteFloat(0x00CB9814, x here); // x pos from prompt
                wow.WriteFloat(0x00CB9818, y here); // y pos from prompt
    wow.WriteInt(0x00CB97A4, 4);//makes character walk
            }
        }
    }
    now do "ctrl+F5" and it should make your character move to whatever x,y cord you put in there and that's memory writing.

    Thank you for reading this tut and i hope you enjoyed it.

    (Tutorial) Starting WoW-Memory Reading/Writing
  2. #2
    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 Mrbrightside View Post

    Thank you for reading this tut and i hope you enjoyed it.

    Sku and I have thoroughly enjoyed this, thanks for contributing. // Tells the OP that sku and I have enjoyed his post

    plus rep // Tells the OP he got reputation
    Last edited by Robske; 01-04-2010 at 08:05 PM. Reason: Commenting // Tells Apoc this was edited for commenting
    "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

  3. #3
    Mrbrightside's Avatar Banned
    Reputation
    36
    Join Date
    Dec 2008
    Posts
    56
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anytime im glad you enjoyed it. // Tells Robske that im glad Robske enjoyed it but first gives him smiley face
    Last edited by Mrbrightside; 01-04-2010 at 08:22 PM. Reason: Forgot to add note //Tells reason for editing

  4. #4
    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)
    Originally Posted by Mrbrightside View Post
    Anytime im glad you enjoyed it. // Tells Robske that im glad Robske enjoyed it but first gives him smiley face

  5. #5
    Mrbrightside's Avatar Banned
    Reputation
    36
    Join Date
    Dec 2008
    Posts
    56
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ok i understand... Back to topic then.

  6. #6
    -Ryuk-'s Avatar Elite User CoreCoins Purchaser Authenticator enabled
    Reputation
    529
    Join Date
    Nov 2009
    Posts
    1,028
    Thanks G/R
    38/51
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    A nice simple tut...

    Good Job!
    |Leacher:11/2009|Donor:02/2010|Established Member:09/2010|Contributor:09/2010|Elite:08/2013|

  7. #7
    xerconix's Avatar Member
    Reputation
    1
    Join Date
    Sep 2009
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm new to the site and this was an excellent help and start, Thanks for the great work!

  8. #8
    Mrbrightside's Avatar Banned
    Reputation
    36
    Join Date
    Dec 2008
    Posts
    56
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you, if you have any questions feel free to ask.

  9. #9
    ninjamint's Avatar Private
    Reputation
    1
    Join Date
    Dec 2009
    Posts
    3
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you're writing to memory, isn't that detectable?

  10. #10
    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)
    Yes, detectable. Detected, no.

  11. #11
    kostas89's Avatar Member
    Reputation
    1
    Join Date
    Oct 2007
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Really great tutorial! Thanks for the help.
    Ive got one question though, and yes you can flame if you want because iam a noob.

    When I try to get the playerbase on my 3.2.2 wow i get an error. Is this playerbase for 3.3.2 or did I just do something wrong? Could you please tell me the playerbase for 3.2.2 or were to find it? Ive searched in the Dump thread trying to find the playerbase but I didnt find it...

    I assume that the playerbase address is wrong, because when I try:
    uint a = wow.ReadUInt(wow.ReadUInt(0x00CF7C00) + 0x34);
    I get zero...

    Thanks in advance, Kostas

  12. #12
    Danne206's Avatar Contributor
    Reputation
    183
    Join Date
    Jan 2008
    Posts
    717
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Learning C# for full, this gave me a good view of stuff. Thanks mate, +3 if I can.
    Dahnniel [DOT] s [AT] gmail [DOT] com

  13. #13
    falkor's Avatar Corporal
    Reputation
    7
    Join Date
    Feb 2010
    Posts
    23
    Thanks G/R
    1/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would like to express my greatest thanks to you sir for providing this tutorial.
    I've only just started learning c# and have to say I know nothing about c# or memory reading BUT I read alot and persist alot till something works.

    Just thought I'd attach the below screenshot to show what a complte n00b can do if he reads your tutorial and puts a bit of thought into it.

    The multiline text box is going to be a way point logger to a textfile but for now its a placeholder.

    Last edited by falkor; 03-04-2010 at 10:11 AM. Reason: updated image url

  14. Thanks crunk001 (1 members gave Thanks to falkor for this useful post)
  15. #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)
    Originally Posted by falkor View Post
    I would like to express my greatest thanks to you sir for providing this tutorial.
    I've only just started learning c# and have to say I know nothing about c# or memory reading BUT I read alot and persist alot till something works.

    Just thought I'd attach the below screenshot to show what a complte n00b can do if he reads your tutorial and puts a bit of thought into it.

    The multiline text box is going to be a way point logger to a textfile but for now its a placeholder.

    Fyi, renaming your window title is pointless.

  16. #15
    falkor's Avatar Corporal
    Reputation
    7
    Join Date
    Feb 2010
    Posts
    23
    Thanks G/R
    1/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cypher View Post
    Fyi, renaming your window title is pointless.

    Maybe if you backed up your comment with some reasoning I'd be more intrested in accepting that as a fact and not opinion...

    I was lead to believe during my research that Warden also scans Windows titles out of its process for certain names, thus random window titles are but one small step towards providing a little bit of security to your apps future...

Page 1 of 14 12345 ... LastLast

Similar Threads

  1. WoW Memory reading/writing questions
    By mathix in forum WoW Memory Editing
    Replies: 3
    Last Post: 03-11-2013, 08:17 AM
  2. [Bot] WoW Memory Reading Help (Player Name)
    By zamba1587 in forum WoW Memory Editing
    Replies: 5
    Last Post: 08-05-2011, 01:27 AM
  3. [Request][Bounty] WoW memory reading example script c++
    By foxlin in forum WoW Bots Questions & Requests
    Replies: 4
    Last Post: 07-27-2011, 09:08 AM
  4. How do i know if a Bot is using memory reading / writing?
    By sturmtiger in forum WoW Bots Questions & Requests
    Replies: 1
    Last Post: 01-06-2011, 06:31 AM
  5. In process memory reading/writing
    By unbekannt1 in forum WoW Memory Editing
    Replies: 7
    Last Post: 06-08-2010, 06:52 PM
All times are GMT -5. The time now is 12:04 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