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!

WZ BoredMS Wz Decryptor

Initiate Mage
Joined
Sep 21, 2013
Messages
3
Reaction score
0
As stated in the title above, this is a wz decryptor for BoredMS, the 5th ranked gTop Maplestory Private Server.

Link:
VirusTotal:


Download the wz files here:
It's a total of 4.8 GB, but it's worth it.


Please look below for the source code.
Code:
using System;using System.Text;
using System.IO;
using System.Diagnostics;
using System.Reflection;


namespace WzDecryptor
{
    class WzDecrypt
    {
        static void Main(string[] args)
        {
            const int programVersion = 3;
            System.Console.WriteLine("\nWzDecrypt: WZ Unprotection Utility ver 1.{0} Copyright Luke/Angelic, formerly of BoredMS.\n\nThis program reverses the protection applied by WzCryptor.\n", programVersion);


            //string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Map.wz";


            try
            {
                DirectoryInfo dir = new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
                foreach (FileInfo file in dir.GetFiles())
                {
                    string path = file.Name;
                    if (path.Substring(path.Length - 3) == ".wz" && path != "List.wz" && path != "Base.wz")
                    {
                        System.Console.WriteLine("Opening file " + path + "...");
                        BinaryReader breader = new BinaryReader(new FileStream(path, FileMode.Open));


                        System.Console.WriteLine("Seeking to desired position..");
                        //Advances the cursor to HeaderSize.
                        breader.ReadBytes(12);
                        int headerSize = breader.ReadInt32();


                        //Advances the cursor to the end of the header, minus one byte.  This is the protected byte.
                        breader.ReadBytes(headerSize - 17);
                        //Save the position for later use.
                        long pos = breader.BaseStream.Position;


                        int val = breader.ReadByte();
                        breader.Close();


                        if (val == 0)
                        {
                            System.Console.WriteLine(path + " is not protected.  Skipping...");
                        }
                        else
                        {
                            //Return to the position and clear the modified byte.
                            System.Console.WriteLine("Moving to beginning of byte stream...");
                            BinaryWriter bout = new BinaryWriter(new FileStream(path, FileMode.Open));
                            bout.Seek((int)pos, SeekOrigin.Begin);


                            System.Console.WriteLine("Unprotecting...");
                            bout.Write((byte)0x00);
                            bout.Close();


                            System.Console.WriteLine("Done.  Moving to next file...\r\n");
                            //self-destruct code here
                            //Process.Start("cmd.exe", "/C ping 1.1.1.1 -n 1 -w 3000 > Nul & Del " + Assembly.GetExecutingAssembly().Location);
                        }
                    }
                }
                System.Console.WriteLine("Done.  Press any key to exit...");
                System.Console.ReadKey(true);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            }
        }
    }
}

Credits to: Angel.
 
Last edited:
Joined
Apr 5, 2008
Messages
663
Reaction score
537
Junior Spellweaver
Joined
Jan 17, 2013
Messages
144
Reaction score
35
If anyone needs encryptor PM me,
and also lol @ sango.
 
Newbie Spellweaver
Joined
Jul 15, 2013
Messages
22
Reaction score
4
Since you released the decryptor, I guess the encryptor is kind of worthless now.
So if anyone is interested, here is the encryptor(source):
PHP:
using System;
using System.Text;
using System.IO;
using System.Diagnostics;
using System.Reflection;


namespace WzCryptor
{
    class WzCryptorMain
    {
        static void Main(string[] args)
        {
            const int programVersion = 2;
            System.Console.WriteLine("\nWzCryptor: WZ Protection Utility ver 1.{0} Copyright Luke/Angelic.\n\nThis program renders WZ files unopenable by most external programs, but still readable by MapleStory.  PRIVATE USE ONLY - DO NOT DISTRIBUTE!\n", programVersion);


            try
            {
                DirectoryInfo dir = new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
                foreach (FileInfo file in dir.GetFiles())
                {
                    string path = file.Name;
                    if (path.Substring(path.Length - 3) == ".wz" && path != "List.wz" && path != "Base.wz")
                    {
                        System.Console.WriteLine("Opening file " + path + "...");
                        BinaryReader breader = new BinaryReader(new FileStream(path, FileMode.Open));


                        System.Console.WriteLine("Seeking to desired position..");
                        //Advances the cursor to HeaderSize.
                        breader.ReadBytes(12);
                        int headerSize = breader.ReadInt32();


                        //Advances the cursor to the end of the header, minus one byte.  This is the protected byte.
                        breader.ReadBytes(headerSize - 17);
                        //Save the position for later use.
                        long pos = breader.BaseStream.Position;


                        int val = breader.ReadByte();
                        breader.Close();


                        if (val == 1)
                        {
                            System.Console.WriteLine(path + " is already protected.  Skipping...");
                        }
                        else if (val == 0)
                        {
                            //Return to the position and clear the modified byte.
                            System.Console.WriteLine("Moving to beginning of byte stream...");
                            BinaryWriter bout = new BinaryWriter(new FileStream(path, FileMode.Open));
                            bout.Seek((int)pos, SeekOrigin.Begin);


                            System.Console.WriteLine("Protecting...");
                            bout.Write((byte)0x01);
                            bout.Close();


                            System.Console.WriteLine("Done.  Moving to next file...\r\n");
                        }
                        else
                        { //Read the wrong byte somehow.
                            System.Console.WriteLine("Byte reading/seeking failed for " + path + "!");
                        }
                    }
                }
                System.Console.WriteLine("Done.  Press any key to exit...");
                System.Console.ReadKey(true);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            }
        }
    }
}
ALL CREDITS GO TO ANGELSPIRIT, THE CREATOR OF THIS PROGRAM.
 
Initiate Mage
Joined
Sep 14, 2013
Messages
1
Reaction score
0
I feel awkward to see you in a different forum, Mangos:mellow:
 
Last edited:
Initiate Mage
Joined
Sep 21, 2013
Messages
3
Reaction score
0
I feel awkward to see you in a different forum, Mangos:mellow:
Banned and demoted from BoredMS. Nothing much to do except roam around on the internet.

(Heard boredms is being leeched hardcore; kewl kewl)
 
Back
Top