First off I'd like to thank
Hybird,
Andy and
tao4229 for helping me along the way with any questions I asked. Also a big thanks to Korvacs'

which has helped in a number of ways.
Anyway to my main point, ever since jProxy was shutdown I've been working (lazily) on my own proxy with the goal of creating something like jProxy which includes an API for anyone to be able to create plugins, in addition to all packet structures saved in separate library for the purpose of it being editable by any person so it would work on private servers too rather than just tq's own servers. Currently I'm done with most of the main code and API, both in C#, but I'm planning to re-write the main thing in native code. I also apologize for the uncreative name

That's it for now and stay tuned for more updates.
First Video Update:
Removed cause it sucks so bad
Second Video Update:
Third Video Update:
Quote:
Originally Posted by gabrola
So I decided to work a little during my finals and now I'm done with sending over packets from the native proxy to the .NET plugin manager, tomorrow if I got time after I'm done studying, I'll work on the plugin manager so it can load plugins and send packets to them. After that, I'll create my authentication server so I can send it over to some developers. (All of that is done)
Any C#/VB.NET developer with some knowledge about conquer packets (basically can make use of packets) interested in trying this out can post in this thread.
|
Plugin Developing:
So all plugins are going to be class libraries obviously, so here's how it's gonna work.
In your main class in the project you must have a "Main" public static void method, no arguments at all, that will be the method called once the plugin is loaded, it should be something like
Code:
public static void Main()
{
MessageBox.Show("Plugin Loaded!");
}
Then we have two optional methods, ClientToServer and ServerToClient, these also have to public static bools and should contain two arguments, an IntPtr and a byte array, these two methods will basically be called every time a packet is sent or received, the IntPtr is a pointer to the native client instance and is useless for now until I finish the API, and the methods should look like this
Code:
public static bool ClientToServer(IntPtr ClientInstance, byte[] Packet)
{
ushort Type = BitConverter.ToUInt16(Packet, 2);
MessageBox.Show("Packet sent from client " + ClientInstance + " to server, type " + Type);
return true;
}
Same with ServerToClient, another thing I forgot to mention, return true to let the packet pass through and false to block it from being sent.
Also another thing you should do in the Main method is that you make sure it does not contain blocking code or else it will block the rest of the plugins from loading and the rest of the native code from running. Compile the project and copy the DLL to the gProxy directory.
Adding the plugin is easy, open up Plugins.xml in any text editor and under the gPacketLogger plugin add another one identical to it, set the name whatever the you want, set the File to the name of the file and Class set it as your library's Namespace.Class
so if your library looks something like this
Code:
namespace Gabrola
{
class Aimbot
{
public static void Main(){ .... }
}
}
your Plugins.xml should look something like
Code:
<?xml version="1.0" encoding="utf-8" ?>
<Plugins>
<Plugin Name="PacketLogger">
<File>gPacketLogger.dll</File>
<Class>gPacketLogger.PacketLogger</Class>
</Plugin>
<Plugin Name="Aimbot">
<File>gAimBot.dll</File>
<Class>Gabrola.Aimbot</Class>
</Plugin>
</Plugins>
Sign up page is up, sign up here

and all approved testers should PM me their usernames so I can set them as authorized to use the proxy.
BEFORE YOU SIGNUP READ WHATS BELOW
Quote:
This testing stage is for .NET developers only with knowledge in conquer packets, please do not PM me about this anymore.
If you are willing to test this (which means testing out the plugins system and create your own plugins), create an account and PM me on elitepvpers so I can also invite you to our discussion group.
Gabrola.
|