You are viewing our Forum Archives. To view or take place in current topics click here.
{Tutorial} How to create your own basic XRPC tool
Posted:

{Tutorial} How to create your own basic XRPC toolPosted:

XboxInferno
  • Junior Member
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
HOW TO CREATE YOUR OWN XRPC TOOL IN 3 SIMPLE PARTS!


What's going on everyone! It's XboxInferno here. I'll be going through the steps of making your own XRPC tool today. Of course it's not easy and you'll need some knowledge of a couple things but you can always give it your best shot.





Now, there are a couple things that we'll need to create our own XRPC tool:

- Visual Studio (any version from 10) or Microsoft Visual C#
You can get this software from the original Microsoft website. I will not be going through alternative ways of getting the software.

- Knowledge of C#
When coding in the C# language it's easier if you have some knowledge of the code you're going to write. If you don't have any or much knowledge of C#, I would recommend getting more known with C# first for future XRPC's, but for this tutorial you might be good to go.

- The correct offsets
You'll need the correct offsets from the game you're coding the XRPC for (duhh). In this tutorial I'll be making a Call of Duty Modern Warfare 3 XRPC. This is one of the easiest ones to create. I'll also be posting the code for every step, so a simple copy - paste would do the trick. But, for future XRPC's, make sure to get the offsets you need.

- Some files
We'll need some dll files and the XRPC.xex for the program to work. You have to add the XRPC.xex as a plugin to Dashlaunch. So here is the download link to the .rar file:
[ Register or Signin to view external links. ]
[ Register or Signin to view external links. ]





NOTE: This tutorial is made for people who would like to learn how to create a basic XRPC tool.

NOTE TO USERS: If you used my tutorial and have successfully created a tool, please do not release it just yet. Be creative and try to add as many cool things as you can. That's what will get you far in the XRPC developers world





1. Setting up the project and references

Lets start with setting up a new project.

Open Visual Studio or Visual C#. You'll see the start page from there. Click on 'New Project'.
[ Register or Signin to view external links. ]


Next, make sure that you have Visual C# selected on the left and click on 'Windows Form Application'. Optional: You can even give your project a name and select where to save it. I prefer to just keep it on default. Once done click OK at the bottom.
[ Register or Signin to view external links. ]


You'll now see a blank program layout. We're not going to change that for now, let's start by adding some references. Right-Click on 'References' which can be found on the right.
[ Register or Signin to view external links. ]


Next, click on 'Add Reference'.
[ Register or Signin to view external links. ]


Click on 'Browse'.
[ Register or Signin to view external links. ]


Now, search for the dll's I gave you and select all of them. Click 'OK'.
[ Register or Signin to view external links. ]


You now have successfully added the needed references.

Next, double click on the 'Form 1' text in your project.
[ Register or Signin to view external links. ]


A new part in the project will open. This is where all the coding magic happens. Scroll all the way up and you'll see something like 'using bla bla bla'. Now, add the following line of code under the last 'using ...' part.

using DevComponents;
using JRPC_Client;
using XDevkit;
using XRPCLib;


If done correctly it'll look something like this:
[ Register or Signin to view external links. ]


Congratulations! You successfully completed part 1. On to part 2!




2. Setting up the layout and buttons

In this part we'll edit the layout of the Windows Form and we'll add some buttons.

Lets start with giving the form a better layout.

Find the following code:

public partial class Form1 : Form


Next edit the 'Form' part. Change Form to the following line of code:

DevComponents.DotNetBar.Metro.MetroForm


If done correctly it should look something like this:
[ Register or Signin to view external links. ]


Now, click on 'Form1.cs [Design]' at the top of the project. This will take you back to the 'Form'. Notice how the 'Form' layout changed.
[ Register or Signin to view external links. ]


Lets add some buttons. Click on 'Toolbox' on the left.
[ Register or Signin to view external links. ]


From there, drag a button to the 'Form'. Place it anywhere you like. You can also re-size the button.
[ Register or Signin to view external links. ]


To edit the text of the button: Click on the button once, then on the right in the tab 'Properties' find 'Text'. You'll be able to edit the text of the button from there. Repeat this step with every button you'd like to add.
[ Register or Signin to view external links. ]


That's it for this part. You've successfully customized your Form!

On to part 3!




3. Basic steps and setting up offsets

Every XRPC needs a way to connect to the Jtag, RGH or other unsigned code console.

Lets start with something easy!

Find the following line of code:

public partial class Form1 : DevComponents.DotNetBar.Metro.MetroForm
    {


Now add the following code underneath that code:

XRPC Jtag = new XRPC();


After doing so it should look something like this:
[ Register or Signin to view external links. ]


But, we also want to be able to connect the XRPC to our Jtag, RGH or other unsigned code console. Lets create a 'Connect' button.

Update your button to say Connect. Next, double click on the button. You'll be taken to the code part of your project. Now simply add the following code inside the {}

Jtag.Connect();

                if (Jtag.activeConnection)
                {
                    MessageBox.Show("Successfully Connected To: " + Jtag.xbCon.Name + "\n\nConsole Type: " + Jtag.xbCon.ConsoleType + "\n\nMounted Drives: " + Jtag.xbCon.Drives + "\n\nCurrently Running: " + Jtag.xbCon.RunningProcessInfo.ProgramName, "Connected!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Jtag.Notify(XRPC.XNotiyLogo.FLASHING_HAPPY_FACE, "Successfully connected to the XRPC! Enjoy!");
                }

                else
                {
                    MessageBox.Show("A Secure Connection Could Not Be Made!\nPlease check your plugins and try again!", "Connection Error!", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                }


If done correctly it should look something like this:
[ Register or Signin to view external links. ]


Now, we're going to add a button that will give everyone Unlimited Ammo. Start by adding a new button and name it Unlimited Ammo. Now go to the code part of your project and

From there, simply add the following code inside the { }

Jtag.SetMemory(0x820F63E0, new byte[] { 0x60, 00, 00, 00 });
      Jtag.Call(0x822C9278, -1, 0, "c ^7UnlimitedAmmo ^3{ON}");


It should look something like this:
[ Register or Signin to view external links. ]


You can do this with every offset you would like to add. Simply grab the code, create a button and name it, open button code and paste the offset(s) inside the { }.

I will not be posting any offsets in here due to the fact that most offsets are still unreleased.

After you are done creating your tool, start the building process. You can do this by clicking 'BUILD' and selecting 'Build {your project name}'.

It should say the following in the 'Output' console at the bottom:

------ Build started: Project: {your project name}, Configuration: Debug x86 ------
  {your project name} -> {your saved location}
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========


The final output will be in the folder you selected when creating your project.

Congratulations! You have successfully created your XRPC tool!





If you have any questions, feel free to contact me:

AIM: xboxinferno @ aim.com
TTG: send me a PM





Thank you for reading and I hope that I helped you out


Last edited by XboxInferno ; edited 5 times in total

The following 4 users thanked XboxInferno for this useful post:

hulk9029 (07-07-2014), UDL (03-22-2014), EchoRGH (03-21-2014), Fak3Nat1c (03-21-2014)
#2. Posted:
USTA
  • Christmas!
Status: Offline
Joined: Mar 14, 201410Year Member
Posts: 344
Reputation Power: 22
Status: Offline
Joined: Mar 14, 201410Year Member
Posts: 344
Reputation Power: 22
XboxInferno wrote
HOW TO CREATE YOUR OWN XRPC TOOL IN 3 SIMPLE PARTS!


What's going on everyone! It's XboxInferno here. I'll be going through the steps of making your own XRPC tool today. Of course it's not easy and you'll need some knowledge of a couple things but you can always give it your best shot.





Now, there are a couple things that we'll need to create our own XRPC tool:

- Visual Studio (any version from 10) or Microsoft Visual C#
You can get this software from the original Microsoft website. I will not be going through alternative ways of getting the software.

- Knowledge of C#
When coding in the C# language it's easier if you have some knowledge of the code you're going to write. If you don't have any or much knowledge of C#, I would recommend getting more known with C# first for future XRPC's, but for this tutorial you might be good to go.

- The correct offsets
You'll need the correct offsets from the game you're coding the XRPC for (duhh). In this tutorial I'll be making a Call of Duty Modern Warfare 3 XRPC. This is one of the easiest ones to create. I'll also be posting the code for every step, so a simple copy - paste would do the trick. But, for future XRPC's, make sure to get the offsets you need.

- Some files
We'll need some dll files and the XRPC.xex for the program to work. You have to add the XRPC.xex as a plugin to Dashlaunch. So here is the download link to the .rar file:
[ Register or Signin to view external links. ]
[ Register or Signin to view external links. ]





1. Setting up the project and references

Lets start with setting up a new project.

Open Visual Studio or Visual C#. You'll see the start page from there. Click on 'New Project'.
[spoil] [ Register or Signin to view external links. ]


Next, make sure that you have Visual C# selected on the left and click on 'Windows Form Application'. Optional: You can even give your project a name and select where to save it. I prefer to just keep it on default. Once done click OK at the bottom.
[ Register or Signin to view external links. ]


You'll now see a blank program layout. We're not going to change that for now, let's start by adding some references. Right-Click on 'References' which can be found on the right.
[ Register or Signin to view external links. ]


Next, click on 'Add Reference'.
[ Register or Signin to view external links. ]


Click on 'Browse'.
[ Register or Signin to view external links. ]


Now, search for the dll's I gave you and select all of them. Click 'OK'.
[ Register or Signin to view external links. ]


You now have successfully added the needed references.

Next, double click on the 'Form 1' text in your project.
[ Register or Signin to view external links. ]


A new part in the project will open. This is where all the coding magic happens. Scroll all the way up and you'll see something like 'using bla bla bla'. Now, add the following line of code under the last 'using ...' part.

using DevComponents;
using JRPC_Client;
using XDevkit;
using XRPCLib;


If done correctly it'll look something like this:
[ Register or Signin to view external links. ]


Congratulations! You successfully completed part 1. On to part 2!




2. Setting up the layout and buttons

In this part we'll edit the layout of the Windows Form and we'll add some buttons.

Lets start with giving the form a better layout.

Find the following code:

public partial class Form1 : Form


Next edit the 'Form' part. Change Form to the following line of code:

DevComponents.DotNetBar.Metro.MetroForm


If done correctly it should look something like this:
[ Register or Signin to view external links. ]


Now, click on 'Form1.cs [Design]' at the top of the project. This will take you back to the 'Form'. Notice how the 'Form' layout changed.
[ Register or Signin to view external links. ]


Lets add some buttons. Click on 'Toolbox' on the left.
[ Register or Signin to view external links. ]


From there, drag a button to the 'Form'. Place it anywhere you like. You can also re-size the button.
[ Register or Signin to view external links. ]


To edit the text of the button: Click on the button once, then on the right in the tab 'Properties' find 'Text'. You'll be able to edit the text of the button from there. Repeat this step with every button you'd like to add.
[ Register or Signin to view external links. ]


That's it for this part. You've successfully customized your Form!

On to part 3!




3. Basic steps and setting up offsets

Every XRPC needs a way to connect to the Jtag, RGH or other unsigned code console.

Lets start with something easy!

Find the following line of code:

public partial class Form1 : DevComponents.DotNetBar.Metro.MetroForm
    {


Now add the following code underneath that code:

XRPC Jtag = new XRPC();


After doing so it should look something like this:
[ Register or Signin to view external links. ]


But, we also want to be able to connect the XRPC to our Jtag, RGH or other unsigned code console. Lets create a 'Connect' button.

Update your button to say Connect. Next, double click on the button. You'll be taken to the code part of your project. Now simply add the following code inside the {}

try
            {
                Jtag.Connect();

                if (Jtag.activeConnection)
                {
                    MessageBox.Show("Successfully Connected To: " + Jtag.xbCon.Name + "\n\nConsole Type: " + Jtag.xbCon.ConsoleType + "\n\nMounted Drives: " + Jtag.xbCon.Drives + "\n\nCurrently Running: " + Jtag.xbCon.RunningProcessInfo.ProgramName, "Connected!", MessageBoxButtons.OK, MessageBoxIcon.Information); //Message if connected successfully
                }

                else
                {
                    MessageBox.Show("A Secure Connection Could Not Be Made!\nPlease check your plugins and try again!", "Connection Error!", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                }
                Jtag.Notify(XRPC.XNotiyLogo.FLASHING_HAPPY_FACE, "Successfully connected to the XRPC! Enjoy!");
            }
            catch { }
        }


If done correctly it should look something like this:
[ Register or Signin to view external links. ]


Now, we're going to add a button that will give everyone Unlimited Ammo. Start by adding a new button and name it Unlimited Ammo. Now go to the code part of your project and

From there, simply add the following code inside the { }

Jtag.SetMemory(0x820F63E0, new byte[] { 0x60, 00, 00, 00 });
      Jtag.Call(0x822C9278, -1, 0, "c ^7UnlimitedAmmo ^3{ON}");


It should look something like this:
[img]http://imgur.com/4Joz28E[/img]


You can do this with every offset you would like to add. Simply grab the code, create a button and name it, open button code and paste the offset(s) inside the { }.

I will not be posting any offsets in here due to the fact that most offsets are still unreleased.

After you are done creating your tool, start the building process. You can do this by clicking 'BUILD' and selecting 'Build {your project name}'.

It should say the following in the 'Output' console at the bottom:

------ Build started: Project: {your project name}, Configuration: Debug x86 ------
  {your project name} -> {your saved location}
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========


The final output will be in the folder you selected when creating your project.

Congratulations! You have successfully created your XRPC tool!





If you have any questions, feel free to contact me:

AIM: xboxinferno @ aim.com
TTG: send me a PM





Thank you for reading and I hope that I helped you out
[/spoil]
Nice post. Should keep the new to C# people from spamming the forums. Needs to be stickied
#3. Posted:
XboxInferno
  • Junior Member
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
NostaIgia wrote
Nice post. Should keep the new to C# people from spamming the forums. Needs to be stickied


Thanks for the feedback! Much appreciated
#4. Posted:
TryHardForLife
  • Challenger
Status: Offline
Joined: Jun 11, 201311Year Member
Posts: 194
Reputation Power: 7
Status: Offline
Joined: Jun 11, 201311Year Member
Posts: 194
Reputation Power: 7
Holy $hi^ How much time did you take to make this.
Good work, I am glad people are doing something productive.
#5. Posted:
XboxInferno
  • Junior Member
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
TryHardForLife wrote Holy $hi^ How much time did you take to make this.
Good work, I am glad people are doing something productive.


Took me about 2 hours to create this. Taking the screenshots at every step took the most time

Appreciate your feedback!
#6. Posted:
USTA
  • Christmas!
Status: Offline
Joined: Mar 14, 201410Year Member
Posts: 344
Reputation Power: 22
Status: Offline
Joined: Mar 14, 201410Year Member
Posts: 344
Reputation Power: 22
XboxInferno wrote
TryHardForLife wrote Holy $hi^ How much time did you take to make this.
Good work, I am glad people are doing something productive.


Took me about 2 hours to create this. Taking the screenshots at every step took the most time

Appreciate your feedback!

So, how's your online project going?
#7. Posted:
XboxInferno
  • Junior Member
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
NostaIgia wrote
So, how's your online project going?


Please PM me about this.

I would like to keep this thread on topic.

Thanks.
#8. Posted:
IDA
  • Powerhouse
Status: Offline
Joined: Sep 21, 201311Year Member
Posts: 454
Reputation Power: 26
Status: Offline
Joined: Sep 21, 201311Year Member
Posts: 454
Reputation Power: 26
The amount of these have come and then gone ...

Also

I don't get it on connect you have if connected ....

And then then if it isn't connected it sends a xnotify ?
Logic = **** no


Good topic tho ..
#9. Posted:
DOLLARxHD
  • Junior Member
Status: Offline
Joined: Mar 10, 201113Year Member
Posts: 61
Reputation Power: 2
Status: Offline
Joined: Mar 10, 201113Year Member
Posts: 61
Reputation Power: 2
IDA wrote The amount of these have come and then gone ...

Also

I don't get it on connect you have if connected ....

And then then if it isn't connected it sends a xnotify ?
Logic = **** no


Good topic tho ..


That's why people are better off learning themselves.
#10. Posted:
XboxInferno
  • Junior Member
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
Status: Offline
Joined: Mar 17, 201410Year Member
Posts: 95
Reputation Power: 3
IDA wrote The amount of these have come and then gone ...

Also

I don't get it on connect you have if connected ....

And then then if it isn't connected it sends a xnotify ?
Logic = **** no


Good topic tho ..


The xnotify is outside the 'else'. So, whenever someone successfully connects it'll show the xnotify. It may have been easier to put the xnotify inside the 'if' but I just quickly wrote that code for tutorial purpose.
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.