超级电脑伴侣1.20
【下载页面】 http://www.skycn.com/soft/12130.html" 【作者声明】:本人发表这篇文章只是为了学习和研究!!!请不用于商业用途或是将本文方法制作的注册机任意传播,读者看了文章后所做的事情与我无关,我也不会负责,请读者看了文章后三思而后行!最后希望大家
【
下载页面】
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 A11
CC34300 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"
------------------------------------------------------------------
可惜自己的基本功差劲,所以算法等你来帮偶分析!嘻嘻...
最后再说一句,就是这个程序脱壳后不能运行,所以我知道改哪里跳过
网络验证的暗桩,但自己没有本事改!
如果你愿意帮我的话,教教我怎么完美脱掉他的壳,谢谢...
最后在这里真心感谢你花了那么多时间看这篇文章!谢谢了...
原文转自:http://www.ltesting.net
|