The current DLLs that are out aren't very good. Luckily back when I was working on it with someone he let me in on the source code. Then later released the files without my consent. I improved greatly on the code. Please read the ReadMe.
Originally Posted by ReadMe.txt
By Mojobojo 2010
================================================
What this package includes
================================================
1. LaunchRTE.xex
2. RTEDll.xex
3. Halo 3 default.xex
4. Halo ODST default.xex
5. Halo Reach default.xex
6. Acension with plugins
7. Alteration with plugins
================================================
About
================================================
This is a total recode of the RTE xexs to solve some errors and improve performance.
================================================
Whats been added?
================================================
1. Checks to see if the memory address is valid.
2. No more annoying message boxes, only one unpon successful connection
3. A message box in case the dll fails to load (so you dont have to look at the logs)
4. An actual 1024 bytes of data allowed to write.
5. Bounds checks so you cannot write over 1024 bytes and cause a stack overflow.
Update 1
1. Fixed the error where the miniblade wont open.
2. Added updated plugins to Acension.
3. A name change to fix the confusion of what xex to launch.
4. A slight code change to LaunchRTE.xex.
5. Dll and launcher significantly smaller.
================================================
Credit
================================================
1. Cthulu, for the inital code.
2. Testers (You know who you are)
Mirrors are welcome and will be posted in the main post. I kinda need one due to my site being screwed up at the moment. Feel free to distribute this, as long as nothing gets repackaged or taken out of the rar file.
Download:
[You must be registered and logged in to see this link.]Password: N/A
Mirrors
[You must be registered and logged in to see this link.]Coding for the DLL
Coding for the dll is really simple.
Initializing your client
C#
IPAddress ipa = IPAddress.Parse("192.168.1.1");
IPEndPoint ipe = new IPEndPoint(ipa, 3000);
UdpClient udpc = new UdpClient();
udpc.Connect(ipe.Address, 3000);
VB
Dim ipa As IPAddress = IPAddress.Parse("192.168.1.1")
Dim ipe As New IPEndPoint(ipa, 3000)
Dim udpc As New UdpClient()
udpc.Connect(ipe.Address, 3000)
Sending the data
C#
private void SendData(byte[] data, int address)
{
byte[] memaddress = BitConverter.GetBytes(address);
byte[] length = BitConverter.GetBytes(data.Length);
List
tosend = new List();
tosend.AddRange(memaddress);
tosend.AddRange(length);
tosend.AddRange(data);
udpc.Send(tosend.ToArray(), tosend.Count);
}
VB
Private Sub SendData(data As Byte(), address As Integer)
Dim memaddress As Byte() = BitConverter.GetBytes(address)
Dim length As Byte() = BitConverter.GetBytes(data.Length)
Dim tosend As New List(Of Byte)()
tosend.AddRange(memaddress)
tosend.AddRange(length)
tosend.AddRange(data)
udpc.Send(tosend.ToArray(), tosend.Count)
End Sub