Register for your free account! | Forgot your password?

You last visited: Today at 15:54

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RELEASE][SRC] SkillData Encrypter

Discussion on [RELEASE][SRC] SkillData Encrypter within the SRO PServer Guides & Releases forum part of the SRO Private Server category.

Reply
 
Old   #1
 
Syloxx's Avatar
 
elite*gold: 56
Join Date: Oct 2013
Posts: 1,165
Received Thanks: 774
[RELEASE][SRC] SkillData Encrypter

Dear Community

Since I am currently working on an automatic "extract txt files from database and make everything patch ready" i came to the problem that there is no 100% working console skilldata encrytper.

Anyway, nothing special... took me a few minutes to develop thats why i simply release it here:

SRC:
Code:
using System;
using System.IO;

namespace srSkillEncrypter
{
    internal class Program
    {
        private static readonly byte[] HashTable1 = new byte[256]
        {
            0x07, 0x83, 0xBC, 0xEE, 0x4B, 0x79, 0x19, 0xB6, 0x2A, 0x53, 0x4F, 0x3A, 0xCF, 0x71, 0xE5, 0x3C, 0x2D, 0x18,
            0x14, 0xCB, 0xB6, 0xBC, 0xAA, 0x9A, 0x31, 0x42, 0x3A, 0x13, 0x42, 0xC9, 0x63, 0xFC, 0x54, 0x1D, 0xF2, 0xC1,
            0x8A, 0xDD, 0x1C, 0xB3, 0x52, 0xEA, 0x9B, 0xD7, 0xC4, 0xBA, 0xF8, 0x12, 0x74, 0x92, 0x30, 0xC9, 0xD6, 0x56,
            0x15, 0x52, 0x53, 0x60, 0x11, 0x33, 0xC5, 0x9D, 0x30, 0x9A, 0xE5, 0xD2, 0x93, 0x99, 0xEB, 0xCF, 0xAA, 0x79,
            0xE3, 0x78, 0x6A, 0xB9, 0x02, 0xE0, 0xCE, 0x8E, 0xF3, 0x63, 0x5A, 0x73, 0x74, 0xF3, 0x72, 0xAA, 0x2C, 0x9F,
            0xBB, 0x33, 0x91, 0xDE, 0x5F, 0x91, 0x66, 0x48, 0xD1, 0x7A, 0xFD, 0x3F, 0x91, 0x3E, 0x5D, 0x22, 0xEC, 0xEF,
            0x7C, 0xA5, 0x43, 0xC0, 0x1D, 0x4F, 0x60, 0x7F, 0x0B, 0x4A, 0x4B, 0x2A, 0x43, 0x06, 0x46, 0x14, 0x45, 0xD0,
            0xC5, 0x83, 0x92, 0xE4, 0x16, 0xD0, 0xA3, 0xA1, 0x13, 0xDA, 0xD1, 0x51, 0x07, 0xEB, 0x7D, 0xCE, 0xA5, 0xDB,
            0x78, 0xE0, 0xC1, 0x0B, 0xE5, 0x8E, 0x1C, 0x7C, 0xB4, 0xDF, 0xED, 0xB8, 0x53, 0xBA, 0x2C, 0xB5, 0xBB, 0x56,
            0xFB, 0x68, 0x95, 0x6E, 0x65, 0x00, 0x60, 0xBA, 0xE3, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xB5,
            0xD5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x3F, 0x41, 0x56, 0x43, 0x45, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
            0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0xBB, 0xE3, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00,
        };

        public static readonly byte[] HashTable2 = new byte[496]
        {
            0x0D, 0x05, 0x90, 0x41, 0xF9, 0xD0, 0x65, 0xBF, 0xF9, 0x0B, 0x15, 0x93, 0x80, 0xFB, 0x01, 0x02, 0xB6, 0x08,
            0xC4, 0x3C, 0xC1, 0x49, 0x94, 0x4D, 0xCE, 0x1D, 0xFD, 0x69, 0xEA, 0x19, 0xC9, 0x57, 0x9C, 0x4D, 0x84, 0x62,
            0xE3, 0x67, 0xF9, 0x87, 0xF4, 0xF9, 0x93, 0xDA, 0xE5, 0x15, 0xF1, 0x4C, 0xA4, 0xEC, 0xBC, 0xCF, 0xDD, 0xB3,
            0x6F, 0x04, 0x3D, 0x70, 0x1C, 0x74, 0x21, 0x6B, 0x00, 0x71, 0x31, 0x7F, 0x54, 0xB3, 0x72, 0x6C, 0xAA, 0x42,
            0xC1, 0x78, 0x61, 0x3E, 0xD5, 0xF2, 0xE1, 0x27, 0x36, 0x71, 0x3A, 0x25, 0x36, 0x57, 0xD1, 0xF8, 0x70, 0x86,
            0xBD, 0x0E, 0x58, 0xB3, 0x76, 0x6D, 0xC3, 0x50, 0xF6, 0x6C, 0xA0, 0x10, 0x06, 0x64, 0xA2, 0xD6, 0x2C, 0xD4,
            0x27, 0x30, 0xA5, 0x36, 0x1C, 0x1E, 0x3E, 0x58, 0x9D, 0x59, 0x76, 0x9D, 0xA7, 0x42, 0x5A, 0xF0, 0x00, 0xBC,
            0x69, 0x31, 0x40, 0x1E, 0xFA, 0x09, 0x1D, 0xE7, 0xEE, 0xE4, 0x54, 0x89, 0x36, 0x7C, 0x67, 0xC8, 0x65, 0x22,
            0x7E, 0xA3, 0x60, 0x44, 0x1E, 0xBC, 0x68, 0x6F, 0x15, 0x2A, 0xFD, 0x9D, 0x3F, 0x36, 0x6B, 0x28, 0x06, 0x67,
            0xFE, 0xC6, 0x49, 0x6B, 0x9B, 0x3F, 0x80, 0x2A, 0xD2, 0xD4, 0xD3, 0x20, 0x1B, 0x96, 0xF4, 0xD2, 0xCA, 0x8C,
            0x74, 0xEE, 0x0B, 0x6A, 0xE1, 0xE9, 0xC6, 0xD2, 0x6E, 0x33, 0x63, 0xC0, 0xE9, 0xD0, 0x37, 0xA9, 0x3C, 0xF7,
            0x18, 0xF2, 0x4A, 0x74, 0xEC, 0x41, 0x61, 0x7A, 0x19, 0x47, 0x8F, 0xA0, 0xBB, 0x94, 0x8F, 0x3D, 0x11, 0x11,
            0x26, 0xCF, 0x69, 0x18, 0x1B, 0x2C, 0x87, 0x6D, 0xB3, 0x22, 0x6C, 0x78, 0x41, 0xCC, 0xC2, 0x84, 0xC5, 0xCB,
            0x01, 0x6A, 0x37, 0x00, 0x01, 0x65, 0x4F, 0xA7, 0x85, 0x85, 0x15, 0x59, 0x05, 0x67, 0xF2, 0x4F, 0xAB, 0xB7,
            0x88, 0xFA, 0x69, 0x24, 0x9E, 0xC6, 0x7B, 0x3F, 0xD5, 0x0E, 0x4D, 0x7B, 0xFB, 0xB1, 0x21, 0x3C, 0xB0, 0xC0,
            0xCB, 0x2C, 0xAA, 0x26, 0x8D, 0xCC, 0xDD, 0xDA, 0xC1, 0xF8, 0xCA, 0x7F, 0x6A, 0x3F, 0x2A, 0x61, 0xE7, 0x60,
            0x5C, 0xCE, 0xD3, 0x4C, 0xAC, 0x45, 0x40, 0x62, 0xEA, 0x51, 0xF1, 0x66, 0x5D, 0x2C, 0x45, 0xD6, 0x8B, 0x7D,
            0xCE, 0x9C, 0xF5, 0xBB, 0xF7, 0x52, 0x24, 0x1A, 0x13, 0x02, 0x2B, 0x00, 0xBB, 0xA1, 0x8F, 0x6E, 0x7A, 0x33,
            0xAD, 0x5F, 0xF4, 0x4A, 0x82, 0x76, 0xAB, 0xDE, 0x80, 0x98, 0x8B, 0x26, 0x4F, 0x33, 0xD8, 0x68, 0x1E, 0xD9,
            0xAE, 0x06, 0x6B, 0x7E, 0xA9, 0x95, 0x67, 0x60, 0xEB, 0xE8, 0xD0, 0x7D, 0x07, 0x4B, 0xF1, 0xAA, 0x9A, 0xC5,
            0x29, 0x93, 0x9D, 0x5C, 0x92, 0x3F, 0x15, 0xDE, 0x48, 0xF1, 0xCA, 0xEA, 0xC9, 0x78, 0x3C, 0x28, 0x7E, 0xB0,
            0x46, 0xD3, 0x71, 0x6C, 0xD7, 0xBD, 0x2C, 0xF7, 0x25, 0x2F, 0xC7, 0xDD, 0xB4, 0x6D, 0x35, 0xBB, 0xA7, 0xDA,
            0x3E, 0x3D, 0xA7, 0xCA, 0xBD, 0x87, 0xDD, 0x9F, 0x22, 0x3D, 0x50, 0xD2, 0x30, 0xD5, 0x14, 0x5B, 0x8F, 0xF4,
            0xAF, 0xAA, 0xA0, 0xFC, 0x17, 0x3D, 0x33, 0x10, 0x99, 0xDC, 0x76, 0xA9, 0x40, 0x1B, 0x64, 0x14, 0xDF, 0x35,
            0x68, 0x66, 0x5B, 0x49, 0x05, 0x33, 0x68, 0x26, 0xC8, 0xBA, 0xD1, 0x8D, 0x39, 0x2B, 0xFB, 0x3E, 0x24, 0x52,
            0x2F, 0x9A, 0x69, 0xBC, 0xF2, 0xB2, 0xAC, 0xB8, 0xEF, 0xA1, 0x17, 0x29, 0x2D, 0xEE, 0xF5, 0x23, 0x21, 0xEC,
            0x81, 0xC7, 0x5B, 0xC0, 0x82, 0xCC, 0xD2, 0x91, 0x9D, 0x29, 0x93, 0x0C, 0x9D, 0x5D, 0x57, 0xAD, 0xD4, 0xC6,
            0x40, 0x93, 0x8D, 0xE9, 0xD3, 0x35, 0x9D, 0xC6, 0xD3, 0x00,
        };

        public static readonly byte[] encryptFooter = new byte[22]
        {
            0x0D, 0x00, 0x0A, 0x00, 0x2F, 0x00, 0x2F, 0x00, 0x65, 0x00, 0x6E, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00,
            0x70, 0x00, 0x74, 0x00,
        };
        
        public static void Main(string[] args)
        {
            try
            {
                if (args.Length == 1)
                {
                    if (File.Exists(args[0]))
                    {

                        bool isEncrypted = false;
                        uint blowfishKey = 0x8C1F;
                        byte[] fileBuffer = File.ReadAllBytes(args[0]);

                        if (fileBuffer[0] == 0xE2 || fileBuffer[1] == 0xB0)
                        {
                            isEncrypted = true;
                        }

                        if (isEncrypted)
                        {
                            byte[] memoryBuffer = new byte[fileBuffer.Length - 22];

                            for (uint i = 0; i < fileBuffer.Length - 23; i++)
                            {
                                int buff = HashTable1[blowfishKey % 0xA7] - HashTable2[blowfishKey % 0x1EF];
                                blowfishKey++;
                                fileBuffer[i] += (byte) buff;
                                memoryBuffer[i] = fileBuffer[i];
                            }

                            File.WriteAllBytes(Path.GetDirectoryName(args[0]) + "\\" +
                                               Path.GetFileNameWithoutExtension(args[0]).Replace("enc", "") +
                                               Path.GetExtension(args[0]), memoryBuffer);
                        }
                        else
                        {
                            byte[] memoryBuffer = new byte[fileBuffer.Length + 22];

                            for (uint i = 0; i < fileBuffer.Length; i++)
                            {
                                int buff = HashTable1[blowfishKey % 0xA7] - HashTable2[blowfishKey % 0x1EF];
                                blowfishKey++;
                                fileBuffer[i] -= (byte) buff;
                                memoryBuffer[i] = fileBuffer[i];
                            }

                            for (uint i = 0; i < encryptFooter.Length - 1; i++)
                            {
                                memoryBuffer[fileBuffer.Length + i] = encryptFooter[i];
                            }

                            File.WriteAllBytes(Path.GetDirectoryName(args[0]) + "\\" +
                                               Path.GetFileNameWithoutExtension(args[0]) + "enc" +
                                               Path.GetExtension(args[0]), memoryBuffer);
                        }
                    }
                    else
                    {
                        Console.WriteLine("FILE DOES NOT EXISTS!");
                    }
                }
                else
                {
                    Console.WriteLine("INCORRECT SYNTAX!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
    }
}
Thanks to superkhung[at]vnsecurity.net for his SRODecrypt and his SRC so I didnt had to reverse engineer that by my self

-Syloxx
Attached Files
File Type: rar srSkillEncrypter.rar (3.7 KB, 523 views)
Syloxx is offline  
Thanks
3 Users
Old 08/27/2017, 00:34   #2

 
KingDollar's Avatar
 
elite*gold: 1117
Join Date: Dec 2013
Posts: 858
Received Thanks: 806
this was released 4 years ago ?
KingDollar is offline  
Thanks
4 Users
Old 08/27/2017, 01:49   #3
 
blapanda's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 1,860
Received Thanks: 760
Yes it was. And there is no reason re-releasing it and taking the credits for it.

Also, being butthurt and calling a Mod for cleaning up an entire topic because of those "oh so insulting" comments, but removing the neutral ones, too?

You are getting quite whiny, Gollum.
blapanda is offline  
Thanks
1 User
Old 08/27/2017, 05:54   #4
 
B1Q's Avatar
 
elite*gold: 350
Join Date: Aug 2015
Posts: 1,999
Received Thanks: 1,188
Anyway, nothing special... i cry when someone criticizes me.

funny how they do not allow you to link other forums but you can post pictures from that same exact forum. RULES
B1Q is offline  
Old 08/27/2017, 11:02   #5
 
Syloxx's Avatar
 
elite*gold: 56
Join Date: Oct 2013
Posts: 1,165
Received Thanks: 774
Quote:
Originally Posted by KingDollar View Post
this was released 4 years ago ?
didn't knew there is a c# class for that neither do I know if it works without crashing, so I simply made one by my self simple as that.

How I said, my plan was to do "a automatic extract everything from DB" *.bat and make it ready to patch without any step in between and this application is necessary to do that.

Quote:
Originally Posted by blapanda View Post
Yes it was. And there is no reason re-releasing it and taking the credits for it.

Also, being butthurt and calling a Mod for cleaning up an entire topic because of those "oh so insulting" comments, but removing the neutral ones, too?

You are getting quite whiny, Gollum.
1st of all, I didn't took the credits and 2nd I didn't even called a mod probably he took the initiative to do so. (didn't even checked my thread since then don't even know that it has been cleaned)

So please if you have no clue just shut up ok?
Syloxx is offline  
Old 08/27/2017, 15:07   #6
 
blapanda's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 1,860
Received Thanks: 760
Quote:
Originally Posted by Syloxx View Post
... 1st of all, I didn't took the credits ...

So please if you have no clue just shut up ok?
Yea, right... I wonder, how often you got dropped as a baby.
You don't even comprehend your own thread structure and recalling a credit claim. You are a hopeless case.
blapanda is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Suche Server src undclient src mit passenden client
06/01/2016 - Metin2 Private Server - 2 Replies
Würde mich freuen wenn ihr mir sagen könnt welche am besten wäre und eventuell links dazu geben könntet
release Explain to decrypt SkillData
09/08/2015 - SRO PServer Guides & Releases - 3 Replies
Hey, today I release my Explain to decrypt SkillData.3500.enc for Media.pk: http://www3.0zz0.com/2015/09/08/02/539662248.jpg https://www.youtube.com/watch?v=19A7aGa5LYc



All times are GMT +1. The time now is 15:55.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.