Reverse Engineering RET Homepage RET Members Reverse Engineering Projects Reverse Engineering Papers Reversing Challenges Reverser Tools RET Re-Search Engine Reverse Engineering Forum Reverse Engineering Links

Go Back   Reverse Engineering Team Board > Reverse Engineering Board > .NET Reverse Engineering
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Display Modes
  #31  
Old 04-21-2008, 06:37 AM
LibX LibX is offline
Administrator
 
Join Date: Feb 2007
Location: The Netherlands
Posts: 118
Default

Here is the original code

Code:
private static string Process(string Y)
        {
            char[] A = "B455C37C42F8B0590B43025D5AD7D1A450F9FEFB8B80BE1FEA1DB54D90D05C41".ToCharArray();
            char[] C = "A69D258AC689461C9B2A03CAE4FD2F5725F1CC4EC716F77CBC851C0507352091".ToCharArray();
            byte[] B = new byte[A.Length];
            char[] H = Y.ToCharArray();
            int j = 0;
            for (int i = 0; i < A.Length; i++)
            {
                char t = 'I';
                if (j >= H.Length)
                {
                    j = 0;
                    for (int k = 0; k < H.Length; k++)
                    {
                        if (Debugger.IsAttached)
                        {
                            H[k] = (char)((H[k] + 2) ^ 0x24);
                        }
                        else
                        {
                            H[k] = (char)((H[k] + 2) ^ 0x25);
                        }
                    }
                }
                else if (j == H.Length - 3)
                {
                    for (int k = 0; k < H.Length; k++)
                    {
                        H[k] = (char)((H[k] + 4) ^ 0x44);
                    }
                }
                else
                {
                    t = H[j];
                    j++;
                    if (Debugger.IsAttached)
                    {
                        j++;
                    }
                }
                if (Math.IEEERemainder(i, 2) == 1)
                {
                    B[i] = (byte)((A[i] & t) ^ C[i]);
                }
                else
                {
                    B[i] = (byte)((A[i] ^ t) ^ C[i]);
                }
            }
            return BitConverter.ToString(B).Replace("-", "");
        }
Reply With Quote
  #32  
Old 04-24-2008, 06:56 PM
rongchaua rongchaua is offline
Senior Member
 
Join Date: Apr 2007
Posts: 91
Default

Quote:
Originally Posted by tankaiha View Post
don't know if this is the original msil
hope Liby can show us the original C# code

[code] IL_0000: nop
IL_0001: ldstr "B455C37C42F8B0590B43025D5AD7D1A450F9FEFB8B80BE1FE A1DB54D90D05C41"
IL_0006: callvirt instance char[] [mscorlib]System.String::ToCharArray()
IL_000b: stloc.0
IL_000c: ldstr "A69D258AC689461C9B2A03CAE4FD2F5725F1CC4EC716F77CB C851C0507352091"
IL_0011: callvirt instance char[] [mscorlib]System.String::ToCharArray()
IL_0016: stloc.1
IL_0017: ldloc.0
IL_0018: ldlen
IL_0019: conv.i4
IL_001a: newarr [mscorlib]System.Byte
IL_001f: stloc.2
IL_0020: ldarg.0
IL_0021: callvirt instance char[] [mscorlib]System.String::ToCharArray()
IL_0026: stloc.3
IL_0027: ldc.i4.0
IL_0028: stloc.s 4
IL_002a: ldc.i4.0
IL_002b: stloc.s 5
.....
@tankaiha: Would you mind to make a short tut telling how you get this IL code back? Thank you.
__________________
My site: http://rongchaua.net
Reply With Quote
  #33  
Old 04-25-2008, 12:55 AM
tankaiha tankaiha is offline
Member
 
Join Date: May 2007
Posts: 30
Default

@rongchaua: i don't have time to write tut, so i just make a video tut in minutes, hope it's helpful

@Liby: thank's for such good crackme. btw, do you still remember the preface about the book? do you have free time these days?

http://rapidshare.com/files/11021408...ethod.rar.html
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump





Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.