MU CheckSum Generator (c) S@nek[BoR]

Page 1 of 2 12 LastLast
Results 1 to 15 of 21
  1. #1
    Proficient Member MuForum.Info is offline
    MemberRank
    Apr 2007 Join Date
    Republic of MoldovaLocation
    199Posts

    MU CheckSum Generator (c) S@nek[BoR]

    MU CheckSum Generator v1.0.0.120 @ BoR Team

    Developed by S@nek[BoR]



    -


    -
    # Name of: MU CheckSum Generator
    # Version: 1.0.0.120
    # Developed by: S@nek[BoR]
    # Created date: 02.01.2011
    # Last Update: 02.01.2011
    # License: Free
    # Language: English
    # Operating System: Windows NT, XP, 2003, Vista, 2008
    # Programming language: C#;
    - Need: Microsoft .NET Framework 4.0;
    # Description: Program to generate the file "checksum.dat" on file "main.exe". Thanks "Deathway" for the initial algorithm.
    -
    -
    # Links for downloading programs from various Internet resources:
    Last edited by KarLi; 02-01-11 at 11:15 PM. Reason: New version


  2. #2
    Legend MuIsBest is offline
    LegendRank
    Dec 2006 Join Date
    NorwayLocation
    2,144Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    Approved

  3. #3
    Valued Member nahmani1 is offline
    MemberRank
    Apr 2008 Join Date
    122Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    i never understood what is main checksum ..
    can someone explain please ?

  4. #4
    Retired Old Man Shatter is offline
    MemberRank
    Jun 2008 Join Date
    NowhereLocation
    1,884Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    its a string of code main sends to gameserver and if it's wrong the client will be disconnected. this way you can prevent unwanted edits to main.exe

  5. #5
    Proficient Member MuForum.Info is offline
    MemberRank
    Apr 2007 Join Date
    Republic of MoldovaLocation
    199Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    # Test results for 2-core: (Notebook)
    File 'MyMain.exe' is selected. (Size: 5,462 MByte)
    The program uses '2' logical processors.

    BoR v1.0.0.80: ~8,731 sec;
    P4F v0.2: ~23 sec;
    Deathway: ~16 sec;

    # Stand:
    Processor: Intel Mobile Core 2 Duo P7350;
    Memory: 2x2048 MByte DDR2-800 CL-6;
    # Test results for 4-core: (PC)
    File 'MyMain.exe' is selected. (Size: 5,462 MByte)
    The program uses '4' logical processors.

    BoR v1.0.0.80: ~7.713 sec;
    P4F v0.2: ~57 sec;
    Deathway: ~28 sec;

    # Stand:
    Processor: AMD Phenom II X4 945;
    Memory: Team 2x2048 MByte DDR3-1600 CL-7;

    # Download archive: BoR, P4F, Deathway and 2 main.exe

    P.S. -> Waiting for comments and suggestions.

  6. #6
    Apprentice tomas08 is offline
    MemberRank
    Jun 2009 Join Date
    11Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    Hello serves to cualkier version of main bone I have a main 1.03.25w see. JPM. would serve me well.

  7. #7
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    I released same months ago... just without a GUI: http://forum.ragezone.com/f197/multi...erator-662748/

    I cant load it with Reflector, do you have anything to hide? Jotti Virusscan finds "Gen:Trojan.Heur.RP.3y0aaiwTJ9k"

  8. #8
    iNewLegend , Leo123 zolamu is offline
    MemberRank
    Apr 2006 Join Date
    Холон, IsrLocation
    737Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    good work bro

  9. #9
    Account Upgraded | Title Enabled! tutero69 is offline
    MemberRank
    Jun 2010 Join Date
    1,028Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    will this also

    work on season 6 ?

  10. #10
    Proficient Member MuForum.Info is offline
    MemberRank
    Apr 2007 Join Date
    Republic of MoldovaLocation
    199Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    Quote Originally Posted by spezi View Post
    I released same months ago... just without a GUI: http://forum.ragezone.com/f197/multi...erator-662748/

    I cant load it with Reflector, do you have anything to hide? Jotti Virusscan finds "Gen:Trojan.Heur.RP.3y0aaiwTJ9k"
    I have optimized and reworked the algorithm.
    - And my program is based on an algorithm Deathway.


    P.S. -> Program is protected with WinLicense v2.1.6.0 =)
    Last edited by MuForum.Info; 03-01-11 at 09:51 AM.

  11. #11
    NN - Nord & Noob mauka is offline
    MemberRank
    Jul 2004 Join Date
    1,728Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    I`we asked same question why pack with Winlicense if everybody knows algo of calculation and there is many many open source project like this..

    i got paranoi to :D if packed app like this = something hide

  12. #12
    Developer nevS is offline
    MemberRank
    Aug 2005 Join Date
    GermanyLocation
    531Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    Quote Originally Posted by MuForum.Info View Post
    I have optimized and reworked the algorithm.
    - And my program is based on an algorithm Deathway.


    P.S. -> Program is protected with WinLicense v2.1.6.0 =)
    who cares if your algorithm finishes in 2,7 instead of 2,9 seconds after optimizing? Using such protection is really a bad sign ;)

  13. #13
    NN - Nord & Noob mauka is offline
    MemberRank
    Jul 2004 Join Date
    1,728Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    there is also additional information such a like: u need start programm then restart it and only then u got performance around 10-20ms better.. shore if we dont count time we wasted on restarting app.. xDDDDDDDDDDDdd

  14. #14
    Proficient Member Young is offline
    MemberRank
    Jul 2005 Join Date
    BrazilLocation
    190Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    Quote Originally Posted by MuForum.Info View Post
    I have optimized and reworked the algorithm.
    - And my program is based on an algorithm Deathway.


    P.S. -> Program is protected with WinLicense v2.1.6.0 =)
    Yeah, but your app runs over a framework (.NET), so at the end, your optimization means less then nothing...

    When I see one ASM coded generator or even in C++, than I will show my respect.

    And... what about the protection ? The calculation algo is not a secreat at all !

  15. #15
    Proficient Member MuForum.Info is offline
    MemberRank
    Apr 2007 Join Date
    Republic of MoldovaLocation
    199Posts

    Re: MU CheckSum Generator (c) S@nek[BoR]

    Well, the first time publish their source code.
    Code:
                byte[] lpFileBuffer     = null;
                // ----
                using (FileStream fs = new FileStream(FilePath, FileMode.Open))
                {
                    lpFileBuffer = new byte[fs.Length];
                    // ----
                    fs.Read(lpFileBuffer, 0, lpFileBuffer.Length);
                }
                // ----
                int iCoresCount = Environment.ProcessorCount;
                // ----
                uint uSize      = (uint)lpFileBuffer.Length;
                // ----
                uint dwMaskLength = (uint)(uSize / 4);
                int iMaskLength = (int)(uSize / 4);
                // ----
                g_Config.Mask     = new uint[dwMaskLength];
                // ----
                Stopwatch sw = new Stopwatch();
                sw.Start();
                // ----
                ParallelOptions po = new ParallelOptions();
                // ----
                po.MaxDegreeOfParallelism   = Environment.ProcessorCount;
                // ----
                Parallel.For(0, iMaskLength, po, i =>
                {
                    g_Config.Mask[i] = BitConverter.ToUInt32(lpFileBuffer, i * 4);
                });
                // ----
                Parallel.For(0, 1024, po, (i, loopState) =>
                {
                    if (g_Config.bShouldStop == false)
                    {
                        g_Config.csf.Checksums[i] = GetChecksum(lpFileBuffer, g_Config.Mask, dwMaskLength, (ushort)i);
                    }
                    else
                    {
                        loopState.Stop();
                    }
                });
                // ----
                sw.Stop();
                // ----
    
    
            public uint GetChecksum(byte[] lpFileBuffer, uint[] Mask, uint dwMaskLength, ushort wChecksumKey)
            {
                uint dwResult   = (uint)(wChecksumKey << 9);
                // ----
                uint dwKey      = 0;
                // ----
                for (uint i = 0, j = 0; i < dwMaskLength; i++, j += 4)
                {
                    dwKey       = Mask[i];
                    // ----
                    switch (((j >> 2) + wChecksumKey) % 3)
                    {
                        case 0:
                            {
                                dwResult ^= dwKey;
                            }
                            break;
                        case 1:
                            {
                                dwResult += dwKey;
                            }
                            break;
                        case 2:
                            {
                                dwResult = (dwResult << (int)(dwKey % 11)) ^ dwKey;
                            }
                            break;
                        default: break;
                    }
                    // ----
                    dwResult    ^= ((wChecksumKey + dwResult) >> (int)(((j >> 2) % 16) + 3));
                }
                // ----
                return dwResult;
            }



Page 1 of 2 12 LastLast

Advertisement