View previous topic :: View next topic |
Author |
Message |
GordonBM Expert Cheater Reputation: 0
Joined: 06 Jul 2007 Posts: 205
|
Posted: Fri Aug 13, 2010 5:42 pm Post subject: Crack this |
|
|
Obtain the succes box.
Protection:
-Obfuscation
-String Encryption
-Compressed
-Anti-Debugger
Good luck.
http://rapidshare.com/files/412797772/CrackMe.rar.html
_________________
maxuer wrote: |
:p What is a memory scanner and where I found one? |
|
|
Back to top |
|
|
atom0s Moderator Reputation: 202
Joined: 25 Jan 2006 Posts: 8552 Location: 127.0.0.1
|
Posted: Fri Aug 13, 2010 6:28 pm Post subject: |
|
|
Gives an exception on my system (Virtual Machine) on startup:
Code: | System.Runtime.InteropServices.COMException (0x80070422): The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. (Exception from HRESULT: 0x80070422)
at System.Management.ThreadDispatch.Start()
at System.Management.ManagementScope.Initialize()
at System.Management.ManagementObject.Initialize(Boolean getObject)
at System.Management.ManagementClass.GetInstances(EnumerationOptions options)
at System.Management.ManagementClass.GetInstances()
at CrackMe.Form1.eVbtiIoOv(Object , EventArgs )
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) |
Haven't looked into the cause or anything, just tried it. Just a heads up.
Edit ::
Problem was caused due to WMI service being disabled. But there is still issues since apparently whatever value you are querying for doesn't exist on my system.
Code: | System.NullReferenceException: Object reference not set to an instance of an object. |
_________________
- Retired. |
|
Back to top |
|
|
GordonBM Expert Cheater Reputation: 0
Joined: 06 Jul 2007 Posts: 205
|
|
Back to top |
|
|
atom0s Moderator Reputation: 202
Joined: 25 Jan 2006 Posts: 8552 Location: 127.0.0.1
|
Posted: Sat Aug 14, 2010 2:46 am Post subject: |
|
|
Still throws the 2nd exception:
Code: | System.NullReferenceException: Object reference not set to an instance of an object.
at CrackMe.Form1.ccK7ruSOk(Object , EventArgs )
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) |
I'm not any bit of an expert at debugging .NET applications either. But, for this one there is a simple check true/false for which message box gets shown.
Pseudo:
Code: | if( somefunction() == true )
{
Msgbox( "Success!" );
}
else
{
Msgbox( "try again" );
} |
Because of the exception I can't tell whats being referenced or trying to be used. But I can still run the executable and get the success message with one small edit:
Code: | IL_001F: 286C00000A call Int32 Microsoft.VisualBasic.CompilerServices.Operators::CompareString(String, String, Boolean)
IL_0024: 16 ldc.i4.0
IL_0025: FE01 ceq
IL_0027: 0A stloc.0
IL_0028: 06 ldloc.0
IL_0029: 3920000000 brfalse IL_004E
IL_002E: 2060030000 ldc.i4 0x00000360
IL_0033: 2850000006 call String F3FO27cfFH8Sr8slp5.ky9Rfiwa4cvcBWJ6Ir::nJgjkGowy(Int32)
IL_0038: 16 ldc.i4.0
IL_0039: 2074030000 ldc.i4 0x00000374
IL_003E: 2850000006 call String F3FO27cfFH8Sr8slp5.ky9Rfiwa4cvcBWJ6Ir::nJgjkGowy(Int32)
IL_0043: 287D00000A call ValueType Microsoft.VisualBasic.MsgBoxResult Microsoft.VisualBasic.Interaction::MsgBox(System.Object, ValueType Microsoft.VisualBasic.MsgBoxStyle, System.Object)
IL_0048: 26 pop
IL_0049: 381C000000 br IL_006A
IL_004E: 00 nop // <== IL_0029
IL_004F: 208A030000 ldc.i4 0x0000038A
IL_0054: 2850000006 call String F3FO27cfFH8Sr8slp5.ky9Rfiwa4cvcBWJ6Ir::nJgjkGowy(Int32)
IL_0059: 16 ldc.i4.0
IL_005A: 209A030000 ldc.i4 0x0000039A
IL_005F: 2850000006 call String F3FO27cfFH8Sr8slp5.ky9Rfiwa4cvcBWJ6Ir::nJgjkGowy(Int32)
IL_0064: 287D00000A call ValueType Microsoft.VisualBasic.MsgBoxResult Microsoft.VisualBasic.Interaction::MsgBox(System.Object, ValueType Microsoft.VisualBasic.MsgBoxStyle, System.Object)
IL_0069: 26 pop
IL_006A: 00 nop // <== IL_0049
IL_006B: 2A ret |
Like the previous, we can edit the boolean to give the success message even if it failed. Not a real 'crack' solution or anything but it gets the message we want. I can't tell whats being referenced though so I can't really do much more then this.
Offset 0x00001DD1:
0x39 to 0x3A (compare jump true/false change).
_________________
- Retired. |
|
Back to top |
|
|
GordonBM Expert Cheater Reputation: 0
Joined: 06 Jul 2007 Posts: 205
|
Posted: Sat Aug 14, 2010 7:01 pm Post subject: |
|
|
I'm even suprised you got around all those protections. How you crack it doesn't really bother me. Congratulations!
_________________
maxuer wrote: |
:p What is a memory scanner and where I found one? |
|
|
Back to top |
|
|
atom0s Moderator Reputation: 202
Joined: 25 Jan 2006 Posts: 8552 Location: 127.0.0.1
|
Posted: Sun Aug 15, 2010 10:19 am Post subject: |
|
|
GordonBM wrote: | I'm even suprised you got around all those protections. How you crack it doesn't really bother me. Congratulations! |
In the long run obfuscation isn't much of a protection.
The flow of the application is still the same and most IL debuggers can understand and display calls to framework things such as the above does with property setters and so on. It's fairly easy to still understand whats going on even if the strings and function names are scrambled.
_________________
- Retired. |
|
Back to top |
|
|
GordonBM Expert Cheater Reputation: 0
Joined: 06 Jul 2007 Posts: 205
|
Posted: Sun Aug 15, 2010 8:12 pm Post subject: |
|
|
Yeah, I can tell.
Would be awesome if you made a keygen though.
_________________
maxuer wrote: |
:p What is a memory scanner and where I found one? |
|
|
Back to top |
|
|
atom0s Moderator Reputation: 202
Joined: 25 Jan 2006 Posts: 8552 Location: 127.0.0.1
|
Posted: Tue Aug 17, 2010 3:13 pm Post subject: |
|
|
GordonBM wrote: | Would be awesome if you made a keygen though. |
With the exceptions that are thrown when I launch it, there isn't much I can attempt to do with it since I can't really fully run it. :/
_________________
- Retired. |
|
Back to top |
|
|
GordonBM Expert Cheater Reputation: 0
Joined: 06 Jul 2007 Posts: 205
|
Posted: Tue Aug 17, 2010 9:09 pm Post subject: |
|
|
Can you tell me if you have 64-bit or 32-bit OS?
_________________
maxuer wrote: |
:p What is a memory scanner and where I found one? |
|
|
Back to top |
|
|
atom0s Moderator Reputation: 202
Joined: 25 Jan 2006 Posts: 8552 Location: 127.0.0.1
|
Posted: Tue Aug 17, 2010 10:28 pm Post subject: |
|
|
GordonBM wrote: | Can you tell me if you have 64-bit or 32-bit OS? |
32bit; I can assure you it's due to you using WMI though.
_________________
- Retired. |
|
Back to top |
|
|
|