新手破解练习Crackme160之130 - phox.3

作者说了源程序是汇编写的, 代码量不多, 直接看OD结果(100多行):

00401000 >/$  6A 00         push 0x0                                            ; /pModule = NULL
00401002  |.  E8 C6010000   call <jmp.&KERNEL32.GetModuleHandleA>               ; \GetModuleHandleA
00401007  |.  A3 44204000   mov dword ptr ds:[0x402044],eax
0040100C  |.  6A 30         push 0x30                                           ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
0040100E  |.  68 79204000   push phox_3.00402079                                ; |CrackMe 1.0 by PhoX
00401013  |.  68 8D204000   push phox_3.0040208D                                ; |Plz registrate this CrackMe...\r\nor crack it!! =)\r\n\r\nThis CrackMe maybe not so hard crack.\r\nIve made this in asm and its not my best language
00401018  |.  FF35 48204000 push dword ptr ds:[0x402048]                        ; |hOwner = NULL
0040101E  |.  E8 DA010000   call <jmp.&USER32.MessageBoxA>                      ; \MessageBoxA  ;;;;;;;;;;;;;;;;;这行nop掉, NAG弹框就没了
00401023  |.  C705 00204000>mov dword ptr ds:[0x402000],0x4003
0040102D  |.  C705 04204000>mov dword ptr ds:[0x402004],phox_3.0040113D         ;  è
00401037  |.  C705 08204000>mov dword ptr ds:[0x402008],0x0
00401041  |.  C705 0C204000>mov dword ptr ds:[0x40200C],0x0
0040104B  |.  A1 44204000   mov eax,dword ptr ds:[0x402044]
00401050  |.  A3 10204000   mov dword ptr ds:[0x402010],eax
00401055  |.  68 047F0000   push 0x7F04                                         ; /RsrcName = IDI_ASTERISK
0040105A  |.  6A 00         push 0x0                                            ; |hInst = NULL
0040105C  |.  E8 90010000   call <jmp.&USER32.LoadIconA>                        ; \LoadIconA
00401061  |.  A3 14204000   mov dword ptr ds:[0x402014],eax
00401066  |.  68 007F0000   push 0x7F00                                         ; /RsrcName = IDC_ARROW
0040106B  |.  6A 00         push 0x0                                            ; |hInst = NULL
0040106D  |.  E8 85010000   call <jmp.&USER32.LoadCursorA>                      ; \LoadCursorA
00401072  |.  A3 18204000   mov dword ptr ds:[0x402018],eax
00401077  |.  C705 1C204000>mov dword ptr ds:[0x40201C],0x6
00401081  |.  C705 20204000>mov dword ptr ds:[0x402020],0x0
0040108B  |.  C705 24204000>mov dword ptr ds:[0x402024],phox_3.00402063         ;  ASMClass
00401095  |.  68 00204000   push phox_3.00402000                                ; /pWndClass = phox_3.00402000
0040109A  |.  E8 6A010000   call <jmp.&USER32.RegisterClassA>                   ; \RegisterClassA
0040109F  |.  6A 00         push 0x0                                            ; /lParam = NULL
004010A1  |.  FF35 44204000 push dword ptr ds:[0x402044]                        ; |hInst = NULL
004010A7  |.  6A 00         push 0x0                                            ; |hMenu = NULL
004010A9  |.  6A 00         push 0x0                                            ; |hParent = NULL
004010AB  |.  6A 50         push 0x50                                           ; |Height = 50 (80.)
004010AD  |.  68 C8000000   push 0xC8                                           ; |Width = C8 (200.)
004010B2  |.  68 00800000   push 0x8000                                         ; |Y = 8000 (32768.)
004010B7  |.  68 00800000   push 0x8000                                         ; |X = 8000 (32768.)
004010BC  |.  68 00004B10   push 0x104B0000                                     ; |Style = WS_OVERLAPPED|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_VISIBLE|WS_SYSMENU|WS_DLGFRAME
004010C1  |.  68 50204000   push phox_3.00402050                                ; |PhoX's CrackMe 1.0
004010C6  |.  68 63204000   push phox_3.00402063                                ; |ASMClass
004010CB  |.  6A 00         push 0x0                                            ; |ExtStyle = 0
004010CD  |.  E8 07010000   call <jmp.&USER32.CreateWindowExA>                  ; \CreateWindowExA
004010D2  |.  A3 48204000   mov dword ptr ds:[0x402048],eax
004010D7  |.  6A 00         push 0x0                                            ; /lParam = NULL
004010D9  |.  FF35 44204000 push dword ptr ds:[0x402044]                        ; |hInst = NULL
004010DF  |.  6A 20         push 0x20                                           ; |hMenu = 00000020 (window)
004010E1  |.  FF35 48204000 push dword ptr ds:[0x402048]                        ; |hParent = NULL
004010E7  |.  6A 1E         push 0x1E                                           ; |Height = 1E (30.)
004010E9  |.  6A 38         push 0x38                                           ; |Width = 38 (56.)
004010EB  |.  6A 14         push 0x14                                           ; |Y = 14 (20.)
004010ED  |.  6A 3E         push 0x3E                                           ; |X = 3E (62.)
004010EF  |.  68 01008050   push 0x50800001                                     ; |Style = WS_CHILD|WS_VISIBLE|WS_BORDER|1
004010F4  |.  68 6C204000   push phox_3.0040206C                                ; |About
004010F9  |.  68 72204000   push phox_3.00402072                                ; |Button
004010FE  |.  6A 00         push 0x0                                            ; |ExtStyle = 0
00401100  |.  E8 D4000000   call <jmp.&USER32.CreateWindowExA>                  ; \CreateWindowExA
00401105  |.  A3 4C204000   mov dword ptr ds:[0x40204C],eax
0040110A  |>  6A 00         /push 0x0                                           ; /MsgFilterMax = 0x0
0040110C  |.  6A 00         |push 0x0                                           ; |MsgFilterMin = 0x0
0040110E  |.  6A 00         |push 0x0                                           ; |hWnd = NULL
00401110  |.  68 28204000   |push phox_3.00402028                               ; |pMsg = phox_3.00402028
00401115  |.  E8 CB000000   |call <jmp.&USER32.GetMessageA>                     ; \GetMessageA
0040111A  |.  66:3D 0000    |cmp ax,0x0
0040111E  |.  74 16         |je short phox_3.00401136
00401120  |.  68 28204000   |push phox_3.00402028                               ; /pMsg = WM_NULL
00401125  |.  E8 E5000000   |call <jmp.&USER32.TranslateMessage>                ; \TranslateMessage
0040112A  |.  68 28204000   |push phox_3.00402028                               ; /pMsg = WM_NULL
0040112F  |.  E8 AB000000   |call <jmp.&USER32.DispatchMessageA>                ; \DispatchMessageA
00401134  |.^ EB D4         \jmp short phox_3.0040110A
00401136  |>  6A 00         push 0x0                                            ; /ExitCode = 0x0
00401138  |.  E8 96000000   call <jmp.&KERNEL32.ExitProcess>                    ; \ExitProcess
0040113D  |.  C8 000000     enter 0x0,0x0
00401141  |.  53            push ebx
00401142  |.  57            push edi                                            ;  phox_3.<ModuleEntryPoint>
00401143  |.  56            push esi                                            ;  phox_3.<ModuleEntryPoint>
00401144  |.  817D 0C 11010>cmp [arg.2],0x111
0040114B  |.  74 27         je short phox_3.00401174
0040114D  |.  837D 0C 02    cmp [arg.2],0x2
00401151  |.  74 47         je short phox_3.0040119A
00401153  |.  817D 0C 01020>cmp [arg.2],0x201
0040115A  |.  74 51         je short phox_3.004011AD
0040115C  |.  FF75 14       push [arg.4]                                        ; /lParam = 0x0
0040115F  |.  FF75 10       push [arg.3]                                        ; |wParam = 0x0
00401162  |.  FF75 0C       push [arg.2]                                        ; |Message = MSG(0xF2F946E3)
00401165  |.  FF75 08       push [arg.1]                                        ; |hWnd = 002BB000
00401168  |.  E8 A8000000   call <jmp.&USER32.DefWindowProcA>                   ; \DefWindowProcA
0040116D  |.  5E            pop esi                                             ;  kernel32.7724FCC9
0040116E  |.  5F            pop edi                                             ;  kernel32.7724FCC9
0040116F  |.  5B            pop ebx                                             ;  kernel32.7724FCC9
00401170  |.  C9            leave
00401171  |.  C2 1000       retn 0x10
00401174  |>  837D 10 20    cmp [arg.3],0x20
00401178  |.  75 17         jnz short phox_3.00401191
0040117A  |.  6A 20         push 0x20                                           ; /Style = MB_OK|MB_ICONQUESTION|MB_APPLMODAL
0040117C  |.  68 1A214000   push phox_3.0040211A                                ; |About
00401181  |.  68 20214000   push phox_3.00402120                                ; |CrackMe 1.0\r\nMade by Phox\r\nPhoX greets REVOLT, UCF, PC, MEXELITE,\r\nFireWorx, and all the ones that cracks this CrackMe.\r\nAnd special greets to _masta_,iczelion and _hak_ for great win32asm tuts.
00401186  |.  FF35 48204000 push dword ptr ds:[0x402048]                        ; |hOwner = NULL
0040118C  |.  E8 6C000000   call <jmp.&USER32.MessageBoxA>                      ; \MessageBoxA
00401191  |>  33C0          xor eax,eax
00401193  |.  5E            pop esi                                             ;  kernel32.7724FCC9
00401194  |.  5F            pop edi                                             ;  kernel32.7724FCC9
00401195  |.  5B            pop ebx                                             ;  kernel32.7724FCC9
00401196  |.  C9            leave
00401197  |.  C2 1000       retn 0x10
0040119A  |>  6A 00         push 0x0                                            ; /ExitCode = 0x0
0040119C  |.  E8 62000000   call <jmp.&USER32.PostQuitMessage>                  ; \PostQuitMessage
004011A1  |.  B8 00000000   mov eax,0x0
004011A6  |.  5E            pop esi                                             ;  kernel32.7724FCC9
004011A7  |.  5F            pop edi                                             ;  kernel32.7724FCC9
004011A8  |.  5B            pop ebx                                             ;  kernel32.7724FCC9
004011A9  |.  C9            leave
004011AA  |.  C2 1000       retn 0x10
004011AD  |>  6A 30         push 0x30                                           ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
004011AF  |.  68 E3214000   push phox_3.004021E3                                ; |Yeh!!!
004011B4  |.  68 EA214000   push phox_3.004021EA                                ; |U really had to push this window!!\r\nDidnt U?!?!
004011B9  |.  FF35 48204000 push dword ptr ds:[0x402048]                        ; |hOwner = NULL
004011BF  |.  E8 39000000   call <jmp.&USER32.MessageBoxA>                      ; \MessageBoxA
004011C4  |.  33C0          xor eax,eax
004011C6  |.  5E            pop esi                                             ;  kernel32.7724FCC9
004011C7  |.  5F            pop edi                                             ;  kernel32.7724FCC9
004011C8  |.  5B            pop ebx                                             ;  kernel32.7724FCC9
004011C9  |.  C9            leave
004011CA  \.  C2 1000       retn 0x10
004011CD   $- FF25 78304000 jmp dword ptr ds:[<&KERNEL32.GetModuleHandleA>]     ;  kernel32.GetModuleHandleA
004011D3   $- FF25 7C304000 jmp dword ptr ds:[<&KERNEL32.ExitProcess>]          ;  DTFRAME3.580AA800
004011D9   $- FF25 84304000 jmp dword ptr ds:[<&USER32.CreateWindowExA>]        ;  user32.CreateWindowExA
004011DF   $- FF25 88304000 jmp dword ptr ds:[<&USER32.DispatchMessageA>]       ;  user32.DispatchMessageA
004011E5   $- FF25 8C304000 jmp dword ptr ds:[<&USER32.GetMessageA>]            ;  user32.GetMessageA
004011EB   .- FF25 90304000 jmp dword ptr ds:[<&USER32.GetWindowTextA>]         ;  user32.GetWindowTextA
004011F1   $- FF25 94304000 jmp dword ptr ds:[<&USER32.LoadIconA>]              ;  user32.LoadIconA
004011F7   $- FF25 98304000 jmp dword ptr ds:[<&USER32.LoadCursorA>]            ;  user32.LoadCursorA
004011FD   $- FF25 9C304000 jmp dword ptr ds:[<&USER32.MessageBoxA>]            ;  user32.MessageBoxA
00401203   $- FF25 A0304000 jmp dword ptr ds:[<&USER32.PostQuitMessage>]        ;  user32.PostQuitMessage
00401209   $- FF25 A4304000 jmp dword ptr ds:[<&USER32.RegisterClassA>]         ;  user32.RegisterClassA
0040120F   $- FF25 A8304000 jmp dword ptr ds:[<&USER32.TranslateMessage>]       ;  user32.TranslateMessage
00401215   $- FF25 AC304000 jmp dword ptr ds:[<&USER32.DefWindowProcA>]         ;  ntdll.NtdllDefWindowProc_A
0040121B      00            db 00

除了去NAG是不是没有什么需要继续破解的了?

 
 
 
这是160个软件part1
这是160个软件part2

1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-08-02 15:01  hankerstudio  阅读(17)  评论(0)    收藏  举报