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. 01-16-2016, 05:05 AM
    bieljtvz's Avatar
    bieljtvz
    Gobble
    bieljtvz's Avatar
    bieljtvz
    Gobble
    1
    Posts
    10
    Reputation
    Jan 2014
    NextGenUpdate
    I have a problem when I'm going to compile I get this following errors !

    "The type or namespace name 'EnableVisualStyles' does not exist in the namespace 'Application' (are you missing an assembly reference?)"
    "The type or namespace name 'SetCompatibleTextRenderingDefault' does not exist in the namespace 'Application' (are you missing an assembly reference?)"
    "The type or namespace name 'Run' does not exist in the namespace 'Application' (are you missing an assembly reference?)"

    How I can fix this ? Do you have to CCAPI.dll for me download?
  4. 01-23-2016, 01:26 PM
    llamaCFW's Avatar
    llamaCFW
    Haxor!
    llamaCFW's Avatar
    llamaCFW
    Haxor!
    35
    Posts
    50
    Reputation
    Dec 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?


    DEX can use both CCAPI and TMAPI
  5. 01-23-2016, 02:46 PM
    Kezzz's Avatar
    Kezzz
    LMAOOOO HI
    Kezzz's Avatar
    Kezzz
    LMAOOOO HI
    428
    Posts
    882
    Reputation
    Mar 2015
    NextGenUpdate
    Originally Posted by llamaCFW View Post
    DEX can use both CCAPI and TMAPI


    I know but my ccapi won't connect
  6. 01-23-2016, 03:46 PM
    llamaCFW's Avatar
    llamaCFW
    Haxor!
    llamaCFW's Avatar
    llamaCFW
    Haxor!
    35
    Posts
    50
    Reputation
    Dec 2015
    NextGenUpdate
    Originally Posted by GoKezGo View Post
    I know but my ccapi won't connect
    do you have Control console pkg on your PS3??? or do you have your PS3's ip in Control Console's App on your PC and make sure you replace the PS3 lib for your version of CCAPI?
    if you have all of that it should work fine
  7. 02-29-2016, 07:56 PM
    primetime43's Avatar
    primetime43
    Knowledge is power Tiphat
    primetime43's Avatar
    primetime43
    Knowledge is power Tiphat
    2,536
    Posts
    38,902
    Reputation
    Jan 2011
    NextGenUpdate
    Theres no such thing as a "rtm tool tut" wat
    If you want to make a tool for rtm, its called learn how to program, that simple. :p
  8. The Following User Groaned primetime43 For This Awful Post:


  9. 04-09-2016, 12:04 AM
    Jon Snow's Avatar
    Jon Snow
    Di DonDadda
    Jon Snow's Avatar
    Jon Snow
    Di DonDadda
    2,956
    Posts
    45,414
    Reputation
    Mar 2013
    NextGenUpdate
    NIce tutorial bro
  10. The Following User Thanked Jon Snow For This Useful Post:


  11. 04-17-2016, 07:49 PM
    Scouse Power's Avatar
    Scouse Power
    <span style="background:url(http://f.cl.ly/items/2x2u1r2w372V0m3G2o3Y/rain.gif);font-weight:bold;color:white;text-shadow: 0px 0px 3px;">Knowledge is power</span>
    Scouse Power's Avatar
    Scouse Power
    <span style="background:url(http://f.cl.ly/items/2x2u1r2w372V0m3G2o3Y/rain.gif);font-weight:bold;color:white;text-shadow: 0px 0px 3px;">Knowledge is power</span>
    399
    Posts
    26,584
    Reputation
    Oct 2014
    NextGenUpdate
    Nice tutorial, could do with some images though but either way it's easy to follow.
  12. The Following User Thanked Scouse Power For This Useful Post:


  13. 09-13-2016, 03:01 AM
    7,149
    Posts
    75,784
    Reputation
    Jun 2014
    NextGenUpdate
    Nice work on this tutorial bro you can add this in your tutorial for Disconnecting your rtm tool from the console as well. Add this coding into your Disconnect Button Smile

    {
    PS3.DisconnectTarget();
    MessageBox.Show("PS3 Disconnected From RTM Tool");
    simpleButton3.Text = " No Longer Connected to Console";
    simpleButton3.ForeColor = Color.Orange;
    simpleButton3.Text = "Disconnected From Console";
    simpleButton3.ForeColor = Color.Orange;
    }
  14. 09-27-2016, 11:04 PM
    United's Avatar
    United
    Big Sister
    United's Avatar
    United
    Big Sister
    980
    Posts
    3,268
    Reputation
    Aug 2015
    NextGenUpdate
    How do you get the PS3Lib.dll?