-
Auto Packet Header Updater - BST (Boycot Sulake Today)q
Hello, I am Josh also known as DjTroy.
I was banned on my other account so I had to make a new account to post this.
Me and Droppy were making an auto header updater, and we decide to release it.
EDIT:
Why does the MODs not accept my posts? :$:
Thats works. But, you need to add the line positioning..
We do some packets for you test.
We do a simple thing to do that.
An split on //--------... but, cuz the lines change (ever //-------) line, so
if you split that, you can separe the codes, in some parts
and if the split, contains a code, for example (public HabboStreaming...) will check it
and will jump some lines to where show the code. Can be a import or addConnection... Blah Blah Blah.
See the code:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
namespace Ferri.APU
{
class AutoPacketUpdate
{
public static string GetFinalCode(string strSource)
{
string strBegin = "[";
string strEnd = "]";
bool includeBegin = false;
bool includeEnd = false;
string[] result = { string.Empty, string.Empty };
int iIndexOfBegin = strSource.IndexOf(strBegin);
if (iIndexOfBegin != -1)
{
// include the Begin string if desired
if (includeBegin)
iIndexOfBegin -= strBegin.Length;
strSource = strSource.Substring(iIndexOfBegin + strBegin.Length);
int iEnd = strSource.IndexOf(strEnd);
if (iEnd != -1)
{
// include the End string if desired
if (includeEnd)
iEnd += strEnd.Length;
result[0] = strSource.Substring(0, iEnd);
// advance beyond this segment
if (iEnd + strEnd.Length < strSource.Length)
result[1] = strSource.Substring(iEnd + strEnd.Length);
}
}
else
// stay where we are
result[1] = strSource;
return result[0];
}
public static string addHabboConnectionMessageEventGetCode(string strSource)
{
string strBegin = ".addHabboConnectionMessageEvent(new ";
string strEnd = "(this.";
bool includeBegin = false;
bool includeEnd = false;
string[] result = { string.Empty, string.Empty };
int iIndexOfBegin = strSource.IndexOf(strBegin);
if (iIndexOfBegin != -1)
{
// include the Begin string if desired
if (includeBegin)
iIndexOfBegin -= strBegin.Length;
strSource = strSource.Substring(iIndexOfBegin + strBegin.Length);
int iEnd = strSource.IndexOf(strEnd);
if (iEnd != -1)
{
// include the End string if desired
if (includeEnd)
iEnd += strEnd.Length;
result[0] = strSource.Substring(0, iEnd);
// advance beyond this segment
if (iEnd + strEnd.Length < strSource.Length)
result[1] = strSource.Substring(iEnd + strEnd.Length);
}
}
else
// stay where we are
result[1] = strSource;
return result[0];
}
public static string ImportGetCode(string code)
{
string[] xx = code.Split('.');
return xx[1];
}
public static string ConvertToPacketId(string OldPacketCode, string file)
{
string[] Classes = Regex.Split(file, "//------------------------------------------------------------");
foreach (string SepareCodes in Classes)
{
if(SepareCodes.Contains("public class HabboMessages implements"))
{
string[] Lines = Regex.Split(file, "\n");
int i = 0;
foreach (string Line in Lines)
{
if (Line.Contains(OldPacketCode))
{
if (!Line.Contains("import"))
{
string[] LastStep = Regex.Split(Line, " = ");
return GetFinalCode(LastStep[0]);
}
}
i++;
}
}
}
return "";
}
public static string AddCode(string code, string packetid, string PacketCode, string Comment = "")
{
PacketCode = PacketCode.Replace("_-", "");
PacketCode = PacketCode.Replace(";", "");
return ("internal const short " + code + " = " + packetid + "; // " + PacketCode + "\n\r");
}
public static string ReleaseFilter(string Line)
{
Line = Line.Replace(" ", "");
Line = Line.Replace("vark", "");
Line = Line.Replace(":", "");
Line = Line.Replace("String=", "");
Line = Line.Replace(";", "");
Line = Line.Replace("\"", "");
return Line;
}
public static void Start()
{
Console.ForegroundColor = ConsoleColor.White;
Console.BackgroundColor = ConsoleColor.Gray;
Console.WriteLine("###############################################################################");
Console.WriteLine("### Maded by Droppy & Josh ###");
Console.WriteLine("###############################################################################");
Console.ResetColor();
Console.WriteLine();
var F5 = new StreamReader("swf/scriptss.txt");
string All = F5.ReadToEnd();
string[] Classes = Regex.Split(All, "//------------------------------------------------------------");
foreach (string SepareCodes in Classes)
{
if (SepareCodes.Contains("RELEASE63-"))
{
string[] Classes2 = Regex.Split(SepareCodes, "\n");
int line = 0;
foreach (string Line in Classes2)
{
if (line == 11)
{
Console.Write("Release Atual: ");
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(ReleaseFilter(Line));
Console.ResetColor();
}
line++;
}
}
}
Console.WriteLine();
Console.WriteLine("//==> Be welcome.");
Console.WriteLine();
string Put = "By Droppy \n\r\n\r";
int Count = 0;
foreach (string SepareCodes in Classes)
{
if (SepareCodes.Contains("public class HabboCommunicationDemo extends"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 27)
{
Put = Put + AddCode("SendToken", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
if (LineCount == 28)
{
Put = Put + AddCode("SendPublicKey", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
if (SepareCodes.Contains("public class HabboInventory extends"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 45)
{
Put = Put + AddCode("SendInterface", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
if (SepareCodes.Contains("public class HabboMessenger extends"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 32)
{
Put = Put + AddCode("SendMinimailCount", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
if (SepareCodes.Contains("public function IncomingMessages(_arg1:HabboNavigator){"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 21)
{
Put = Put + AddCode("SendHomeRoom", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
if (LineCount == 28)
{
Put = Put + AddCode("SendFavourites", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
if (SepareCodes.Contains("public class VideoOfferManager implements"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 5)
{
Put = Put + AddCode("SendFuserights", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
if (SepareCodes.Contains("public class FriendList {"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 6)
{
Put = Put + AddCode("SendFriends", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
if (SepareCodes.Contains("public class AvatarImageWidget implements _-1jT {"))
{
string[] nClasses = Regex.Split(SepareCodes, "\n");
int LineCount = 0;
foreach (string Line in nClasses)
{
if (LineCount == 6)
{
Put = Put + AddCode("SendUserInformation", ConvertToPacketId(ImportGetCode(Line), All), ImportGetCode(Line));
}
LineCount++;
}
Count = Count + 1;
}
}
string[] lines = {Put};
System.IO.File.WriteAllLines("Packet.ini", lines);
Console.ForegroundColor = ConsoleColor.Green;
//Console.WriteLine(Count + " packet(s) saved(s) in Packet.ini!");
Console.WriteLine(lines[0]);
Console.ResetColor();
Console.WriteLine("");
Console.WriteLine("Press Any Key to Close.");
}
}
class Program
{
static void Main(string[] args)
{
try
{
AutoPacketUpdate.Start();
Console.ReadKey();
}
catch
{
Environment.Exit(1);
}
}
}
}
See: In debug folder, made a folder called swf, and put the HabboSWF decompressed (AS3 txt code).
You need to add packets one by one, but we put some packets for you see. If the packet dont show, thats cuz in that version dont exists that packet... Or some other reason.
Please, dont change the Credits :D
Tyou :D (Sorry for bad english, this thread is 99% made by Droppy and he's from Brasil)
Like+Rep please if it helped you.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Divide
Read my m*ther f*cking thread..
before you m*ther f*cking post.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Download link? joking, this is cool/
Howd we get the As3 source code?
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
JohnHearfield
Download link? joking, this is cool/
Howd we get the As3 source code?
Protip; AS3 sorcerer.
Open SWF in as3 sorcerer and save all scripts in 1 file.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Reading the code, this just rips the ids from the swf, this is what we all could do fucking 4 months ago by viewing AS3 source.
How do you know which id is which, because either i missed out a code, or you are the biggest retard.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Zak©
Reading the code, this just rips the ids from the swf, this is what we all could do fucking 4 months ago by viewing AS3 source.
How do you know which id is which, because either i missed out a code, or you are the biggest retard.
Quote:
Me and Droppy were making an auto header updater, and we decide to release it.
Hopefully you don't point it out only to me, because then you would be soo unfair!
Droppy asked me to release it for him, so not only blame me. I didn't made this 100% on my own.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
neto737
Very good >:)
If it does work, it will be good for 2 weeks before Sulake easily patch this.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
This is nearly the same method as I use manually for finding ID's, but wouldn't this be a bit inaccurate?
-
Quote:
Originally Posted by
Zak©
If it does work, it will be good for 2 weeks before Sulake easily patch this.
my cracker is released twice and still not patched. i dont think this will be patched to...
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
joopie
my cracker is released twice and still not patched. i dont think this will be patched to...
It will be eventually once one of the insider snitches email Sulake.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
I made that, with Josh, and I ask to him post to me. Cuz I dont speak so good english, so... I cant write alright.
But thats work. Its what needs to know.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Stop flaming thread, he just try to help us, maybe people don't like him, but we need everyone to fck habbo ;p
-
Quote:
Originally Posted by
Zak©
It will be eventually once one of the insider snitches email Sulake.
I remember when Josh called Dom a spy xD
Anyway this is disgustingly manual.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Zak©
It will be eventually once one of the insider snitches email Sulake.
I bet sulake lurk this section too...
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Caustik
I remember when Josh called Dom a spy xD
Anyway this is disgustingly manual.
A spy? Please, i'm better than that! :)
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
I don't understand a single bit of this thread.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
It's nice, but we need all packet id changer :) I need Butterstorm updated ids :)
-
Honestly, this is the most stupid way I've ever seen to update messages, and still requires MANY manual operations. If a single line is added or removed, all the process will be fucked up o.o
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
In really, if you made all packets, you can save alot of times. Without made one by one, will made automactly for you. And generate the code.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
Honestly, this is the most stupid way I've ever seen to update messages, and still requires MANY manual operations. If a single line is added or removed, all the process will be fucked up o.o
Yes, but at least I share something and you only show things to look cool.
-
Quote:
Originally Posted by
MrMime
Yes, but at least I share something and you only show things to look cool.
I have no interests in looking cool.
Just wanted to show you how little cool you are.
Always better to release nothing, than actually release a bunch of sh*t.
Sorry to show you the crude truth.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
I have no interests in looking cool.
Just wanted to show you how little cool you are.
Always better to release nothing, than actually release a bunch of sh*t.
Sorry to show you the crude truth.
So you better wish no emulators? Because I think they're all shit (unfinished, unstable, non updated etc..)
-
Quote:
Originally Posted by
MrMime
So you better wish no emulators? Because I think they're all shit (unfinished, unstable, non updated etc..)
Yes, it's better not to have emulators, instead of having dozens copy/pasted ones. I would have released my tool weeks ago, if only the people who attempt this section had deserved it.
And yes, it's real.
And yes, it works.
And yes, someone already has its source code: one of the few people here on Rage who I really wanted to give it to :P
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
Yes, it's better not to have emulators, instead of having dozens copy/pasted ones. I would have released my tool weeks ago, if only the people who attempt this section had deserved it.
And yes, it's real.
And yes, it works.
And yes, someone already has its source code: one of the few people here on Rage who I really wanted to give it to :P
Yeah, i can vouch for Alex's tool.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
MrMime
So you better wish no emulators? Because I think they're all shit (unfinished, unstable, non updated etc..)
Oh please, you release shit emulators all the time. The releases you make fit that criteria you listed exactly!
- Unfinished
- Unstable
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Quackster
Oh please, you release shit emulators all the time. The releases you make fit that criteria you listed exactly!
- Unfinished
- Unstable
Thats a Lie, Quackster. He is very good in what hes done. We doing alot of things, emulator stable, etc. Btw, I dont see anything from you, since Sierra. I think we posting more, will help more people. We think that. Ok, the program is Unfinished, but, we do a base. No one posts that since when we post. So, we deserve a credit for that.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Droppy
Thats a Lie
No it's not.
Quote:
Originally Posted by
Droppy
He is very good in what hes done.
No, he isn't actually.
Also this doesn't concern you, but now since you quoted me I guess it does -.-
Quote:
Originally Posted by
Droppy
Btw, I dont see anything from you
Quite frankly. This is because what I release is always unique and I don't rush my work. Bases/framework are all the same in terms with Josh.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
Quackster
No it's not.
No, he isn't actually.
Also this doesn't concern you, but now since you quoted me I guess it does -.-
Quite frankly. This is because what I release is always unique and I don't rush my work. Bases/framework are all the same in terms with Josh.
That's true, emulator are not made in a month... (Unless you seriously just rip)
-
Back to topic, if you all cared about using THE SAME arbitrary names for un-named composers and events, the updating process would result a lot easier...
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
OP, is it from Joopie's app base?
Anyway, I was working on a same app, which worked same way, but still not finished it, well done! ;)
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Still a lot of manual coding. Would be easier to make a file, with the headers in it. (With names aswell)
-
Quote:
Originally Posted by
mikkelfriis
Still a lot of manual coding. Would be easier to make a file, with the headers in it. (With names aswell)
Most of the events/composers names are known, so if you have valid couples (name + id) of a revision, you can also obtain new couples of a newer one.
The problem is that you have not those names XD
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
Most of the events/composers names are known, so if you have valid couples (name + id) of a revision, you can also obtain new couples of a newer one.
The problem is that you have not those names XD
I based a program on joopie's app, and it works great. :P
Code:
public static int HotelViewMessageComposer = 559;
public static int LoadUserProfileMessageComposer = 2646;
public static int UserInfoMessageComposer = 3283;
public static int UserNotificationMessageComposer = 316;
public static int MOTDNotificationComposer = 3479;
public static int NewBuddyRequestComposer = 1538;
public static int MessengerInitComposer = 138;
public static int UpdateFriendState = 3886;
public static int TalkOnChat = 944;
public static int CatalogPageMessageComposer = 2568;
public static int BroughtItem = 3910;
public static int FurniListUpdateComposer = 2174;
public static int FurniListRemoveComposer = 3736;
public static int FurniListInsertComposer = 1733;
public static int CanCreateRoomComposer = 2365;
public static int SendRoom = 1219;
public static int OwnRooms = 2887;
public static int RoomFull = 125;
public static int InitRoomProcess = 3295;
public static int ModelAndId = 2763;
public static int SendFloorItem = 1349;
public static int RemoveFloorItem = 1243;
public static int RoomUsers = 3566;
public static int RoomPanel = 2170;
public static int RoomData = 3905;
public static int LeaveRoom = 2872;
public static int UpdateInfo = 777;
made it do like that :3 (though, some of the names is incorrect.)
-
Quote:
Originally Posted by
mikkelfriis
I based a program on joopie's app, and it works great. :P
Code:
public static int HotelViewMessageComposer = 559;
public static int LoadUserProfileMessageComposer = 2646;
public static int UserInfoMessageComposer = 3283;
public static int UserNotificationMessageComposer = 316;
public static int MOTDNotificationComposer = 3479;
public static int NewBuddyRequestComposer = 1538;
public static int MessengerInitComposer = 138;
public static int UpdateFriendState = 3886;
public static int TalkOnChat = 944;
public static int CatalogPageMessageComposer = 2568;
public static int BroughtItem = 3910;
public static int FurniListUpdateComposer = 2174;
public static int FurniListRemoveComposer = 3736;
public static int FurniListInsertComposer = 1733;
public static int CanCreateRoomComposer = 2365;
public static int SendRoom = 1219;
public static int OwnRooms = 2887;
public static int RoomFull = 125;
public static int InitRoomProcess = 3295;
public static int ModelAndId = 2763;
public static int SendFloorItem = 1349;
public static int RemoveFloorItem = 1243;
public static int RoomUsers = 3566;
public static int RoomPanel = 2170;
public static int RoomData = 3905;
public static int LeaveRoom = 2872;
public static int UpdateInfo = 777;
made it do like that :3 (though, some of the names is incorrect.)
That's what should have been done :P
Anyway Jos' app only works for composers, and even if I had not the opportunity to compare it with my app (my last build, the one I'm working on), I'm pretty sure it does not work 100%, because there are too many variables to consider :P
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
That's what should have been done :P
Anyway Jos' app only works for composers, and even if I had not the opportunity to compare it with my app (my last build, the one I'm working on), I'm pretty sure it does not work 100%, because there are too many variables to consider :P
Well, the events is anyway the easiest to get..
-
Quote:
Originally Posted by
mikkelfriis
Well, the events is anyway the easiest to get..
A valid header updater should be able to get them too u.u
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
A valid header updater should be able to get them too u.u
Well, yes. But they are easy enough to get, just by loading an regular emulator, which writes out the received headers.
-
Quote:
Originally Posted by
mikkelfriis
Well, yes. But they are easy enough to get, just by loading an regular emulator, which writes out the received headers.
What about when you receive many messages at same time? How could you distinguish them?
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
What about when you receive many messages at same time? How could you distinguish them?
True. But how would you do that with the updater?
-
Quote:
Originally Posted by
mikkelfriis
True. But how would you do that with the updater?
Can't tell you. But I actually do :P
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
What about when you receive many messages at same time? How could you distinguish them?
If you have skills you know what they mean easily without a header updater.
-
Quote:
Originally Posted by
MrMime
If you have skills you know what they mean easily without a header updater.
If you had skills, you would have an automatic updater.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
W00dL3cs
If you had skills, you would have an automatic updater.
I only meant that your problem is just stupid for somebody like you.
PHP Code:
What about when you receive many messages at same time? How could you distinguish them?
I thought somebody as smart as you would easily know what they mean ;)
-
Quote:
Originally Posted by
MrMime
I only meant that your problem is just stupid for somebody like you.
PHP Code:
What about when you receive many messages at same time? How could you distinguish them?
I thought somebody as smart as you would easily know what they mean ;)
If someone is willing to write a proper emulator, with proper message invocations and so on, it's instead a big deal.
Of course when you login and have the events of subscriptions, user details etc it may not be a problem to exchange them, 'cause are simultaneous... but that would not be proper. Just working.
And if a new message added in the client, you'll never notify it. :P
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
George why are you trying to defend your crappy program here?
You're extremely egotistical, and you need to start being a bit more down to earth before you start chatting bs.
-
Re: Auto Packet Header Updater - BST (Boycot Sulake Today)q
Quote:
Originally Posted by
JohnHearfield
Im telling you, R63B is the most closed devlopment in RaGEZONE, even with open source emulators. Noone even give us clues on how to get packet headers and shit, they just show off their programs and apps.
And yet you don't even contact us developers. I'm always eager to teach people but they need to find us, not us find them.
(I taught Cobe about the new protocol ;D)