- UID
- 14190
注册时间2006-5-26
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
标题:好学友幼教管理系统V2.2的算法分析
作者:crack1946
下载:天空搜索
过程: UPX的壳,先脱壳之,这个壳与一般的UPX壳有点不一样呢,过程略
008B1524 E8 4F8EBAFF call 0045A378 ; 取我们输入的注册码
008B1529 8B45 FC mov eax, dword ptr [ebp-4] ; 注册码--》EAX
008B152C 50 push eax ; 注册码入栈
008B152D 8D55 F8 lea edx, dword ptr [ebp-8]
008B1530 8B83 F8020000 mov eax, dword ptr [ebx+2F8]
008B1536 E8 3D8EBAFF call 0045A378 ; 取机器码
008B153B 8B45 F8 mov eax, dword ptr [ebp-8] ; 机器码到EAX
008B153E 5A pop edx ; 注册码被弹到EDX
008B153F E8 90F7FFFF call 008B0CD4 ; 跟进
008B1544 84C0 test al, al
008B1546 74 42 je short 008B158A ;关键跳哦
跟进call
008B0CD4 55 push ebp
008B0CD5 8BEC mov ebp, esp
008B0CD7 83C4 F4 add esp, -0C
008B0CDA 53 push ebx
008B0CDB 33C9 xor ecx, ecx
008B0CDD 894D F4 mov dword ptr [ebp-C], ecx
008B0CE0 8955 F8 mov dword ptr [ebp-8], edx ; 注册码到[EBP-8]
008B0CE3 8945 FC mov dword ptr [ebp-4], eax ; 机器码到[EBP-4]
008B0CE6 8B45 FC mov eax, dword ptr [ebp-4]
008B0CE9 E8 4E40B5FF call 00404D3C
008B0CEE 8B45 F8 mov eax, dword ptr [ebp-8]
008B0CF1 E8 4640B5FF call 00404D3C
008B0CF6 33C0 xor eax, eax
008B0CF8 55 push ebp
008B0CF9 68 380D8B00 push 008B0D38
008B0CFE 64:FF30 push dword ptr fs:[eax]
008B0D01 64:8920 mov dword ptr fs:[eax], esp
008B0D04 8D55 F4 lea edx, dword ptr [ebp-C]
008B0D07 8B45 FC mov eax, dword ptr [ebp-4]
008B0D0A E8 9DFEFFFF call 008B0BAC ; 跟进
来到call 008B0BAC :
。。。。。。。。。。。。。。。。。。。。。。。。
008B0BC7 55 push ebp
008B0BC8 68 1A0C8B00 push 008B0C1A
008B0BCD 64:FF30 push dword ptr fs:[eax]
008B0BD0 64:8920 mov dword ptr fs:[eax], esp
008B0BD3 8D45 F8 lea eax, dword ptr [ebp-8]
008B0BD6 B9 300C8B00 mov ecx, 008B0C30 ; ASCII "9220"
008B0BDB 8B55 FC mov edx, dword ptr [ebp-4]
008B0BDE E8 BD3FB5FF call 00404BA0
008B0BE3 8B45 F8 mov eax, dword ptr [ebp-8] ; 将机器码与9220连接
008B0BE6 8BD3 mov edx, ebx
008B0BE8 E8 57C4FDFF call 0088D044 ; 跟进发现是标准的MD5计算,知道是MD5就足够了!
008B0BED 53 push ebx
008B0BEE 8B03 mov eax, dword ptr [ebx] ;结果到EAX
008B0BF0 B9 14000000 mov ecx, 14
008B0BF5 BA 01000000 mov edx, 1
008B0BFA E8 AD41B5FF call 00404DAC ;取MD5结果的前20位就是我们的注册码
注册算法就是: MD5(机器码+9220),然后取结果的前20位
我的机器码:S01JJ30W715607
我的注册码:4B492B2A4812BA243736 |
|