- UID
- 8764
注册时间2006-3-1
阅读权限10
最后登录1970-1-1
周游历练
TA的每日心情 | 开心 2018-1-9 11:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
U盘防拷专家 破解学习,感谢无限深渊指点
软件下地网址:http://www.jianrui.cn/product.htm
首先用PE还是查壳,无壳,是delphi程序,用OD载入
004CAE9A . 6A 06 push 6 ;入口
004CAE9C . 8D85 F8FDFFFF lea eax, dword ptr [ebp-208]
004CAEA2 . B9 84B04C00 mov ecx, 004CB084 ; \usbsn.dll
004CAEA7 . 8B55 FC mov edx, dword ptr [ebp-4]
004CAEAA . E8 AD9BF3FF call 00404A5C
004CAEAF . 8B85 F8FDFFFF mov eax, dword ptr [ebp-208]
004CAEB5 . E8 4E9DF3FF call 00404C08
004CAEBA . 50 push eax ; |FileName
004CAEBB . E8 88C0F3FF call ; \SetFileAttributesA
004CAEC0 . 8D95 F4FDFFFF lea edx, dword ptr [ebp-20C]
004CAEC6 . 8B45 F8 mov eax, dword ptr [ebp-8]
004CAEC9 . E8 BEDDF3FF call 00408C8C
004CAECE . 8B85 F4FDFFFF mov eax, dword ptr [ebp-20C]
004CAED4 . 50 push eax
004CAED5 . 8D95 ECFDFFFF lea edx, dword ptr [ebp-214]
004CAEDB . A1 90504D00 mov eax, dword ptr [4D5090]
004CAEE0 . 8B00 mov eax, dword ptr [eax]
004CAEE2 . E8 6D480000 call 004CF754 //算法,f7
004CAEE7 . 8B85 ECFDFFFF mov eax, dword ptr [ebp-214]
004CAEED . 8D95 F0FDFFFF lea edx, dword ptr [ebp-210]
004CAEF3 . E8 94DDF3FF call 00408C8C
004CAEF8 . 8B95 F0FDFFFF mov edx, dword ptr [ebp-210] //真码
004CAEFE . 58 pop eax //假码
004CAEFF . E8 509CF3FF call 00404B54
004CAF04 . 75 1A jnz short 004CAF20 //跳走就失败了
004CAF06 . 6A 40 push 40
004CAF08 . B9 CCB04C00 mov ecx, 004CB0CC ; 提示
004CAF0D . BA D4B04C00 mov edx, 004CB0D4 ; 注册成功,您已购买并注册《u盘防拷专家》软件,谢谢支持!
004CAF12 . A1 684F4D00 mov eax, dword ptr [4D4F68]
004CAF17 . 8B00 mov eax, dword ptr [eax]
004CAF19 . E8 0EE2F7FF call 0044912C
004CAF1E . EB 18 jmp short 004CAF38
004CAF20 > 6A 40 push 40
004CAF22 . B9 CCB04C00 mov ecx, 004CB0CC ; 提示
004CAF27 . BA 0CB14C00 mov edx, 004CB10C ; 注册码已经登记,请重新启动你的电脑看是否注册成功!
算法过程
004CF78F . 8B55 F4 mov edx, dword ptr [ebp-C] //机器码
004CF792 . 66:B9 D300 mov cx, 0D3 //固定值
004CF796 . 8BC3 mov eax, ebx
004CF798 . E8 BBFEFFFF call 004CF658
004CF69A . E8 7153F3FF call 00404A10 //机器码长度
004CF69F . 8BD8 mov ebx, eax
004CF6A1 . 85DB test ebx, ebx
004CF6A3 . 7E 36 jle short 004CF6DB
004CF6A5 . BE 01000000 mov esi, 1
004CF6AA > 8D45 F0 lea eax, dword ptr [ebp-10]
004CF6AD . 8A5437 FF mov dl, byte ptr [edi+esi-1] //依次取机器码ASC值
004CF6B1 . E8 8252F3FF call 00404938
004CF6B6 . 8B45 F0 mov eax, dword ptr [ebp-10]
004CF6B9 . E8 4E98F3FF call 00408F0C
004CF6BE . 0FB755 FE movzx edx, word ptr [ebp-2]
004CF6C2 . 33C2 xor eax, edx //分别与固定值D3异或
004CF6C4 . 8D55 F4 lea edx, dword ptr [ebp-C]
004CF6C7 . E8 DC97F3FF call 00408EA8
004CF6CC . 8B55 F4 mov edx, dword ptr [ebp-C]
004CF6CF . 8D45 F8 lea eax, dword ptr [ebp-8]
004CF6D2 . E8 4153F3FF call 00404A18
004CF6D7 . 46 inc esi
004CF6D8 . 4B dec ebx
004CF6D9 .^ 75 CF jnz short 004CF6AA
将每个与D3异或的结果链接,得到一个字符串
004CF6DF . 8BC7 mov eax, edi
004CF6E1 . E8 2A53F3FF call 00404A10 //取机器码长度
004CF6E6 . 8BC8 mov ecx, eax
004CF6E8 . 33D2 xor edx, edx
004CF6EA . 8B45 F8 mov eax, dword ptr [ebp-8] //上面链接后的字符串
004CF6ED . E8 7655F3FF call 00404C68 //f7进去
004CF6F2 . 33C0 xor eax, eax
004CF6F4 . 5A pop edx
004CF6F5 . 59 pop ecx
004CF6F6 . 59 pop ecx
004CF6F7 . 64:8910 mov dword ptr fs:[eax], edx
004CF6FA . EB 17 jmp short 004CF713
如果到了这里,就较简单了,也就是取这个字符串的前(机器码长度)位,就是软件注册码 |
|