首页
社区
课程
招聘
***装修预算V3.0算法分析
发表于: 2006-2-10 22:40 6715

***装修预算V3.0算法分析

2006-2-10 22:40
6715

【文章标题】: ***装修预算V3.0算法分析
【作    者】: dvchen[OCN][D4s][FCG][YCG][YMON]...
【主    页】: http://www.^o^.net
【软件名称】: ***装修预算V3.0
【大    小】: 6465 KB
【下载地址】: 自己找
【编写语言】: VB
【工    具】: PEID,OD
【软件介绍】: 本软件由大连金手指电子技术有限公司出品,先后经历3个版本的变化,经上百家装修公司使用,历时两年多,终于在一片掌声中,最新版本和大家见面了,本软件充分考虑装修公司的实际情况提供了非常多的便捷工具和技巧,软件制作人员的匠心所在比比皆是,可谓精益之作,甚至可以说是当前国内同类软件中最实用、最方便的软件。

【作者声明】: 只是感兴趣,没有其他目的。绝对不是专拿软柿子捏,朋友要看看如何破解并计算,就贴上了!不要拍砖,适合初级练习。
  --------------------------------------------------------------------------------

【详细过程】
  ---------------------------------------------------------------------------------------------------
  
  0050BCAC    FF15 68124000   call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>]   ; MSVBVM60.__vbaFreeObj
  0050BCB2    A1 40205800     mov eax,dword ptr ds:[582040]                  ; 机器码出来了151677774
  0050BCB7    50              push eax                                       ; 090A6B4E
  0050BCB8    FF15 14104000   call dword ptr ds:[<&MSVBVM60.__vbaStrI4>]     ; MSVBVM60.__vbaStrI4
  0050BCBE    8BD0            mov edx,eax
  0050BCC0    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
  0050BCC3    FF15 2C124000   call dword ptr ds:[<&MSVBVM60.__vbaStrMove>]   ; MSVBVM60.__vbaStrMove
  0050BCC9    50              push eax
  0050BCCA    FF15 28104000   call dword ptr ds:[<&MSVBVM60.__vbaLenBstr>]   ; MSVBVM60.__vbaLenBstr
  0050BCD0    8BC8            mov ecx,eax
  0050BCD2    FF15 FC104000   call dword ptr ds:[<&MSVBVM60.__vbaI2I4>]      ; MSVBVM60.__vbaI2I4
  0050BCD8    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
  0050BCDB    8985 44FEFFFF   mov dword ptr ss:[ebp-1BC],eax
  0050BCE1    C745 E8 0100000>mov dword ptr ss:[ebp-18],1
  0050BCE8    FF15 64124000   call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>]   ; MSVBVM60.__vbaFreeStr
  0050BCEE    66:8B8D 44FEFFF>mov cx,word ptr ss:[ebp-1BC]
  0050BCF5    66:394D E8      cmp word ptr ss:[ebp-18],cx
  0050BCF9    0F8F AE000000   jg 金手指装.0050BDAD
  0050BCFF    8B15 40205800   mov edx,dword ptr ds:[582040]
  0050BD05    C785 78FFFFFF 0>mov dword ptr ss:[ebp-88],1
  0050BD0F    52              push edx
  0050BD10    C785 70FFFFFF 0>mov dword ptr ss:[ebp-90],2
  0050BD1A    FF15 14104000   call dword ptr ds:[<&MSVBVM60.__vbaStrI4>]     ; MSVBVM60.__vbaStrI4
  0050BD20    0FBF4D E8       movsx ecx,word ptr ss:[ebp-18]
  0050BD24    8945 88         mov dword ptr ss:[ebp-78],eax                  ; 151677774
  0050BD27    8D85 70FFFFFF   lea eax,dword ptr ss:[ebp-90]
  0050BD2D    50              push eax
  0050BD2E    8D55 80         lea edx,dword ptr ss:[ebp-80]
  0050BD31    51              push ecx
  0050BD32    8D85 60FFFFFF   lea eax,dword ptr ss:[ebp-A0]
  0050BD38    52              push edx
  0050BD39    50              push eax
  0050BD3A    C745 80 0800000>mov dword ptr ss:[ebp-80],8
  0050BD41    FF15 CC104000   call dword ptr ds:[<&MSVBVM60.#632>]           ; MSVBVM60.rtcMidCharVar
  0050BD47    8D8D 60FFFFFF   lea ecx,dword ptr ss:[ebp-A0]
  0050BD4D    8D55 B0         lea edx,dword ptr ss:[ebp-50]
  0050BD50    51              push ecx
  0050BD51    52              push edx
  0050BD52    FF15 80114000   call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
  0050BD58    50              push eax                                       ; 1
  0050BD59    FF15 3C104000   call dword ptr ds:[<&MSVBVM60.#516>]           ; MSVBVM60.rtcAnsiValueBstr
  0050BD5F    8B4D E4         mov ecx,dword ptr ss:[ebp-1C]
  0050BD62    0FBFC0          movsx eax,ax                                   ; 31 35
  0050BD65    03C1            add eax,ecx                                    ; 相加=1DD
  
  一、取机器码各位Ansiic值依次相加得到1DD(477)
  
  -----------------------------------------------------------------------------------------------------
  
  
  0050BDB1    FF15 14104000   call dword ptr ds:[<&MSVBVM60.__vbaStrI4>]     ; MSVBVM60.__vbaStrI4
  0050BDB7    8BD0            mov edx,eax                                    ; 1DD=477
  0050BDB9    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
  0050BDBC    FF15 2C124000   call dword ptr ds:[<&MSVBVM60.__vbaStrMove>]   ; MSVBVM60.__vbaStrMove
  0050BDC2    50              push eax
  0050BDC3    FF15 28104000   call dword ptr ds:[<&MSVBVM60.__vbaLenBstr>]   ; MSVBVM60.__vbaLenBstr
  0050BDC9    8BC8            mov ecx,eax
  0050BDCB    FF15 FC104000   call dword ptr ds:[<&MSVBVM60.__vbaI2I4>]      ; MSVBVM60.__vbaI2I4
  0050BDD1    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
  0050BDD4    8985 3CFEFFFF   mov dword ptr ss:[ebp-1C4],eax
  0050BDDA    C745 E8 0100000>mov dword ptr ss:[ebp-18],1
  0050BDE1    FF15 64124000   call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>]   ; MSVBVM60.__vbaFreeStr
  0050BDE7    66:8B95 3CFEFFF>mov dx,word ptr ss:[ebp-1C4]
  0050BDEE    66:3955 E8      cmp word ptr ss:[ebp-18],dx
  0050BDF2    0F8F 14010000   jg 金手指装.0050BF0C
  0050BDF8    66:8B45 D4      mov ax,word ptr ss:[ebp-2C]
  0050BDFC    8B55 E4         mov edx,dword ptr ss:[ebp-1C]
  0050BDFF    8B4D C0         mov ecx,dword ptr ss:[ebp-40]
  0050BE02    66:05 0A00      add ax,0A                                      ; AX+0A 0A 14 1E
  0050BE06    0F80 1DB80000   jo 金手指装.00517629
  0050BE0C    52              push edx
  0050BE0D    8945 D4         mov dword ptr ss:[ebp-2C],eax
  0050BE10    898D E8FEFFFF   mov dword ptr ss:[ebp-118],ecx
  0050BE16    C785 E0FEFFFF 0>mov dword ptr ss:[ebp-120],8
  0050BE20    C785 78FFFFFF 0>mov dword ptr ss:[ebp-88],1
  0050BE2A    C785 70FFFFFF 0>mov dword ptr ss:[ebp-90],2
  0050BE34    FF15 14104000   call dword ptr ds:[<&MSVBVM60.__vbaStrI4>]     ; MSVBVM60.__vbaStrI4
  0050BE3A    0FBF4D E8       movsx ecx,word ptr ss:[ebp-18]
  0050BE3E    8945 88         mov dword ptr ss:[ebp-78],eax                  ; 477
  0050BE41    8D85 70FFFFFF   lea eax,dword ptr ss:[ebp-90]
  0050BE47    50              push eax
  0050BE48    8D55 80         lea edx,dword ptr ss:[ebp-80]
  0050BE4B    51              push ecx
  0050BE4C    8D85 60FFFFFF   lea eax,dword ptr ss:[ebp-A0]
  0050BE52    52              push edx
  0050BE53    50              push eax
  0050BE54    C745 80 0800000>mov dword ptr ss:[ebp-80],8
  0050BE5B    FF15 CC104000   call dword ptr ds:[<&MSVBVM60.#632>]           ; MSVBVM60.rtcMidCharVar
  0050BE61    8D8D 60FFFFFF   lea ecx,dword ptr ss:[ebp-A0]
  0050BE67    8D55 B0         lea edx,dword ptr ss:[ebp-50]
  0050BE6A    51              push ecx
  0050BE6B    52              push edx
  0050BE6C    FF15 80114000   call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
  0050BE72    50              push eax                                       ; 4
  0050BE73    FF15 3C104000   call dword ptr ds:[<&MSVBVM60.#516>]           ; MSVBVM60.rtcAnsiValueBstr
  0050BE79    66:0345 D4      add ax,word ptr ss:[ebp-2C]                    ; 34+A 37+14 37+1E
  0050BE7D    8D8D 50FFFFFF   lea ecx,dword ptr ss:[ebp-B0]
  0050BE83    0F80 A0B70000   jo 金手指装.00517629
  0050BE89    0FBFC0          movsx eax,ax                                   ; 3E 4B 55
  
  二、1DD的10进制477,取其各位的ASIIC值分别加上A、14、1E得到3E 4B 55,转换为UNICODE就是>KU
  
  -----------------------------------------------------------------------------------------------------
  0050BF0C    8B0D 40205800   mov ecx,dword ptr ds:[582040]                  ; 090A6B4E
  0050BF12    C745 D4 0000000>mov dword ptr ss:[ebp-2C],0
  0050BF19    51              push ecx
  0050BF1A    FF15 14104000   call dword ptr ds:[<&MSVBVM60.__vbaStrI4>]     ; MSVBVM60.__vbaStrI4
  0050BF20    8BD0            mov edx,eax
  0050BF22    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
  0050BF25    FF15 2C124000   call dword ptr ds:[<&MSVBVM60.__vbaStrMove>]   ; MSVBVM60.__vbaStrMove
  0050BF2B    50              push eax
  0050BF2C    FF15 28104000   call dword ptr ds:[<&MSVBVM60.__vbaLenBstr>]   ; MSVBVM60.__vbaLenBstr
  0050BF32    8BC8            mov ecx,eax
  0050BF34    FF15 FC104000   call dword ptr ds:[<&MSVBVM60.__vbaI2I4>]      ; MSVBVM60.__vbaI2I4
  0050BF3A    8D4D B0         lea ecx,dword ptr ss:[ebp-50]
  0050BF3D    8985 34FEFFFF   mov dword ptr ss:[ebp-1CC],eax
  0050BF43    C745 E8 0100000>mov dword ptr ss:[ebp-18],1
  0050BF4A    FF15 64124000   call dword ptr ds:[<&MSVBVM60.__vbaFreeStr>]   ; MSVBVM60.__vbaFreeStr
  0050BF50    66:8B95 34FEFFF>mov dx,word ptr ss:[ebp-1CC]
  0050BF57    66:3955 E8      cmp word ptr ss:[ebp-18],dx
  0050BF5B    0F8F 17010000   jg 金手指装.0050C078
  0050BF61    66:8B45 D4      mov ax,word ptr ss:[ebp-2C]
  0050BF65    8B15 40205800   mov edx,dword ptr ds:[582040]
  0050BF6B    8B4D C8         mov ecx,dword ptr ss:[ebp-38]
  0050BF6E    66:05 0700      add ax,7                                       ; ax+7 7 E 15
  0050BF72    0F80 B1B60000   jo 金手指装.00517629
  0050BF78    52              push edx
  0050BF79    8945 D4         mov dword ptr ss:[ebp-2C],eax
  0050BF7C    898D E8FEFFFF   mov dword ptr ss:[ebp-118],ecx
  0050BF82    C785 E0FEFFFF 0>mov dword ptr ss:[ebp-120],8
  0050BF8C    C785 78FFFFFF 0>mov dword ptr ss:[ebp-88],1
  0050BF96    C785 70FFFFFF 0>mov dword ptr ss:[ebp-90],2
  0050BFA0    FF15 14104000   call dword ptr ds:[<&MSVBVM60.__vbaStrI4>]     ; MSVBVM60.__vbaStrI4
  0050BFA6    0FBF4D E8       movsx ecx,word ptr ss:[ebp-18]
  0050BFAA    8945 88         mov dword ptr ss:[ebp-78],eax                  ; 151677774
  0050BFAD    8D85 70FFFFFF   lea eax,dword ptr ss:[ebp-90]
  0050BFB3    50              push eax
  0050BFB4    8D55 80         lea edx,dword ptr ss:[ebp-80]
  0050BFB7    51              push ecx
  0050BFB8    8D85 60FFFFFF   lea eax,dword ptr ss:[ebp-A0]
  0050BFBE    52              push edx
  0050BFBF    50              push eax
  0050BFC0    C745 80 0800000>mov dword ptr ss:[ebp-80],8
  0050BFC7    FF15 CC104000   call dword ptr ds:[<&MSVBVM60.#632>]           ; MSVBVM60.rtcMidCharVar
  0050BFCD    8D8D 60FFFFFF   lea ecx,dword ptr ss:[ebp-A0]
  0050BFD3    8D55 B0         lea edx,dword ptr ss:[ebp-50]
  0050BFD6    51              push ecx
  0050BFD7    52              push edx
  0050BFD8    FF15 80114000   call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
  0050BFDE    50              push eax                                       ; 1
  0050BFDF    FF15 3C104000   call dword ptr ds:[<&MSVBVM60.#516>]           ; MSVBVM60.rtcAnsiValueBstr
  0050BFE5    66:0345 D4      add ax,word ptr ss:[ebp-2C]                    ; 31+7 35+E
  0050BFE9    8D8D 50FFFFFF   lea ecx,dword ptr ss:[ebp-B0]
  0050BFEF    0F80 34B60000   jo 金手指装.00517629
  0050BFF5    0FBFC0          movsx eax,ax                                   ; 38 43 46 52
  0050BFF8    50              push eax
  
  三、再次把机器码的各位的ASIIC值分别与7的倍数相加,得到38 43 46 52...转换为UNICODE就是8CFRZahos
  
  ------------------------------------------------------------------------------------------------
  
  0050C0B5    FF15 28104000   call dword ptr ds:[<&MSVBVM60.__vbaLenBstr>]   ; MSVBVM60.__vbaLenBstr
  0050C0BB    83E8 05         sub eax,5                                      ; 减去五位
  0050C0BE    8D8D 70FFFFFF   lea ecx,dword ptr ss:[ebp-90]
  0050C0C4    0F80 5FB50000   jo 金手指装.00517629
  0050C0CA    50              push eax
  0050C0CB    8D85 E0FEFFFF   lea eax,dword ptr ss:[ebp-120]
  0050C0D1    50              push eax
  0050C0D2    51              push ecx
  0050C0D3    FF15 1C124000   call dword ptr ds:[<&MSVBVM60.#617>]           ; 左边开始取四位
  0050C0D9    8D55 80         lea edx,dword ptr ss:[ebp-80]
  0050C0DC    8D85 70FFFFFF   lea eax,dword ptr ss:[ebp-90]
  0050C0E2    52              push edx
  0050C0E3    8D8D 60FFFFFF   lea ecx,dword ptr ss:[ebp-A0]
  0050C0E9    50              push eax
  0050C0EA    51              push ecx
  0050C0EB    FF15 84114000   call dword ptr ds:[<&MSVBVM60.__vbaVarCat>]    ; MSVBVM60.__vbaVarCat
  0050C0F1    50              push eax
  0050C0F2    FF15 24104000   call dword ptr ds:[<&MSVBVM60.__vbaStrVarMove>>; MSVBVM60.__vbaStrVarMove
  0050C0F8    8BD0            mov edx,eax                                    ; "Zahos8CFR"
  
  四、取8CFRZahos左边四位8CFR,并连接Zahos,形成Zahos8CFR
  --------------------------------------------------------------------------------------------------
  0050C117    FF15 30104000   call dword ptr ds:[<&MSVBVM60.__vb>; MSVBVM60.__vbaFreeVarList
  0050C11D    8B55 C0         mov edx,dword ptr ss:[ebp-40]      ; 出现>KU
  0050C120    8B45 C4         mov eax,dword ptr ss:[ebp-3C]
  0050C123    83C4 10         add esp,10
  0050C126    52              push edx
  0050C127    50              push eax                           ;
  0050C128    FF15 54104000   call dword ptr ds:[<&MSVBVM60.__vb>; 连接形成注册码>KUZahos8CFR
  
  五、连接>KU和Zahos8CFR,形成注册码。
  
--------------------------------------------------------------------------------
【总结】
  一、取机器码的各位Ansiic值依次相加得到1DD(477)
  二、1DD的10进制477,取其各位的ASIIC值分别加上A、14、1E得到3E 4B 55,转换为UNICODE就是>KU
  三、再次把机器码的各位的ASIIC值分别与7的倍数相加,得到38 43 46 52...转换为UNICODE就是8CFRZahos
  四、取8CFRZahos左边四位8CFR,并连接Zahos,形成Zahos8CFR
  五、连接>KU和Zahos8CFR,形成注册码。
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于OCN论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年02月10日 22:46:40


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,抢了个。。。
2006-2-11 01:17
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
3
支持OCN的兄弟!!!
2006-2-11 13:49
0
雪    币: 175
活跃值: (2531)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
要自己亲手破解才可以弄清其原理。
2006-2-11 21:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习的说。
2006-2-11 21:46
0
游客
登录 | 注册 方可回帖
返回
//