【破文日期】 2006年6月9日 (今天是高考的第三天,愿所有考生都能进入理想的学府)
【破文作者】 冷血书生
【作者主页】 http://blog.csdn.net/xueleng/
【 E-mail 】 colddoctor@126.com
【文章题目】 Syncronize Backup V1.35 算法分析
【软件名称】 Syncronize Backup 1.35
【下载地址】 http://www.skycn.com/soft/27192.html
-------------------------------------------------------------------------------------------
---
【加密方式】 序列号
【破解工具】 OD
【破解难度】 +++初级+++ 中级 高级 超难
【破解平台】 Win9x/NT/2000/XP/XP SP2
-------------------------------------------------------------------------------------------
---
【软件简介】
Syncronize Backup (专业版)可以有效的保护您的数据。有两种模式:备份和同步。简洁易用。30天试用
。技术特性:界面友好;完全自订制任务;详细的任务报告;快速数据拷贝,省时省力。
-------------------------------------------------------------------------------------------
---
【破解过程】
Microsoft Visual Basic 5.0 / 6.0 编写,下断点bp __vbaStrComp ,然后返回到程序领空,来到下面
代码处:
005E6126 /0F85 95000000 jnz Syncroni.005E61C1 ; 不相等就跳到下面弹出提示
005E612C |8D8D 64FFFFFF lea ecx,dword ptr ss:[ebp-9C]
005E6132 |C785 64FFFFFF A60>mov dword ptr ss:[ebp-9C],0A6
005E613C |51 push ecx
005E613D |E8 3EBFFBFF call Syncroni.005A2080
005E6142 |8B3D 28144000 mov edi,dword ptr ds:[<&MSVBVM60.__vbaStrMove>] ; MSVBVM60.__vbaStrMove
005E6148 |8BD0 mov edx,eax
005E614A |8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E614D |FFD7 call edi
005E614F |B8 04000280 mov eax,80020004
005E6154 |8D55 98 lea edx,dword ptr ss:[ebp-68]
005E6157 |8945 A0 mov dword ptr ss:[ebp-60],eax
005E615A |8945 B0 mov dword ptr ss:[ebp-50],eax
005E615D |8945 C0 mov dword ptr ss:[ebp-40],eax
005E6160 |8B45 E4 mov eax,dword ptr ss:[ebp-1C]
005E6163 |8945 D0 mov dword ptr ss:[ebp-30],eax
005E6166 |8D45 A8 lea eax,dword ptr ss:[ebp-58]
005E6169 |52 push edx
005E616A |8D4D B8 lea ecx,dword ptr ss:[ebp-48]
005E616D |50 push eax
005E616E |51 push ecx
005E616F |8D55 C8 lea edx,dword ptr ss:[ebp-38]
005E6172 |BB 0A000000 mov ebx,0A
005E6177 |6A 10 push 10
005E6179 |52 push edx
005E617A |895D 98 mov dword ptr ss:[ebp-68],ebx
005E617D |895D A8 mov dword ptr ss:[ebp-58],ebx
005E6180 |895D B8 mov dword ptr ss:[ebp-48],ebx
005E6183 |8975 E4 mov dword ptr ss:[ebp-1C],esi
005E6186 |C745 C8 08000000 mov dword ptr ss:[ebp-38],8
005E618D |FF15 2C114000 call dword ptr ds:[<&MSVBVM60.#595>] ; MSVBVM60.rtcMsgBox
005E6193 |8B35 8C144000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E6199 |8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E619C |FFD6 call esi
005E619E |8D45 98 lea eax,dword ptr ss:[ebp-68]
005E61A1 |8D4D A8 lea ecx,dword ptr ss:[ebp-58]
005E61A4 |50 push eax
005E61A5 |8D55 B8 lea edx,dword ptr ss:[ebp-48]
005E61A8 |51 push ecx
005E61A9 |8D45 C8 lea eax,dword ptr ss:[ebp-38]
005E61AC |52 push edx
005E61AD |50 push eax
005E61AE |6A 04 push 4
005E61B0 |FF15 58104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005E61B6 |83C4 14 add esp,14
005E61B9 |FF15 50104000 call dword ptr ds:[<&MSVBVM60.__vbaEnd>] ; MSVBVM60.__vbaEnd
005E61BF |EB 11 jmp short Syncroni.005E61D2
005E61C1 \8B3D 28144000 mov edi,dword ptr ds:[<&MSVBVM60.__vbaStrMove>] ; MSVBVM60.__vbaStrMove
005E61C7 8B35 8C144000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E61CD BB 0A000000 mov ebx,0A
005E61D2 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
005E61D5 66:0FB649 34 movzx cx,byte ptr ds:[ecx+34]
005E61DA 66:83C1 01 add cx,1
005E61DE 0F80 D2030000 jo Syncroni.005E65B6
005E61E4 FF15 64124000 call dword ptr ds:[<&MSVBVM60.__vbaUI1I2>] ; MSVBVM60.__vbaUI1I2
005E61EA 8B4D 08 mov ecx,dword ptr ss:[ebp+8]
005E61ED 51 push ecx
005E61EE 8B11 mov edx,dword ptr ds:[ecx]
005E61F0 8841 34 mov byte ptr ds:[ecx+34],al
005E61F3 FF92 04030000 call dword ptr ds:[edx+304]
005E61F9 50 push eax
005E61FA 8D45 DC lea eax,dword ptr ss:[ebp-24]
005E61FD 50 push eax
005E61FE FF15 28114000 call dword ptr ds:[<&MSVBVM60.__vbaObjSet>] ; MSVBVM60.__vbaObjSet
005E6204 8B08 mov ecx,dword ptr ds:[eax]
005E6206 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
005E6209 52 push edx
005E620A 50 push eax
005E620B 8985 5CFFFFFF mov dword ptr ss:[ebp-A4],eax
005E6211 FF91 A0000000 call dword ptr ds:[ecx+A0]
005E6217 85C0 test eax,eax
005E6219 DBE2 fclex
005E621B 7D 18 jge short Syncroni.005E6235
005E621D 8B8D 5CFFFFFF mov ecx,dword ptr ss:[ebp-A4]
005E6223 68 A0000000 push 0A0
005E6228 68 68EB4100 push Syncroni.0041EB68
005E622D 51 push ecx
005E622E 50 push eax
005E622F FF15 D4104000 call dword ptr ds:[<&MSVBVM60.__vbaHresultCheckOb>; MSVBVM60.__vbaHresultCheckObj
005E6235 8B55 E4 mov edx,dword ptr ss:[ebp-1C] ; 机器码转移
005E6238 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
005E623B C745 E4 00000000 mov dword ptr ss:[ebp-1C],0
005E6242 FFD7 call edi
005E6244 8D55 E0 lea edx,dword ptr ss:[ebp-20]
005E6247 52 push edx
005E6248 E8 C3190000 call Syncroni.005E7C10 ; 算法CALL,跟进
005E624D 8BD0 mov edx,eax ; 真码
005E624F 8D4D E8 lea ecx,dword ptr ss:[ebp-18]
005E6252 FFD7 call edi
005E6254 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
005E6257 FFD6 call esi
005E6259 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005E625C FF15 88144000 call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>] ; MSVBVM60.__vbaFreeObj
005E6262 8B45 08 mov eax,dword ptr ss:[ebp+8]
005E6265 50 push eax
005E6266 8B08 mov ecx,dword ptr ds:[eax]
005E6268 FF91 08030000 call dword ptr ds:[ecx+308]
005E626E 8D55 DC lea edx,dword ptr ss:[ebp-24]
005E6271 50 push eax
005E6272 52 push edx
005E6273 FF15 28114000 call dword ptr ds:[<&MSVBVM60.__vbaObjSet>] ; MSVBVM60.__vbaObjSet
005E6279 8B08 mov ecx,dword ptr ds:[eax]
005E627B 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
005E627E 52 push edx
005E627F 50 push eax
005E6280 8985 5CFFFFFF mov dword ptr ss:[ebp-A4],eax
005E6286 FF91 A0000000 call dword ptr ds:[ecx+A0]
005E628C 85C0 test eax,eax
005E628E DBE2 fclex
005E6290 7D 18 jge short Syncroni.005E62AA
005E6292 8B8D 5CFFFFFF mov ecx,dword ptr ss:[ebp-A4]
005E6298 68 A0000000 push 0A0
005E629D 68 68EB4100 push Syncroni.0041EB68
005E62A2 51 push ecx
005E62A3 50 push eax
005E62A4 FF15 D4104000 call dword ptr ds:[<&MSVBVM60.__vbaHresultCheckOb>; MSVBVM60.__vbaHresultCheckObj
005E62AA 8B55 E8 mov edx,dword ptr ss:[ebp-18]
005E62AD 8B45 E4 mov eax,dword ptr ss:[ebp-1C]
005E62B0 52 push edx
005E62B1 50 push eax
005E62B2 FF15 E0114000 call dword ptr ds:[<&MSVBVM60.__vbaStrCmp>] ; MSVBVM60.__vbaStrCmp
005E62B8 F7D8 neg eax ; 真假比较
005E62BA 1BC0 sbb eax,eax
005E62BC 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E62BF F7D8 neg eax
005E62C1 F7D8 neg eax
005E62C3 66:8985 54FFFFFF mov word ptr ss:[ebp-AC],ax
005E62CA FFD6 call esi
005E62CC 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005E62CF FF15 88144000 call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>] ; MSVBVM60.__vbaFreeObj
005E62D5 66:83BD 54FFFFFF >cmp word ptr ss:[ebp-AC],0 ; 与0比较
005E62DD 0F84 85000000 je Syncroni.005E6368 ; 相等就跳到下面注册成功
005E62E3 8D8D 64FFFFFF lea ecx,dword ptr ss:[ebp-9C]
005E62E9 C785 64FFFFFF A70>mov dword ptr ss:[ebp-9C],0A7
005E62F3 51 push ecx
005E62F4 E8 87BDFBFF call Syncroni.005A2080
005E62F9 8BD0 mov edx,eax
005E62FB 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E62FE FFD7 call edi
005E6300 B8 04000280 mov eax,80020004
005E6305 8D55 98 lea edx,dword ptr ss:[ebp-68]
005E6308 8945 A0 mov dword ptr ss:[ebp-60],eax
005E630B 8945 B0 mov dword ptr ss:[ebp-50],eax
005E630E 8945 C0 mov dword ptr ss:[ebp-40],eax
005E6311 8B45 E4 mov eax,dword ptr ss:[ebp-1C]
005E6314 8945 D0 mov dword ptr ss:[ebp-30],eax
005E6317 8D45 A8 lea eax,dword ptr ss:[ebp-58]
005E631A 52 push edx
005E631B 8D4D B8 lea ecx,dword ptr ss:[ebp-48]
005E631E 50 push eax
005E631F 51 push ecx
005E6320 8D55 C8 lea edx,dword ptr ss:[ebp-38]
005E6323 6A 40 push 40
005E6325 52 push edx
005E6326 895D 98 mov dword ptr ss:[ebp-68],ebx
005E6329 895D A8 mov dword ptr ss:[ebp-58],ebx
005E632C 895D B8 mov dword ptr ss:[ebp-48],ebx
005E632F C745 E4 00000000 mov dword ptr ss:[ebp-1C],0
005E6336 C745 C8 08000000 mov dword ptr ss:[ebp-38],8
005E633D FF15 2C114000 call dword ptr ds:[<&MSVBVM60.#595>] ; MSVBVM60.rtcMsgBox
005E6343 8D4D E4 lea ecx,dword ptr ss:[ebp-1C] ; 注册失败
005E6346 FFD6 call esi
005E6348 8D45 98 lea eax,dword ptr ss:[ebp-68]
005E634B 8D4D A8 lea ecx,dword ptr ss:[ebp-58]
005E634E 50 push eax
005E634F 8D55 B8 lea edx,dword ptr ss:[ebp-48]
005E6352 51 push ecx
005E6353 8D45 C8 lea eax,dword ptr ss:[ebp-38]
005E6356 52 push edx
005E6357 50 push eax
005E6358 6A 04 push 4
005E635A FF15 58104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005E6360 83C4 14 add esp,14
005E6363 E9 E2010000 jmp Syncroni.005E654A
005E6368 BA 98E74100 mov edx,Syncroni.0041E798 ; UNICODE
"System\CurrentControlSet\Control\Class\{4C38E96B-E422-14CE-BFC4-08002BM10358}"
005E636D 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E6370 FF15 74134000 call dword ptr ds:[<&MSVBVM60.__vbaStrCopy>] ; MSVBVM60.__vbaStrCopy
005E6376 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E6379 8D95 60FFFFFF lea edx,dword ptr ss:[ebp-A0]
005E637F 51 push ecx
005E6380 52 push edx
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////// 跟进 call Syncroni.005E7C10 //////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
005E7C6A FF15 74134000 call dword ptr ds:[<&MSVBVM60.__vbaStrCopy>] ; MSVBVM60.__vbaStrCopy
005E7C70 8B7D 08 mov edi,dword ptr ss:[ebp+8]
005E7C73 8B1D 44104000 mov ebx,dword ptr ds:[<&MSVBVM60.__vbaLenBstr>] ; MSVBVM60.__vbaLenBstr
005E7C79 8B07 mov eax,dword ptr ds:[edi] ; 机器码转移
005E7C7B 50 push eax
005E7C7C FFD3 call ebx
005E7C7E 8BC8 mov ecx,eax ; EAX=B
005E7C80 FF15 FC114000 call dword ptr ds:[<&MSVBVM60.__vbaI2I4>] ; MSVBVM60.__vbaI2I4
005E7C86 8985 6CFFFFFF mov dword ptr ss:[ebp-94],eax
005E7C8C BE 01000000 mov esi,1 ; ESI=1
005E7C91 66:3BB5 6CFFFFFF cmp si,word ptr ss:[ebp-94] ; 计算开始
005E7C98 0F8F 64010000 jg Syncroni.005E7E02
005E7C9E 0FBFD6 movsx edx,si
005E7CA1 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005E7CA4 8D45 84 lea eax,dword ptr ss:[ebp-7C]
005E7CA7 51 push ecx
005E7CA8 52 push edx
005E7CA9 8D4D B4 lea ecx,dword ptr ss:[ebp-4C]
005E7CAC 50 push eax
005E7CAD 51 push ecx
005E7CAE C745 CC 01000000 mov dword ptr ss:[ebp-34],1
005E7CB5 C745 C4 02000000 mov dword ptr ss:[ebp-3C],2
005E7CBC 897D 8C mov dword ptr ss:[ebp-74],edi
005E7CBF C745 84 08400000 mov dword ptr ss:[ebp-7C],4008
005E7CC6 FF15 A8114000 call dword ptr ds:[<&MSVBVM60.#632>] ; MSVBVM60.rtcMidCharVar
005E7CCC 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
005E7CCF 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
005E7CD2 52 push edx
005E7CD3 50 push eax
005E7CD4 FF15 04134000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
005E7CDA 50 push eax
005E7CDB FF15 7C104000 call dword ptr ds:[<&MSVBVM60.#516>] ; MSVBVM60.rtcAnsiValueBstr
005E7CE1 66:05 0200 add ax,2 ; AX+ 2
005E7CE5 0F80 39020000 jo Syncroni.005E7F24
005E7CEB 0FBFC8 movsx ecx,ax ; 结果转移
005E7CEE 894D E0 mov dword ptr ss:[ebp-20],ecx
005E7CF1 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005E7CF4 FF15 8C144000 call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E7CFA 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
005E7CFD 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005E7D00 52 push edx
005E7D01 50 push eax
005E7D02 6A 02 push 2
005E7D04 FF15 58104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005E7D0A 8B0F mov ecx,dword ptr ds:[edi]
005E7D0C 83C4 0C add esp,0C
005E7D0F 51 push ecx
005E7D10 FFD3 call ebx
005E7D12 8BD0 mov edx,eax
005E7D14 8B45 E0 mov eax,dword ptr ss:[ebp-20]
005E7D17 83C2 10 add edx,10 ; 机器码长度+10
005E7D1A 0F80 04020000 jo Syncroni.005E7F24
005E7D20 0FAFD0 imul edx,eax ; edx*eax
005E7D23 0F80 FB010000 jo Syncroni.005E7F24
005E7D29 03D0 add edx,eax ; edx+eax
005E7D2B 8B07 mov eax,dword ptr ds:[edi]
005E7D2D 0F80 F1010000 jo Syncroni.005E7F24
005E7D33 50 push eax
005E7D34 8955 E0 mov dword ptr ss:[ebp-20],edx ; edx为上面计算结果
005E7D37 FFD3 call ebx
005E7D39 8B55 E0 mov edx,dword ptr ss:[ebp-20]
005E7D3C 8B4D E4 mov ecx,dword ptr ss:[ebp-1C]
005E7D3F 03C2 add eax,edx ; eax+edx
005E7D41 898D 7CFFFFFF mov dword ptr ss:[ebp-84],ecx
005E7D47 0F80 D7010000 jo Syncroni.005E7F24
005E7D4D 8945 E0 mov dword ptr ss:[ebp-20],eax ; eax为最后计算结果
005E7D50 8D45 84 lea eax,dword ptr ss:[ebp-7C]
005E7D53 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005E7D56 8D55 E0 lea edx,dword ptr ss:[ebp-20]
005E7D59 50 push eax
005E7D5A 51 push ecx
005E7D5B C785 74FFFFFF 080>mov dword ptr ss:[ebp-8C],8
005E7D65 8955 8C mov dword ptr ss:[ebp-74],edx
005E7D68 C745 84 03400000 mov dword ptr ss:[ebp-7C],4003
005E7D6F FF15 E8134000 call dword ptr ds:[<&MSVBVM60.#613>] ; MSVBVM60.rtcVarStrFromVar
005E7D75 8D55 C4 lea edx,dword ptr ss:[ebp-3C]
005E7D78 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
005E7D7B 52 push edx
005E7D7C 50 push eax
005E7D7D FF15 04134000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
005E7D83 50 push eax ; 最后结果转化为10进制后压栈
005E7D84 FF15 A8124000 call dword ptr ds:[<&MSVBVM60.#713>] ; MSVBVM60.rtcStrReverse
005E7D8A 8D4D B4 lea ecx,dword ptr ss:[ebp-4C] ; 逆向
005E7D8D 8D55 A4 lea edx,dword ptr ss:[ebp-5C]
005E7D90 51 push ecx
005E7D91 52 push edx
005E7D92 8945 BC mov dword ptr ss:[ebp-44],eax ; 逆向后结果
005E7D95 C745 B4 08000000 mov dword ptr ss:[ebp-4C],8
005E7D9C FF15 60114000 call dword ptr ds:[<&MSVBVM60.#520>] ; MSVBVM60.rtcTrimVar
005E7DA2 8D85 74FFFFFF lea eax,dword ptr ss:[ebp-8C]
005E7DA8 8D4D A4 lea ecx,dword ptr ss:[ebp-5C]
005E7DAB 50 push eax
005E7DAC 51 push ecx
005E7DAD 8D55 94 lea edx,dword ptr ss:[ebp-6C]
005E7DB0 52 push edx
005E7DB1 FF15 08134000 call dword ptr ds:[<&MSVBVM60.__vbaVarCat>] ; MSVBVM60.__vbaVarCat
005E7DB7 50 push eax
005E7DB8 FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarMove>] ; MSVBVM60.__vbaStrVarMove
005E7DBE 8BD0 mov edx,eax
005E7DC0 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E7DC3 FF15 28144000 call dword ptr ds:[<&MSVBVM60.__vbaStrMove>] ; MSVBVM60.__vbaStrMove
005E7DC9 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005E7DCC FF15 8C144000 call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E7DD2 8D45 94 lea eax,dword ptr ss:[ebp-6C]
005E7DD5 8D4D A4 lea ecx,dword ptr ss:[ebp-5C]
005E7DD8 50 push eax
005E7DD9 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
005E7DDC 51 push ecx
005E7DDD 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005E7DE0 52 push edx
005E7DE1 50 push eax
005E7DE2 6A 04 push 4
005E7DE4 FF15 58104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005E7DEA B8 01000000 mov eax,1
005E7DEF 83C4 14 add esp,14
005E7DF2 66:03C6 add ax,si
005E7DF5 0F80 29010000 jo Syncroni.005E7F24
005E7DFB 8BF0 mov esi,eax
005E7DFD ^ E9 8FFEFFFF jmp Syncroni.005E7C91 ; 循环计算
005E7E02 8B55 E4 mov edx,dword ptr ss:[ebp-1C]
005E7E05 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005E7E08 FF15 74134000 call dword ptr ds:[<&MSVBVM60.__vbaStrCopy>] ; MSVBVM60.__vbaStrCopy
005E7E0E 8B4D DC mov ecx,dword ptr ss:[ebp-24]
005E7E11 51 push ecx
005E7E12 FFD3 call ebx
005E7E14 83F8 08 cmp eax,8 ; 长度与8比较
005E7E17 7C 39 jl short Syncroni.005E7E52 ; 小于就跳
005E7E19 8B35 7C144000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaMidStmtBstr>; MSVBVM60.__vbaMidStmtBstr
005E7E1F 8D55 DC lea edx,dword ptr ss:[ebp-24]
005E7E22 52 push edx
005E7E23 6A 05 push 5
005E7E25 6A 01 push 1
005E7E27 68 74724200 push Syncroni.00427274
005E7E2C 6A 00 push 0
005E7E2E FFD6 call esi ; 第五,十,十五位使用“-”代替
005E7E30 8D45 DC lea eax,dword ptr ss:[ebp-24]
005E7E33 50 push eax
005E7E34 6A 0A push 0A
005E7E36 6A 01 push 1
005E7E38 68 74724200 push Syncroni.00427274
005E7E3D 6A 00 push 0
005E7E3F FFD6 call esi ;
005E7E41 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005E7E44 51 push ecx
005E7E45 6A 0F push 0F
005E7E47 6A 01 push 1
005E7E49 68 74724200 push Syncroni.00427274
005E7E4E 6A 00 push 0
005E7E50 FFD6 call esi
005E7E52 8B35 10144000 mov esi,dword ptr ds:[<&MSVBVM60.#617>] ; MSVBVM60.rtcLeftCharVar
005E7E58 8D45 84 lea eax,dword ptr ss:[ebp-7C]
005E7E5B 6A 10 push 10
005E7E5D 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005E7E60 8D55 DC lea edx,dword ptr ss:[ebp-24]
005E7E63 50 push eax
005E7E64 51 push ecx
005E7E65 8955 8C mov dword ptr ss:[ebp-74],edx
005E7E68 C745 84 08400000 mov dword ptr ss:[ebp-7C],4008
005E7E6F FFD6 call esi
005E7E71 8D55 C4 lea edx,dword ptr ss:[ebp-3C]
005E7E74 52 push edx
005E7E75 FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarMove>] ; MSVBVM60.__vbaStrVarMove
005E7E7B 8B1D 28144000 mov ebx,dword ptr ds:[<&MSVBVM60.__vbaStrMove>] ; MSVBVM60.__vbaStrMove
005E7E81 8BD0 mov edx,eax
005E7E83 8D4D DC lea ecx,dword ptr ss:[ebp-24] ; 真码转移
005E7E86 FFD3 call ebx
005E7E88 8B3D 38104000 mov edi,dword ptr ds:[<&MSVBVM60.__vbaFreeVar>] ; MSVBVM60.__vbaFreeVar
005E7E8E 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005E7E91 FFD7 call edi
005E7E93 8D4D 84 lea ecx,dword ptr ss:[ebp-7C]
005E7E96 6A 0E push 0E
005E7E98 8D55 C4 lea edx,dword ptr ss:[ebp-3C]
005E7E9B 8D45 DC lea eax,dword ptr ss:[ebp-24]
005E7E9E 51 push ecx
005E7E9F 52 push edx
005E7EA0 8945 8C mov dword ptr ss:[ebp-74],eax
005E7EA3 C745 84 08400000 mov dword ptr ss:[ebp-7C],4008
005E7EAA FFD6 call esi
005E7EAC 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005E7EAF 50 push eax
005E7EB0 FF15 48104000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarMove>] ; MSVBVM60.__vbaStrVarMove
005E7EB6 8BD0 mov edx,eax
005E7EB8 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
005E7EBB FFD3 call ebx
005E7EBD 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005E7EC0 FFD7 call edi
005E7EC2 68 0E7F5E00 push Syncroni.005E7F0E
005E7EC7 EB 34 jmp short Syncroni.005E7EFD
005E7EC9 F645 FC 04 test byte ptr ss:[ebp-4],4
005E7ECD 74 09 je short Syncroni.005E7ED8
005E7ECF 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
005E7ED2 FF15 8C144000 call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E7ED8 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005E7EDB FF15 8C144000 call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E7EE1 8D4D 94 lea ecx,dword ptr ss:[ebp-6C]
005E7EE4 8D55 A4 lea edx,dword ptr ss:[ebp-5C]
005E7EE7 51 push ecx
005E7EE8 8D45 B4 lea eax,dword ptr ss:[ebp-4C]
005E7EEB 52 push edx
005E7EEC 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005E7EEF 50 push eax
005E7EF0 51 push ecx
005E7EF1 6A 04 push 4
005E7EF3 FF15 58104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005E7EF9 83C4 14 add esp,14
005E7EFC C3 retn
005E7EFD 8B35 8C144000 mov esi,dword ptr ds:[<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
005E7F03 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E7F06 FFD6 call esi
005E7F08 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005E7F0B FFD6 call esi
005E7F0D C3 retn
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////// 算法总结 //////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
1,[(机器码长度+10)*(机器码+2)]+(机器码+2) + 机器码长度
2, 结果1转化为十进制后逆向
3,结果2第五,十,十五位使用“-”代替,但注册码只取前面十四位
-------------------------------------------------------------------------------------------
---
【破解心得】
没啥心得,纯属娱乐一下~~
-------------------------------------------------------------------------------------------
---
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
-------------------------------------------------------------------------------------------
---
文章写于
2006-06-09 10:42:27 感谢rdsnow大哥空间上的破文生成器,呵呵
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)