[Open Source] Simple RTE Source Code- make an RTE in minutes

Discussion in 'Open Source Tools' started by begallegal1, Aug 21, 2014.

  1. begallegal1

    begallegal1 Medicine Man Lifetime Gold TeamXPG
    5/47

    This RTE is going to be a bit different from what most are used to seeing.​
    It does not use XRPC, XDevkit or any of it's similar types of plugins or DLL's and SDK is not required!

    The only requirements for this to work is to have a Jtag or RGH console with xbdm.xex plugin installed (devkernel and xdk have this built in)

    here's my example with a single cheat using a checkbox
    [​IMG]

    I have also added "freeze" and "unfreeze" commands to show further use of the TCP client ;)

    The notation should be enough to help most work through this code, feel free to ask questions, and for those of a higher experience level please keep in mind this is a bare bones example to help get people started.
    UnHidden Content:


    //For this example we create a form app with 3 buttons, one textbox and a checkbox , and a setting to save our IP

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.Sockets;

    namespace TCP_RTE
    {
    public partial class Form1 : Form
    {
    //our client will be called jtagCon
    public TcpClient jtagCon;

    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    //(create a string setting called 'IP' in your Properties/Settings.settings page)
    //when the form loads insert the last saved IP into the text box
    IP_Box.Text = Properties.Settings.Default.IP;
    }

    private void IP_Box_TextChanged(object sender, EventArgs e)
    {
    //if IP text is changed, save the user IP setting
    Properties.Settings.Default.IP = IP_Box.Text;
    Properties.Settings.Default.Save();
    }

    private void connectBtn_Click(object sender, EventArgs e)
    {
    //attempt connection when button is clicked
    Connect();
    }

    public void Connect()
    {
    try
    {
    //create a new TPC client object
    jtagCon = new TcpClient();

    //Connect to our console on port 730
    jtagCon.Connect(IP_Box.Text, 730);

    //here we should generally do some extra connection checks, but no need really
    }
    catch (Exception)
    {
    //if failed user should check network and plugins, then try again or quit application
    DialogResult dialogResult = MessageBox.Show("Please Check Your xbdm.xex Plugin And Network Connection\n\nTry Again? (Y) or Exit (N)", "FAILED!", MessageBoxButtons.YesNo);
    if (dialogResult == DialogResult.Yes)
    {
    Connect();
    }
    else if (dialogResult == DialogResult.No)
    {
    Application.Exit();
    }
    }

    //If success , show message that we are connected
    MessageBox.Show("Xbox 360 Connected And Ready!", "begalbrew RTE");

    //make our connect button text show connected and turn green
    connectBtn.Text = "Connected!";
    connectBtn.ForeColor = System.Drawing.Color.Green;
    }

    //a quick method to set our memory to a new value using the memory address, and our value as a string
    public void DoCheat(UInt32 offset, string Value)
    {
    string Valuez = Value;
    jtagCon.Client.Send(Encoding.ASCII.GetBytes(string.Format("SETMEM ADDR={0} DATA={1}\r\n", offset, Valuez)));
    }

    private void cheatBox1_CheckedChanged(object sender, EventArgs e)
    {
    //if checked call our 'DoCheat' method and insert our offset and our desired value (value must be in string format)
    if (cheatBox1.Checked)
    {
    DoCheat(0x42069420, "3b9ac9ff");
    }
    //else reset to default value, turn off option , etc
    else
    {
    DoCheat(0x42069420, "00000000");
    }
    }

    //a similar TCP command used to freeze and unfreeze the console
    private void freezeBtn_Click(object sender, EventArgs e)
    {
    jtagCon.Client.Send(Encoding.ASCII.GetBytes("STOP\r\n"));
    }

    private void unfreezeBtn_Click(object sender, EventArgs e)
    {
    jtagCon.Client.Send(Encoding.ASCII.GetBytes("GO\r\n"));
    }
    }
    }

     
  2. AD

    ADDZ Guest

    Perfect for personal projects or to get started, be good to see some of the outcome if people use this
     
  3. begallegal1

    begallegal1 Medicine Man Lifetime Gold TeamXPG
    235/282

    Exactly that, great little starting platform for game RTE's and test tools,, this can be used to make a nice little offset testing tool for trainer devs to save some of that "rebuild,reboot" time.

    one other thing I would like to point out is that you can make the cheats on any type of "switch" you would like, sometimes I use the slider and just set it's max value to 1 so it only has 0,1 (on/off) , or setting up the "DoCheat" inside a timers tick method will "Poke" the offset with every tick of the timer interval, great for games that like to reset things on you. Lots of possibilities to play with ;)
     
  4. MtnDoo

    MtnDoo XPG MtnDoo
    0/47

    Guess ill try to see how programming goes
     
  5. pedro210

    pedro210 Newbie
    0/47

    Nice gonna have to give this a try also
     
  6. an

    anotherdays Newbie
    0/47

  7. mr

    mrprime Newbie
    0/47

  8. 740headshot

    740headshot Developer XPG Developer
    25/47

    nice thx
     
  9. suprashake

    suprashake Member
    25/47

    thxs you all
     
  10. boback

    boback Newbie
    0/47

    Thank you. :)
     
  11. MrMod24

    MrMod24 Newbie
    0/47

  12. co

    coltonviens Newbie
    0/47

  13. Ju

    JuDoKid21 Rookie
    15/47

    Thanks for this man!
     
  14. Fr

    Frosty1231 Newbie
    0/47

    thanks for the release
     
  15. cl

    cliftonm1996 Rookie
    10/47

    thank you for the help
     
  16. Ca

    CandyModz12 Newbie
    0/47

    Very nice, release.....
     
  17. no

    nobodymodzz Newbie
    0/47

    i sure hope this works ...excellent job if it does
     
  18. Bo

    BobMods Newbie
    0/47

    Im about to try this :)
     
  19. Jo

    JoshKingz Newbie
    0/47

    Thanks for dis trying it now
     
  20. ig

    igorbestov1986 Newbie
    5/47

    Very good site! I love you!
     

Share This Page