160个练手CrackMe-014

来源:互联网 发布:java 网络服务器并发 编辑:程序博客网 时间:2024/06/05 08:10

1、无壳,VB编写

2、VB Decompiler反编译

出来的代码看着真的蓝瘦,配合OD调试。

004036D3   .  FF15 24104000 call dword ptr ds:[<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj004036D9   >  8B45 E4       mov eax,dword ptr ss:[ebp-0x1C]004036DC   .  50            push eax                                 ; /String004036DD   .  FF15 08104000 call dword ptr ds:[<&MSVBVM60.__vbaLenBs>; \__vbaLenBstr    // 获取字符串长度004036E3   .  33C9          xor ecx,ecx004036E5   .  83F8 09       cmp eax,0x9    // len == 9004036E8   .  0F95C1        setne cl004036EB   .  F7D9          neg ecx004036ED   .  8BF1          mov esi,ecx004036EF   .  8D4D E4       lea ecx,dword ptr ss:[ebp-0x1C]004036F2   .  FF15 C0104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStr004036F8   .  8D4D D4       lea ecx,dword ptr ss:[ebp-0x2C]004036FB   .  FF15 C4104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj00403701   .  66:3BF3       cmp si,bx00403704   .  0F85 1A030000 jnz bjanes_1.00403A24    // 跳向"Wrong serial!"

如果长度不为9,则跳向失败;

004039B4   .  51            push ecx                                 ; /var18004039B5   .  52            push edx                                 ; |var28    // [edx+8]指向正确的字符004039B6   .  FF15 A0104000 call dword ptr ds:[<&MSVBVM60.__vbaVarTs>; \__vbaVarTstNe
00403A01   .  66:85FF       test di,di00403A04      75 1C         jnz Xbjanes_1.00403A22    //如果不相等,则跳向失败00403A06   .  8B7D 08       mov edi,dword ptr ss:[ebp+0x8]00403A09   .  B8 01000000   mov eax,0x1    // 相等则循环加一,比较下一个字符00403A0E   .  66:0345 E8    add ax,word ptr ss:[ebp-0x18]00403A12   .  0F80 94010000 jo bjanes_1.00403BAC00403A18   .  8945 E8       mov dword ptr ss:[ebp-0x18],eax00403A1B   .  33DB          xor ebx,ebx    // 失败00403A1D   .^ E9 5AFDFFFF   jmp bjanes_1.0040377C    //循环尾00403A22   >  33DB          xor ebx,ebx00403A24   >  8B35 A4104000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaVa>;  MSVBVM60.__vbaVarDup

3、注册

将 00403A04 处的 jnz 修改为 jz ,不让他跳向失败。在 004039B6 下断,随意输入9个字符,Check it! 在004039B6断下,数据窗口输入dd [edx+8],断下一次记录一次。
总共比较9次,正确的Serial:301674501

这里写图片描述

原创粉丝点击