Register for your free account! | Forgot your password?

Go Back   elitepvpers > Shooter > WarRock
You last visited: Today at 19:24

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

Advertisement



String Logfile.log MOSS[ESL] WarRock

Discussion on String Logfile.log MOSS[ESL] WarRock within the WarRock forum part of the Shooter category.

Closed Thread
 
Old   #1
 
Alliance™'s Avatar
 
elite*gold: 26
Join Date: Nov 2013
Posts: 410
Received Thanks: 249
String Logfile.log MOSS[ESL] WarRock

This is a string generated by LogFile.log Moss(ESL):
C:\Nexon\Warrock EU\System\..\data\items.bin is 03516462 md5: 8c9697e9192afe370827e5314765b2f9
Some one say what is 03516462 and how to calculate it?
Alliance™ is offline  
Old 08/16/2014, 21:00   #2


 
Maurice's Avatar
 
elite*gold: 98
Join Date: Nov 2011
Posts: 1,267
Received Thanks: 1,019
It is the CRC32...

Funny thing is, you have a source to parse the fcld, but u don't know what this is?

Code:
using System;
using System.Security.Cryptography;

namespace fcldParser
{
    public class Crc32 : HashAlgorithm
    {
        public const uint DefaultPolynomial = 0xedb88320;
        public const uint DefaultSeed = uint.MaxValue;
        private static uint[] defaultTable;
        private uint hash;
        private uint seed;
        private uint[] table;

        public Crc32()
        {
            this.table = InitializeTable(0xedb88320);
            this.seed = uint.MaxValue;
            this.Initialize();
        }

        public Crc32(uint polynomial, uint seed)
        {
            this.table = InitializeTable(polynomial);
            this.seed = seed;
            this.Initialize();
        }

        private static uint CalculateHash(uint[] table, uint seed, byte[] buffer, int start, int size)
        {
            uint num = seed;
            for (int i = start; i < size; i++)
            {
                num = (num >> 8) ^ table[(int) ((IntPtr) (buffer[i] ^ (num & 0xff)))];
            }
            return num;
        }

        public static uint Compute(byte[] buffer)
        {
            return ~CalculateHash(InitializeTable(0xedb88320), uint.MaxValue, buffer, 0, buffer.Length);
        }

        public static uint Compute(uint seed, byte[] buffer)
        {
            return ~CalculateHash(InitializeTable(0xedb88320), seed, buffer, 0, buffer.Length);
        }

        public static uint Compute(uint polynomial, uint seed, byte[] buffer)
        {
            return ~CalculateHash(InitializeTable(polynomial), seed, buffer, 0, buffer.Length);
        }

        protected override void HashCore(byte[] buffer, int start, int length)
        {
            this.hash = CalculateHash(this.table, this.hash, buffer, start, length);
        }

        protected override byte[] HashFinal()
        {
            byte[] buffer = this.UInt32ToBigEndianBytes(~this.hash);
            base.HashValue = buffer;
            return buffer;
        }

        public override void Initialize()
        {
            this.hash = this.seed;
        }

        private static uint[] InitializeTable(uint polynomial)
        {
            if ((polynomial == 0xedb88320) && (defaultTable != null))
            {
                return defaultTable;
            }
            uint[] numArray = new uint[0x100];
            for (int i = 0; i < 0x100; i++)
            {
                uint num2 = (uint) i;
                for (int j = 0; j < 8; j++)
                {
                    if ((num2 & 1) == 1)
                    {
                        num2 = (num2 >> 1) ^ polynomial;
                    }
                    else
                    {
                        num2 = num2 >> 1;
                    }
                }
                numArray[i] = num2;
            }
            if (polynomial == 0xedb88320)
            {
                defaultTable = numArray;
            }
            return numArray;
        }

        private byte[] UInt32ToBigEndianBytes(uint x)
        {
            return new byte[] { ((byte) ((x >> 0x18) & 0xff)), ((byte) ((x >> 0x10) & 0xff)), ((byte) ((x >> 8) & 0xff)), ((byte) (x & 0xff)) };
        }

        public override int HashSize
        {
            get
            {
                return 0x20;
            }
        }
    }
}
If u wanna fake it on ESL, u just can extract the logfile from the zip, replace the original CRC32 with the scripted items.bin's CRC32 and save it, drag it to the zip, upload the zip @ esl.eu and you can enjoy your win's on you wished ladder.. I am suprised this isn't been known before o.O
Maurice is offline  
Old 08/16/2014, 23:14   #3
 
Alliance™'s Avatar
 
elite*gold: 26
Join Date: Nov 2013
Posts: 410
Received Thanks: 249
I request what is because i calculate crc32 but not is equal with the original items.bin and Global.FCL for this motive i ask.But your methos is wrong because if you change the CRC32 with scripted version when i download you compressed file from esl and compare my CRC with your CRC it is not equal.
Thre is another method.
And if you use this method the modified document date change...i think you don't see how to bypass it hahahahahhahahahaha
Alliance™ is offline  
Old 08/16/2014, 23:23   #4
 
xBl4ckRaz0R.'s Avatar
 
elite*gold: 0
Join Date: Jul 2014
Posts: 43
Received Thanks: 4
Pack your items.bin with Winrar and you'll see the CRC32 Checksum as last entry.
And for your problem i think you're using somekind of wrong CRC32 class.
Add me in skype maybe i am able to help you.
xBl4ckRaz0R. is offline  
Old 08/17/2014, 00:17   #5
 
Alliance™'s Avatar
 
elite*gold: 26
Join Date: Nov 2013
Posts: 410
Received Thanks: 249
Quote:
Originally Posted by ~Nazar* View Post
It is the CRC32...

Funny thing is, you have a source to parse the fcld, but u don't know what this is?

Code:
using System;
using System.Security.Cryptography;

namespace fcldParser
{
    public class Crc32 : HashAlgorithm
    {
        public const uint DefaultPolynomial = 0xedb88320;
        public const uint DefaultSeed = uint.MaxValue;
        private static uint[] defaultTable;
        private uint hash;
        private uint seed;
        private uint[] table;

        public Crc32()
        {
            this.table = InitializeTable(0xedb88320);
            this.seed = uint.MaxValue;
            this.Initialize();
        }

        public Crc32(uint polynomial, uint seed)
        {
            this.table = InitializeTable(polynomial);
            this.seed = seed;
            this.Initialize();
        }

        private static uint CalculateHash(uint[] table, uint seed, byte[] buffer, int start, int size)
        {
            uint num = seed;
            for (int i = start; i < size; i++)
            {
                num = (num >> 8) ^ table[(int) ((IntPtr) (buffer[i] ^ (num & 0xff)))];
            }
            return num;
        }

        public static uint Compute(byte[] buffer)
        {
            return ~CalculateHash(InitializeTable(0xedb88320), uint.MaxValue, buffer, 0, buffer.Length);
        }

        public static uint Compute(uint seed, byte[] buffer)
        {
            return ~CalculateHash(InitializeTable(0xedb88320), seed, buffer, 0, buffer.Length);
        }

        public static uint Compute(uint polynomial, uint seed, byte[] buffer)
        {
            return ~CalculateHash(InitializeTable(polynomial), seed, buffer, 0, buffer.Length);
        }

        protected override void HashCore(byte[] buffer, int start, int length)
        {
            this.hash = CalculateHash(this.table, this.hash, buffer, start, length);
        }

        protected override byte[] HashFinal()
        {
            byte[] buffer = this.UInt32ToBigEndianBytes(~this.hash);
            base.HashValue = buffer;
            return buffer;
        }

        public override void Initialize()
        {
            this.hash = this.seed;
        }

        private static uint[] InitializeTable(uint polynomial)
        {
            if ((polynomial == 0xedb88320) && (defaultTable != null))
            {
                return defaultTable;
            }
            uint[] numArray = new uint[0x100];
            for (int i = 0; i < 0x100; i++)
            {
                uint num2 = (uint) i;
                for (int j = 0; j < 8; j++)
                {
                    if ((num2 & 1) == 1)
                    {
                        num2 = (num2 >> 1) ^ polynomial;
                    }
                    else
                    {
                        num2 = num2 >> 1;
                    }
                }
                numArray[i] = num2;
            }
            if (polynomial == 0xedb88320)
            {
                defaultTable = numArray;
            }
            return numArray;
        }

        private byte[] UInt32ToBigEndianBytes(uint x)
        {
            return new byte[] { ((byte) ((x >> 0x18) & 0xff)), ((byte) ((x >> 0x10) & 0xff)), ((byte) ((x >> 8) & 0xff)), ((byte) (x & 0xff)) };
        }

        public override int HashSize
        {
            get
            {
                return 0x20;
            }
        }
    }
}
If u wanna fake it on ESL, u just can extract the logfile from the zip, replace the original CRC32 with the scripted items.bin's CRC32 and save it, drag it to the zip, upload the zip @ esl.eu and you can enjoy your win's on you wished ladder.. I am suprised this isn't been known before o.O
I think you is so much noob , try this class and check if the number which i request help is equal.The number present in the string isn't the CRC32 Checksum
Alliance™ is offline  
Old 08/17/2014, 01:29   #6
 
xBl4ckRaz0R.'s Avatar
 
elite*gold: 0
Join Date: Jul 2014
Posts: 43
Received Thanks: 4
Quote:
Originally Posted by Alliance™ View Post
I think you is so much noob , try this class and check if the number which i request help is equal.The number present in the string isn't the CRC32 Checksum
Yes. It doesn't seem to be in CRC32 format, maybe it's a ESL homemade cryption?
How about looking into MOSS via. OllyDBG or smth. similar?
xBl4ckRaz0R. is offline  
Old 08/17/2014, 16:58   #7
 
Alliance™'s Avatar
 
elite*gold: 26
Join Date: Nov 2013
Posts: 410
Received Thanks: 249
Close Thread i debugg Moss.exe and i found what is this code.
Alliance™ is offline  
Old 08/17/2014, 19:29   #8


 
.Sin0ne's Avatar
 
elite*gold: 0
The Black Market: 138/0/1
Join Date: Apr 2011
Posts: 6,436
Received Thanks: 3,149
#closed
.Sin0ne is offline  
Closed Thread


Similar Threads Similar Threads
Warrock login string
01/13/2014 - WarRock - 7 Replies
With my program I login to the warrock server. I get my NPP through webrequest when I first login. I build my string like this: sb.Append(Environment.TickCount.ToString()); sb.Append(" 4352 "); sb.Append(WRCrypt.rnd()); sb.Append(" 0 "); sb.Append(username);
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code: #include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Name Generator", 236, 299, 815, 246) $Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21) $Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21) $Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21) $Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21) $Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
[VB08]String in String mit mehreren Funden
08/08/2011 - .NET Languages - 6 Replies
Hey, bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße. Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei _StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")... da man in VB08 kein Array returnen kann, komme ich aber einfach...



All times are GMT +1. The time now is 19:24.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.