Post: Creating an RTM Tool in C# (Text Tutorial)
10-08-2015, 11:39 PM #1
Bounty hunter
(adsbygoogle = window.adsbygoogle || []).push({});

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.

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.
You must login or register to view this content.

You can design the Form your way by using the "Properties" Section.
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)) //[B]You can change the 0 and have it get text from a textbox, or a preset string, such as " (Preset String)", YourTextBox.Text (One a user can input).[/B]
[B]// If user does connect to the PS3 selected.[/B]

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

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())
[B]// If the user connects to whatever game process is running.[/B]

MessageBox.Show("Input Message-box Message here", "Input Message-box Title here");
[B]// If the user does not connect to anything.[/B]

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

Adding Modifications!

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) [B]//If your Check-box is clicked 'checked' do the following[/B]
Byte[] advanceduavon = new Byte[] { 02 };
YourAPIName.SetMemory(0x5F067, advanceduavon);
else [B]// If Check-box was unchecked then do the following[/B]
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!

Useful Information


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


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") [B]// If the buttons text name equals hello[/B].
button1.Text = "World!"; [B]// then change the text name to world.[/B]
else [B]// If button text does not equal 'Hello'[/B]
button1.Text = "Bye!"; [B]// Changes the text to Bye![/B]


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.

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.

The following 8 users say thank you to Freezee for this useful post:

anxify, Father Luckeyy, Geo, puffindaherb, RTE, Jon Snow, Tustin, XxBlud23xX
12-15-2016, 09:34 PM #20
04-20-2017, 02:15 PM #21
Bounty hunter
Updated the tutorial with some formatting changes and text changes.

Originally posted by Dr.
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

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;

No need for it, Thanks anyways.

Originally posted by United View Post
How do you get the PS3Lib.dll?

You can get the classes from the PS3Lib github, seems Visual Studio 2015 and higher, you cant add PS3lib as a reference or it will crash.
You must login or register to view this content.
02-15-2018, 07:13 AM #22
Awesome tutorial

making an RTM/RTE is not hard For me

Only thing can make me boring is searching the code

You know what i am Mean right ?

Console running on DEX ( cex ia too slow )

And alot more stuff

Unlik the PC

We can USE cheat engine

But PS3 hacking is more awesome for me


I have been hacking since 2009

PS2 my first projects unti 2016

And PS3 hacking start from 2017 .

Lol yeah

I am just too late. .....

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo