Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

HabBit - Habbo Hotel Client Modifier

Newbie Spellweaver
Joined
Dec 11, 2006
Messages
55
Reaction score
2
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

Any way to make it work with Steve Winfield's edited camera swf? Tool seems to work fine with any other swf
 
Joined
Aug 24, 2012
Messages
604
Reaction score
304
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

@Arachis
When using this, I receive "DebugInstructions" and "Operations" does not exist in FlashInspect's ASCode, do they do anything of particular importance, or can I just create the properties?
Also "CommandLine" doesn't exist
 
Last edited:
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

@Arachis
When using this, I receive "DebugInstructions" and "Operations" does not exist in FlashInspect's ASCode, do they do anything of particular importance, or can I just create the properties?
Also "CommandLine" doesn't exist
CommandLine is a nuget package, you should be able to restore it if t didn't do it automatically for you.
Also, use this source version of FlashInspect:
 
Joined
Aug 24, 2012
Messages
604
Reaction score
304
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

CommandLine is a nuget package, you should be able to restore it if t didn't do it automatically for you.
Also, use this source version of FlashInspect:
Did you remove or disable the header hashes?
 
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

Did you remove or disable the header hashes?
I was in the middle of rewriting both projects, never got around to reimplementing that feature though :(
You can still see the old version here:
 
Newbie Spellweaver
Joined
Jan 3, 2014
Messages
37
Reaction score
4
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

Repositories deleted!

Any other download option with libraries?
 
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

Finally managed to recover all my lost progress, after I ended up just re-writing the flash lib again. Automatic jump/switch instruction fixing is a thing, which is a big plus; I would have to manually set the jump exits before like some Ducking savage. Although, bodies with try/catch/finally don't automatically "adjust" yet , but they aren't really that "abundant" in areas of importance in the client, so I didn't bother looking into it.

I'll try to release some docs about editing the client with the lib, since some of you might be more creative with it than I would. Hashes are back(generated in the dump file), but I just need to add the header extracting thing, which was probably the coolest thing that was on this.

 
Last edited:
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

HabBit v4.1
  • Added "/fetch (revisionName)" for downloading the latest client, or a specific build based on the revision.
  • Added "/dlog (functionName)" for enabling the client's internal log function that invokes an external function.
  • Added "/dir (directoryName)" for specifying a custom output directory, rather than defaulting to the base directory of the specified client.
  • Renamed "/log (functionName)" to "/mlog (functionName)", functionality stays the same.
  • Added "/match (clientName clientHeadersName serverHeadersName)" for replacing the headers in the given client, and server header files by comparing the hashes with the provided client, against the current one.
Hashes are back and somewhat improved, it's now able to match a good amount of headers from a client that is almost a year old(PRODUCTION-201604252204-140503169). Although, I wasn't able to do a complete match test, since I was missing some of the headers(so they were marked as invalid).

Outgoing Matches: 307/309
Incoming Matches: 276/279
Pretty good match results for a one year old build. Invalid headers, and headers that do not exist in the client do not count towards the total amount of attempts made. There were a couple more headers in the file to match, but they were either -1's or header values that weren't updated to the current client and did not exist.

The header files for these two client builds have been provided as attachments. There are a couple of headers that were unable to get matched as I described above, but better than nothing right.

Download:
 

Attachments

You must be registered for see attachments list
Last edited:
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

HabBit v4.3
  • Temporarily removed the /mlog command.
  • The /kshout command now includes a default value of 4001.
  • Fixed bug causing the /clean command to break.
Command Changes: /ilep
  • Renamed to /hardep.
  • Argument intake has been changed, you must now provide a host, and port in the following format: host:port.
Command Usage
Code:
/hardep 127.0.0.1:5050
Command Changes: /match
  • Added optional switch parameter -p that requires a regex pattern string for finding the ids' in a file.
  • Added optional switch parameter -mc indicating to only write critical comments in the file output(Invalid, Unknown, Zero).
Message Matching/Hashing Changes
  • Do not include the identity(traits) of the class referencing the message(Only the constructors).
  • If duplicate matches are found for a message, check each possible match and add up the references' ClassRank.
    If the total ClassRank of the references in a message is equal to that of the total of the current message being compared, the match is considered a success.
Total valid match ratio between PRODUCTION-201704051204-452050219(previous), and PRODUCTION-201704251205-586769896(current) is at 877/878.
PRODUCTION-201704251205-586769896 Headers:

Download:


How do I change the name of my thread btw, can't find an option anywhere. I want to rename it: HabBit - Habbo Hotel Client Modifier
In case I can't and a mod wants to help a bro out.
 
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,688
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

HabBit v4.3
  • Temporarily removed the /mlog command.
  • The /kshout command now includes a default value of 4001.
  • Fixed bug causing the /clean command to break.
Command Changes: /ilep
  • Renamed to /hardep.
  • Argument intake has been changed, you must now provide a host, and port in the following format: host:port.
Command Usage
Code:
/hardep 127.0.0.1:5050
Command Changes: /match
  • Added optional switch parameter -p that requires a regex pattern string for finding the ids' in a file.
  • Added optional switch parameter -mc indicating to only write critical comments in the file output(Invalid, Unknown, Zero).
Message Matching/Hashing Changes
  • Do not include the identity(traits) of the class referencing the message(Only the constructors).
  • If duplicate matches are found for a message, check each possible match and add up the references' ClassRank.
    If the total ClassRank of the references in a message is equal to that of the total of the current message being compared, the match is considered a success.
Total valid match ratio between PRODUCTION-201704051204-452050219(previous), and PRODUCTION-201704251205-586769896(current) is at 877/878.
PRODUCTION-201704251205-586769896 Headers:

Download:


How do I change the name of my thread btw, can't find an option anywhere. I want to rename it: HabBit - Habbo Hotel Client Modifier
In case I can't and a mod wants to help a bro out.

I'm sorry that your thread doesn't get much comments and you seem like the only person posting on it, but there's not much to say apart from liking your post because of the awesome work you're doing.

With with your /match command, this is just some advice as I think you should provide an example on how to use it with the regex patterns, and explain what -mc does (as I have no idea). Other than that, good work :):
 
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Re: HabBit - Automatic Habbo Client Cracker(Source | .NET 2.0 | C# 6)

I'm sorry that your thread doesn't get much comments and you seem like the only person posting on it, but there's not much to say apart from liking your post because of the awesome work you're doing.

With with your /match command, this is just some advice as I think you should provide an example on how to use it with the regex patterns, and explain what -mc does (as I have no idea). Other than that, good work :):

I love the likes honestly, better than having people spam the thread with just "thanks kid"(still appreciate it), it keeps it nice and clean. I wouldn't mind seeing more suggestions/ideas for this project though.

The new -p switch parameter for the command /match was added to help the application find the ids' in the provided header files, since there could be cases where the files are drastically different than what the default regex search pattern was intended for.

Currently you need to provide 3 match groups in the pattern: start, id, end
The default pattern used(if none provide) is (?<start>(.*?)[^""])(?<id>[+-]?[0-9]\d*(\.\d+)?)\b(?<end>[^\r|$]*)
You can test this with your own header files, to see if it's able to match the ids in it, otherwise tweak it a bit and specific it with the /match command.

The -mc switch parameter is boolean telling the match command to minimize the amount of comments it writes to the output files. With this option only these comments are written:
  • //! Unknown Message
  • //! Invalid Header
  • //! Zero Matches
Basically what I consider critical comments(no revision/duplicate/previous headers).

For a more in-depth description you can view the issue on the gitlab repo this was based on:
 
Newbie Spellweaver
Joined
Jun 3, 2014
Messages
25
Reaction score
4
Hey Arachis, nice work!

Would be nice if you could implement a method that adds steve's camera to the habbo swf. I don't know how hard that would be or if that would even be possible to automate.
 
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
Hey Arachis, nice work!

Would be nice if you could implement a method that adds steve's camera to the habbo swf. I don't know how hard that would be or if that would even be possible to automate.

I can definitely add that in, although this method of 'camera' is a bit dangerous. It seems that using this method, the raw image is being directly uploaded via a web request. Is there a reason you guys would prefer it this way, rather than sending the raw image to the emulator?

I can do either, winfield's way, or just send the bitmap data to the emulator. In the end, they're both vulnerable ways to implement the camera system, but hey I'm not your dad.
 
Banned
Banned
Joined
Aug 25, 2009
Messages
431
Reaction score
190
I can definitely add that in, although this method of 'camera' is a bit dangerous. It seems that using this method, the raw image is being directly uploaded via a web request. Is there a reason you guys would prefer it this way, rather than sending the raw image to the emulator?
I can do either, winfield's way, or just send the bitmap data to the emulator. In the end, they're both vulnerable ways to implement the camera system, but hey I'm not your dad.

Please can you implement a way to send the camera data directly to the server? :)
 
RaGEZONE VIP
[VIP] Member
Joined
Aug 13, 2014
Messages
121
Reaction score
239
I've finished making it work by sending the png to the server directly, although the amount of bytes some photos require is quite large.

This is a 56KB photo:
8XHFAUf - HabBit - Habbo Hotel Client Modifier - RaGEZONE Forums


I'm not sure if most of the emulators you guys use are prepared, or were designed to handle such large amounts of data to be received from the client. I also have no idea how big these images can get, since PNGEncoder.encode compresses the internal ARGB data(probably no bigger than ((320 * 320)*4)? Idk).

I kinda want to know what most of you guys would prefer with this 'revelation', directly uploading to a remote url(winfield), or sending it to the server as a packet.

For those that want to try it out:
The command is /rawcam
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Jun 3, 2014
Messages
25
Reaction score
4
Sucks that the data is too big to send to the server, but directly uploading to a remote url isn't too bad.

I prefer the winfield method, since both ways are vulnerable anyway.
 
Banned
Banned
Joined
Aug 25, 2009
Messages
431
Reaction score
190
Sucks that the data is too big to send to the server, but directly uploading to a remote url isn't too bad.
I prefer the winfield method, since both ways are vulnerable anyway.

It's a lot easier for someone to figure out how to upload to a web server than sending bytes to your server :)
 
Back
Top