Revolution Emulator [C#, R63B, Encryption Cracked, DAO, Fluent NHibernate, Lua Plugin, Mono]

Status
Not open for further replies.

Zak

Posting Freak
Mar 12, 2011
847
453
10icw8n.jpg


Revolution Emulator
Hello,​
I want to announce my new project to you guys and I hope you like it.​
What is RevEmu?
RevEmu is the next-generation Habbo Emulator. It runs on the latest version of Habbo, which people decided to refer as "R63B".​
Why are these versions/builds so special?
These versions have major security updates applied. These security updates were not actually made by the company itself, they were kind of made by the company, but they were told how to, by two users, known as Dominic [Myrax] and Mike [office.boy] SHOCKER!?!? We were betrayed by our own fellow community members aka legends!?!? No, at first we looked at them like bastards who betrayed us, but sooner the smarter one's realized that it was to destroy an ERA of an payed Emulator known as Phoenix. These security updates that were applied, was Shuffling Headers [Packet Id's being changed on every Habbo update] Encryption change [RC4 being changed, RSA keys being changed every build, Banner improved] But later the Shuffling headers were partly patched by a user called Woodl3cks who got 160 updated id's out of roughly 200, but Woodl3cs aka DjAlexxStyle, has now left the Habbo community only sharing the source to Cappostrike93. Before this Capostrike93 had pretty much cracked everything, RC4, RSA Key, Even had a packet structure getter, and had the Banner patched. But later Sulake found out, and warned him, he shit his pants and ran like a bitch. I don't blame him. But the RC4 was discovered, then fixed and updated by Jos, aka Joopie, who left lately, but kindly passing on the Encryption crack, and SWF cracker!
The current functions of RevEmu are
#Basics
  • SSO Login
  • MUS​
  • Async .NET 4 Sockets​
  • Lua Plugin Manager​
  • Fluent NHIbernate Mapping​
  • NHibernate​
  • Spring.NET DAO​
  • Log4net​
  • MySQL Connector​
  • RC4, RSA, Banner Cracked​
  • Supports Phoenix Database(s)​
#In-Game
  • User Login
  • Friend Stream
  • User View Profile
  • Catalog Page and Items
  • Buying from catalog
  • Getting basic data [Pixels, Credits, etc]
  • Loading Room Model
  • Loading in Room
  • Talking and Shouting
  • Walking
  • Placing items down
  • Inventory
  • Actions [Dance, Wave, Signs]
#Pictures
0251a-9b0fb825-16c4-4ac3-b21c-380aa2a3fcc8.png

0251a-ac343a27-8579-4968-afc8-307024e71cdb.png

wzTUO96oSuIz.png

02602-d43543c6-48b5-4673-9caf-e69f3cf0be92.png


#Credits
  • Joopie for parts of Encryption.
  • Matty/Matty13 for Sockets from his project called Mango.
  • Kryptos for letting me make this project, and being a real great leader to me.
This project was firstly made by me, then made into this team!​
Team Rev Members
  • Kryptos - Maker of Rev, Main Web Developer
  • Zak - Maker of RevEmu, Primary Server Developer
  • Mikkel - Secondary Server Developer
Current Active Developers
  • Kryptos
  • Zak
  • Mikkel
(Updated 1/2/2013)
Thanks for reading, and wish us luck!
 

Adil

DevBest CEO
May 28, 2011
1,276
714
You can parse XML tags without a .cfg extension ;).
Code:
<?xml version="1.0" encoding="utf-8"?>
<config>
<server_host>localhost</server_host>
<root_user>root</root_user>
<root_password>root</root_password>
<database_name>phx3</database_name>
</config>
Obviously, you could add serverdetails as a child tag of config
 

Zak

Posting Freak
Mar 12, 2011
847
453
Database Class
Code:
using NHibernate;
using NHibernate.Cfg;
using RevEmu.Emulator.DatabaseStructures;

namespace RevEmu.NHibernate.Database
{
    public class NHibernateHelper
    {
        /// <summary>
        /// Get ISessioFactory from the NHibernate.dll
        /// </summary>
        private static ISessionFactory _sessionFactory;

        /// <summary>
        //Load the config up in the SessionFactory.
        /// </summary>
        private static ISessionFactory SessionFactory
        {
            get
            {
                if (_sessionFactory == null)
                {

                    // Define Configuration.
                    var configuration = new Configuration();

                    // Test Connection?
                    configuration.Configure();

                    // Add Uber Tables (Will changed to a selection that users can select in first time bootup!)
                    configuration.AddAssembly(typeof(Uber).Assembly);

                    // Define Sessionfactory.
                    _sessionFactory = configuration.BuildSessionFactory();
                }

                //Return it.
                return _sessionFactory;
            }
        }

        /// <summary>
        /// OpenSession is Open Database Client.
        /// </summary>
        /// <returns></returns>
        public static ISession OpenSession()
        {
            //Return open client.
            return SessionFactory.OpenSession();
        }
    }
}
This is all that is needed! Yes! How? Because the DLL And XML files mostly do all the work this all that is needed for Database classes pretty much. Compare this to your modern Ion server Database classes and see the huge difference.

Also i will show this in action later!
 

Xyro

Elite Member
Oct 28, 2011
340
100
Looks awesome so far
Goodluck and can't wait til it is released! ;)
It's going to be open source, right?
 

Dzetki

The Prodigal Son Returns
Jul 16, 2010
990
220
Nice :D

This isn't using uber's database though is it?
Multiple Database Support?
Scared of losing your users etc? Well don't! Because thanks to NHibernate i can code various of Database types (Uber,Phoenix etc) in different classes so it can be supported just like RevCMS itself!.
I take a lucky guess and say that it'll be compatible with most databases. Uber's aswell,​
Anyhow, Good luck on it Zak! Seems epic! Can't wait for it ;D​
 

Zak

Posting Freak
Mar 12, 2011
847
453
TODO: SSO,Base Class for Sockets,Complete HandShake,Achivements,Multiple Database support config.
 

Zak

Posting Freak
Mar 12, 2011
847
453
I've got RevCMS installed hopefully you'll see the basics of this in action on sunday or later.
 

Zak

Posting Freak
Mar 12, 2011
847
453
Hard is a simple task. I'm still learning more C# i wanna make this advanced as possible it's a shame if it's a shit emulator and and a fucking epic cms eh?
 

Kryptos

prjRev.com
Jul 21, 2010
2,205
1,252
Hard is a simple task. I'm still learning more C# i wanna make this advanced as possible it's a shame if it's a shit emulator and and a fucking epic cms eh?

And vice-versa ;) lol. Anyways, quoted for truth.
 

Zak

Posting Freak
Mar 12, 2011
847
453
Right gonna start on the new caching feature for the database

example cacheUserData(Id,Name,Row["id"],Row["name"]);
 

Zak

Posting Freak
Mar 12, 2011
847
453
Added new Hex code
Code:
0xFF

Coded new Packets [will show them in a minute]
Decoded new encrypted packets.
Created new Short version of Encode.
Improved sockets to work with the new encryption.

Also coded the new HeaderIDs using the new Encryption.

Code:
namespace RevEmu.Packet
{
    /// <summary>
    /// Non Logged In Packet IDs, Using the New Message Stucture. 
    /// </summary>
    public static class NonLoggedInMessageIDs
    {
        public static readonly short InitCrypto = 277;
        public static readonly short InitSecretkeyDu = 257;
    }

    /// <summary>
    /// Logged In Packet Ids, Using The New Message Structure.
    /// </summary>
    public static class LoggedInMessageIDs
    {

    }
}

New client utilities class made. May include a SWF cracker in it to destroy the client protection gotta learn the hex to ASCII methods.

Client utilities getting the policy response!
Code:
        /// <summary>
        /// Gets the Habbo Client Policy Response.
        /// </summary>
        /// <returns>Return the Policy Reponse.</returns>
        public static byte[] GetHabboClientPolicy()
        {
            return Encoding.Default.GetBytes
                (
                    "<?xml version=\"1.0\"?> "
                    +
                    "<!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\"> "
                    +
                    "<cross-domain-policy> "
                    +
                    "<allow-access-from domain=\"*\" to-ports=\"1-31111\" /> "
                    +
                    "</cross-domain-policy>\x0"
                );
        }
 
Status
Not open for further replies.

Users who are viewing this thread

Top