【下载页面】http://www.skycn.com/soft/12130.html 【作者声明】:本人发表这篇文章只是为了学习和研究!!!请不用于商业用途或是将本文方法制作的注册机任意传播,读者看了文章后所做的事情与我无关,我也不会负责,请读者看了文章后三思而后行!最后希望大家在经济基础好的时候,支持共享软件!
【破解工具】:Ollydbg w32Dasm peid UPXUnpack ————————————————————————————————— 【过 程】: 用peid查出是UPX加的壳,用UPXUnpack轻松脱之. 用w32Dasm反之,根据参考字串很快找关键004D5A5B! 因为脱壳后的主程序不能运行,所以用Ollydbg加载跟踪! 加载后按F9运行,选择注册-->输入用户名Yock和注册码987654321-->下断点004D5A5B-->按注册认证拦下:
:004D5A47 68245C4D00 push 004D5C24 :004D5A4C 64FF30 push dword ptr fs:[eax] :004D5A4F 648920 mov dword ptr fs:[eax], esp :004D5A52 8D55FC lea edx, dword ptr [ebp-04] :004D5A55 8B8320030000 mov eax, dword ptr [ebx+00000320] :004D5A5B E8E44BF9FF call 0046A644 //取我输入的注册码!
:004D5A60 8B45FC mov eax, dword ptr [ebp-04] //我输入的注册码"987654321"
:004D5A63 50 push eax :004D5A64 8D55F4 lea edx, dword ptr [ebp-0C] :004D5A67 8B831C030000 mov eax, dword ptr [ebx+0000031C] :004D5A6D E8D24BF9FF call 0046A644 //取机器码!
:004D5A72 8B45F4 mov eax, dword ptr [ebp-0C] //这里是机器码!
:004D5A75 50 push eax :004D5A76 8D55F0 lea edx, dword ptr [ebp-10] :004D5A79 8B8318030000 mov eax, dword ptr [ebx+00000318] :004D5A7F E8C04BF9FF call 0046A644 //取用户名
:004D5A84 8B45F0 mov eax, dword ptr [ebp-10] //这里是用户名Yock
:004D5A87 8D4DF8 lea ecx, dword ptr [ebp-08] :004D5A8A 5A pop edx //这里是机器码!
:004D5A8B E84CF7FFFF call 004D51DC //关键,注册码是怎样练成的! //我追...
:004D5A90 8B55F8 mov edx, dword ptr [ebp-08] //这里就是真的注册码了!
:004D5A93 58 pop eax //这里是我输入的注册码!
:004D5A94 E8ABF2F2FF call 00404D44 //这个CALL是比较的!
:004D5A99 0F8515010000 jne 004D5BB4 //注册码正确的话就不跳! //反之就死掉了...
:004D5A9F B201 mov dl, 01
* Possible StringData Ref from Data Obj ->"" | :004D5AA1 A11CC34300 mov eax, dword ptr [0043C31C] :004D5AA6 E87169F6FF call 0043C41C :004D5AAB 8BF0 mov esi, eax :004D5AAD BA02000080 mov edx, 80000002 :004D5AB2 8BC6 mov eax, esi :004D5AB4 E8036AF6FF call 0043C4BC :004D5AB9 B101 mov cl, 01
* Possible StringData Ref from Data Obj ->"SOFTWARE\Super Computer Companion"
----------------------------------------------------------------- 上面004D5A8B的CALL来到这里(这一段我是用Ollydbg复制的),好长啊... 这里就是把用户名和机器码计算正确注册码的过程了! 可惜自己的基本功差劲,所以等你来帮偶分析!嘻嘻...
004D51DC 55 PUSH EBP 004D51DD 8BEC MOV EBP, ESP 004D51DF 51 PUSH ECX 004D51E0 B9 0B000000 MOV ECX, 0B 004D51E5 6A 00 PUSH 0 004D51E7 6A 00 PUSH 0 004D51E9 49 DEC ECX 004D51EA ^ 75 F9 JNZ SHORT SUPERCC.004D51E5 ................................. ..........................
004D5361 8B55 B0 MOV EDX, DWORD PTR SS:[EBP-50] 004D5364 8BC3 MOV EAX, EBX 004D5366 E8 95F8F2FF CALL SUPERCC.00404C00 004D536B FF75 F4 PUSH DWORD PTR SS:[EBP-C] 004D536E FF75 F0 PUSH DWORD PTR SS:[EBP-10] 004D5371 8D45 AC LEA EAX, DWORD PTR SS:[EBP-54] 004D5374 E8 1341F3FF CALL SUPERCC.0040948C 004D5379 8B45 AC MOV EAX, DWORD PTR SS:[EBP-54] 004D537C E8 77F8F2FF CALL SUPERCC.00404BF8 004D5381 8BF0 MOV ESI, EAX 004D5383 8B45 CC MOV EAX, DWORD PTR SS:[EBP-34] ; SUPERCC.004D5C24 //当前取了4位后的机器码!
004D5386 E8 6DF8F2FF CALL SUPERCC.00404BF8 //当前取了4位后机器码的位数!
004D538B 3BF0 CMP ESI, EAX //ESI=5;当前取了4位后的机器码的位数比较!
004D538D ^ 0F8E CCFEFFFF JLE SUPERCC.004D525F //小于或等于就跳回去继续...
004D5393 8B45 CC MOV EAX, DWORD PTR SS:[EBP-34] ; SUPERCC.004D5C24 004D5396 E8 5DF8F2FF CALL SUPERCC.00404BF8 004D539B 85C0 TEST EAX, EAX 004D539D 74 49 JE SHORT SUPERCC.004D53E8 004D539F 8B45 CC MOV EAX, DWORD PTR SS:[EBP-34] ; SUPERCC.004D5C24 004D53A2 E8 3541F3FF CALL SUPERCC.004094DC 004D53A7 99 CDQ 004D53A8 8945 D8 MOV DWORD PTR SS:[EBP-28], EAX 004D53AB 8955 DC MOV DWORD PTR SS:[EBP-24], EDX 004D53AE FF75 F4 PUSH DWORD PTR SS:[EBP-C] .................... .............
004D545C 8D45 F8 LEA EAX, DWORD PTR SS:[EBP-8] 004D545F BA 02000000 MOV EDX, 2 004D5464 E8 F3F4F2FF CALL SUPERCC.0040495C 004D5469 C3 RETN 004D546A ^ E9 49EEF2FF JMP SUPERCC.004042B8 004D546F ^ EB DE JMP SHORT SUPERCC.004D544F 004D5471 5E POP ESI ; SUPERCC.004D5A90 004D5472 5B POP EBX ; SUPERCC.004D5A90 004D5473 8BE5 MOV ESP, EBP 004D5475 5D POP EBP ; SUPERCC.004D5A90 004D5476 C3 RETN //来到这里,整个计算过程划上了完美的句号!
--------------------------------------------------------------------
后来用注册后的"超级电脑伴侣V1.20"上网,才发现了这个暗桩!
:00507198 55 push ebp :00507199 8BEC mov ebp, esp :0050719B 6A00 push 00000000 :0050719D 53 push ebx :0050719E 8BD8 mov ebx, eax :005071A0 33C0 xor eax, eax :005071A2 55 push ebp :005071A3 684B725000 push 0050724B :005071A8 64FF30 push dword ptr fs:[eax] :005071AB 648920 mov dword ptr fs:[eax], esp :005071AE 33D2 xor edx, edx :005071B0 8B838C030000 mov eax, dword ptr [ebx+0000038C] :005071B6 E845F3F2FF call 00436500 :005071BB 833D48DA500000 cmp dword ptr [0050DA48], 00000000 //是否官方正式的注册码比较标志!
:005071C2 7571 jne 00507235 //把这里的7571改成EB71就可以跳过去了!
:005071C4 33C0 xor eax, eax :005071C6 8983C8060000 mov dword ptr [ebx+000006C8], eax :005071CC B201 mov dl, 01 :005071CE 8B8380030000 mov eax, dword ptr [ebx+00000380] :005071D4 E83F56F7FF call 0047C818 :005071D9 6A00 push 00000000
* Possible StringData Ref from Data Obj ->"否" | :005071DB 6860725000 push 00507260 :005071E0 6A03 push 00000003 :005071E2 6A00 push 00000000 :005071E4 6A00 push 00000000 :005071E6 8D55FC lea edx, dword ptr [ebp-04] :005071E9 A1A8AE5000 mov eax, dword ptr [0050AEA8] :005071EE 8B00 mov eax, dword ptr [eax] :005071F0 E87F2FF8FF call 0048A174 :005071F5 8D45FC lea eax, dword ptr [ebp-04]
* Possible StringData Ref from Data Obj ->"-正式注册" | :005071F8 BA6C725000 mov edx, 0050726C :005071FD E8FED9EFFF call 00404C00 :00507202 8B55FC mov edx, dword ptr [ebp-04]
* Possible StringData Ref from Data Obj ->"立即注册" | :00507205 B980725000 mov ecx, 00507280
* Possible StringData Ref from Data Obj ->" 您所使用的注册码为非官方正式注册码。如果" ->"您认为超级电脑伴侣确实好用,请您注册成为正式" ->"用户。现在想要进行注册吗?" :0050720A B894725000 mov eax, 00507294 :0050720F E8043BFCFF call 004CAD18 :00507214 85C0 test eax, eax :00507216 741D je 00507235 :00507218 6A01 push 00000001 :0050721A 6A00 push 00000000 :0050721C 6A00 push 00000000
* Possible StringData Ref from Data Obj ->"http://supercc.softreg.com.cn/product.asp?id=/"; ->"62E0FE84-DD73-4BBF-869E-3360FE15F381/" ------------------------------------------------------------------ 【总 结】: 内存主厕鸡: 中断地址:004D5A93 中断次数:1 字节长度:1 第一字节:58 注册码-->内存方式-->寄存器-->edx
注册信息保存在注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Super Computer Companion\Register: "Yock" HKEY_LOCAL_MACHINE\SOFTWARE\Super Computer Companion\RegCode: "SCC-1021484654312051291159771173253605343025" ------------------------------------------------------------------ 可惜自己的基本功差劲,所以算法等你来帮偶分析!嘻嘻... 最后再说一句,就是这个程序脱壳后不能运行,所以我知道改哪里跳过网络验证的暗桩,但自己没有本事改! 如果你愿意帮我的话,教教我怎么完美脱掉他的壳,谢谢... 最后在这里真心感谢你花了那么多时间看这篇文章!谢谢了... |
|
查看所有0条评论>>