THREAD: Creating an RTM Tool in C# (Text Tutorial)
  1. 10-08-2015, 11:39 PM
    Freezee's Avatar
    Freezee
    Bounty hunter
    Freezee's Avatar
    Freezee
    Bounty hunter
    172
    Posts
    1,116
    Reputation
    Jan 2015
    NextGenUpdate
    Introduction




    This tutorial will explain everything you need for making an Real Time Editing (memory editing) Software!






    Creating the application[/SIZE]



    Firstly, Open your Visual Studio IDE, for those of you who don't know what IDE stands for, It stands for an "Integrated Development Environment". It mainly consist of a Source Code Editor, Compiler, Debugger among other things.

    Secondly. In your Visual Studio IDE. Go to the very top left click File > New Project. It (should) look like this.

    Spoiler:
    You must login or register to view this content.


    If you don't see whats in the above image, go to File > New Project, on the left side click Installed > Templates > Visual C#.

    After you successfully do that, you will be greeted with a Form that you can design.
    Spoiler:
    You must login or register to view this content.


    You can design the Form your way by using the "Properties" Section.
    Spoiler:
    You must login or register to view this content.


    You can also use the toolbox on the left side of the program.



    Update (4/20/17): I've tried making a tool on the Visual Studio 2015 IDE and it seems you will get problems trying to reference 'PS3lib.dll' in your program, click You must login or register to view this content. to get the classes, just drag and drop on your project and reference them properly.[/COLOR]







    Adding CCAPI and PS3Lib .dlls




    On your Visual Studio IDE, Go to the top right and click Project > Add Reference. Go to the directory of your PS3Lib.dll file and click it.

    In order to add CCAPI.dll, You need to go to your Visual Studio Project Directory, by default (most of the time) it is "C:/Users/Username/Documents/Visual Studio XXXX/Projects/ProjectName/bin/debug" this could be different for you.

    Your CCAPI.dll would go in your projects "bin/debug" folder.

    Go back to Visual Studio, go to your form, double click it and add a 'using PS3Lib;" at the top.

    You want to define a PS3 API, this will be used for Connecting to your PS3, attaching to games, memory editing and so on. Define it such as the example below.
    PS3API myPS3API = new PS3API();


    Now you can hit Start and build the program!








    Setting up your application


    Start with making a Connect and Attach Button.

    You can use a number of other Toolbox Objects to make a Control Console API or Target Manager API Connection. A few include: Button, Check-Box(s), Radio-Button(s) and so on.

    For the sake of simplicity, I will just use a button. You can use Radio-Button(s) if you are making a Control Console / Target Manager Tool.



    If you would like to give the objects name in order to keep track, you can click on said object and go down and modify the Design Name.



    Now you can click on your API Selection Object(s) and change the API to Control Console or Target Manager.


    YourAPIName.ChangeAPI(SelectAPI.ControlConsole); // for CCAPI

    YourAPIName.ChangeAPI(SelectAPI.TargetManager); // for TMAPI.


    Create an Object on your form, we will use it for Connecting to your PS3, letting you edit memory. If you already made it just click it and add the following.

    Note: Using an if/else statement is one of the (if not the best) ways of checking if the user has connected, you could use other methods if you want.

    if (YourAPIName.ConnectTarget(0)) //You can change the 0 and have it get text from a textbox, or a preset string, such as "192.168.0.1 (Preset String)", YourTextBox.Text (One a user can input).
    {
    // If user does connect to the PS3 selected.

    MessageBox.Show("Input Message-box Message here", "Input Message-box Title here");
    }
    else
    {
    // If the user does not connect to the PS3, by closing out of the selection window, inputting a bad IP address or whatever else.

    MessageBox.Show("Input Message-box Message here", "Input Message-box Title here");
    }
    }


    You can use other methods to check if the user connected. I won't go into any detail.


    Now before we can start editing any memory (adding Modifications), We need to make an Attach button. It will enable you too connect to whatever game process is running. After you create your Attach button, You can add the following code.

    if (YourAPIName.AttachProcess())
    {
    // If the user connects to whatever game process is running.

    MessageBox.Show("Input Message-box Message here", "Input Message-box Title here");
    }
    else
    {
    // If the user does not connect to anything.

    MessageBox.Show("Input Message-box Message here", "Input Message-box Title here");
    }
    }








    Adding Modifications!
    [/SIZE]


    Now you can start adding our Modifications. I will choose the game Modern Warfare Three for the sake of simplicity.

    I will just add an Advanced UAV function for this tutorial.

    Firstly, add a "Check box" Object onto the Form so we can enable and disable this Modification.

    Now click on the Check-box and write the following.

    We are going to use an if/else statement for this Modification so we can enable or disable it.

    if (YourCheckboxName.Checked) //If your Check-box is clicked 'checked' do the following
    {
    Byte[] advanceduavon = new Byte[] { 02 };
    YourAPIName.SetMemory(0x5F067, advanceduavon);
    }
    else // If Check-box was unchecked then do the following
    {
    Byte[] advanceduavoff = new Byte[] { 0x01 };
    YourAPIName.SetMemory(0x5F067, advanceduavoff); //0x5F067 is an offset, there is a thread below with more offsets.
    }
    }




    You can now load Modern Warfare Three, Connect & Attach then enable the Modification and It will work!
    [/COLOR]







    Useful Information


    Spoiler:
    Post


    MW3 Offset Thread by Insanely Death: You must login or register to view this content.


    Help!
    [/SIZE]

    Q: Where do I find "CCAPI and PS3Lib.dll"?
    A: You can find them off the FrenchModdingTeam sites and get them from other RTM tools if you want.

    Q: What is "PS3API"
    A: PS3API defines an API which will let you interact with your PS3 and Let you do things like make edit memory, change the LED colors and other things.

    Q: What is an if/else statement?
    A: It's exactly what it says, Lets say you have a button on your form. Change the text to 'Hello', Click on it. Write something like.
    if (button1.Text == "Hello") // If the buttons text name equals hello.
    {
    button1.Text = "World!"; // then change the text name to world.
    }
    else // If button text does not equal 'Hello'
    {
    button1.Text = "Bye!"; // Changes the text to Bye!
    }
    }



    Definitions!

    Definition: "using PS3Lib"

    Answer: "Using" Statements provide a way to access various parts of the .NET Framework (or other .dlls) that you might use in your program.


    Programs!
    [/SIZE]
    C# Themes: You must login or register to view this content.[/SIZE][/COLOR]
    Last edited by Freezee ; 04-20-2017 at 02:11 PM. Reason: Cleaned up the thread a little.

  2. The Following 8 Users Say Thank You to Freezee For This Useful Post:

    , , , , , , ,

  3. 10-08-2015, 11:56 PM
    Remy's Avatar
    Remy
    Guest
    Remy's Avatar
    Remy
    Guest
    n/a
    Posts
    n/a
    Reputation
    Once upon a time...
    NextGenUpdate
    You should take "[CEX]" out of the thread title.
    Also I think it is CCAPI 2.50+ (one of the updates do not know which one) there is no need of adding CCAPI.dll to your project as it automatically finds it on the PC I believe.
    Other than those nice tutorial :yes:
    You should rewrite or add on and explain how to just include PS3lib directly into the source rather than using the dll Winky Winky would be helpful to some.
  4. The Following 2 Users Say Thank You to Remy For This Useful Post:

    ,

  5. 10-09-2015, 12:02 AM
    Freezee's Avatar
    Freezee
    Bounty hunter
    Freezee's Avatar
    Freezee
    Bounty hunter
    172
    Posts
    1,116
    Reputation
    Jan 2015
    NextGenUpdate
    Originally Posted by Infraction View Post
    You should take "[CEX]" out of the thread title.
    Also I think it is CCAPI 2.50+ (one of the updates do not know which one) there is no need of adding CCAPI.dll to your project as it automatically finds it on the PC I believe.
    Other than those nice tutorial :yes:
    You should rewrite or add on and explain how to just include PS3lib directly into the source rather than using the dll Winky Winky would be helpful to some.


    I edited the title*, I will do a snippet on how to add PS3Lib into source later on!
    Last edited by Freezee ; 10-09-2015 at 12:06 AM.

  6. The Following User Thanked Freezee For This Useful Post:


  7. 11-04-2015, 11:03 PM
    71
    Posts
    299
    Reputation
    Dec 2014
    NextGenUpdate
    Thanks you brother DancingDancing
  8. The Following User Thanked AppaTroix For This Useful Post:


  9. 11-12-2015, 12:00 PM
    Kezzz's Avatar
    Kezzz
    LMAOOOO HI
    Kezzz's Avatar
    Kezzz
    LMAOOOO HI
    428
    Posts
    882
    Reputation
    Mar 2015
    NextGenUpdate
    There is a tool I want to use, but it's only for ccapi, is there a way to make it support tmapi as well?
  10. The Following User Thanked Kezzz For This Useful Post:


  11. 11-12-2015, 12:04 PM
    Freezee's Avatar
    Freezee
    Bounty hunter
    Freezee's Avatar
    Freezee
    Bounty hunter
    172
    Posts
    1,116
    Reputation
    Jan 2015
    NextGenUpdate
    Originally Posted by GoKezGo View Post
    There is a tool I want to use, but it's only for ccapi, is there a way to make it support tmapi as well?


    You could always make your own, Once you have the addresses/offsets. If the Tool is open source, you can just add the TMAPI "Dynamic Link Libraries (.DLL)s. And write some code to have it connect with TMAPI, Or you can request the creator to add TMAPI Support.
  12. 11-17-2015, 05:16 AM
    Mafusah's Avatar
    Mafusah
    Grunt
    Mafusah's Avatar
    Mafusah
    Grunt
    49
    Posts
    18
    Reputation
    Nov 2015
    NextGenUpdate
    welcome
  13. 11-17-2015, 05:17 AM
    Mafusah's Avatar
    Mafusah
    Grunt
    Mafusah's Avatar
    Mafusah
    Grunt
    49
    Posts
    18
    Reputation
    Nov 2015
    NextGenUpdate
    look up dex tools
  14. 11-17-2015, 05:17 AM
    Mafusah's Avatar
    Mafusah
    Grunt
    Mafusah's Avatar
    Mafusah
    Grunt
    49
    Posts
    18
    Reputation
    Nov 2015
    NextGenUpdate
    thanks for the post!
  15. 12-27-2015, 01:06 AM
    anxify's Avatar
    anxify
    I am error
    anxify's Avatar
    anxify
    I am error
    73
    Posts
    650
    Reputation
    Nov 2015
    NextGenUpdate
    Nice thread <3