• 标 题:如何破解Bestofware SmartUI Activex 所有版本。(过程) (5千字)
  • 作 者:品琳居
  • 时 间:2000-12-31 12:41:21
  • 链 接:http://bbs.pediy.com

如何破解Bestofware SmartUI Activex 所有版本。
============ 警告================

破解后的控件不能用于商业用途。

==================================

下载地址:www.bestofware.com  大小:2MB
功能:一个可以实现OFFICE 2000所有界面的控件,使用方法极其简单。
VB的程序员可以从该控件中看到希望,不是VB不行,而是我们的水平不
高而已。加油啊,中国的程序员!

难度:容易    用时: ≤ 5 分钟
限制:对话框、延时、过期、无法发布
所用工具: W32Dasm 8.93,UltraEdit32 8.0
在C700,128M windows 98 SE 下测试通过。

用W32Dasm 将SmartUI.ocx 反汇编,在 String 中凭感觉轻易发现
"DDemo version limitation"、"DDemoScreen" ,肯定是这两个家伙有问题。


* Reference To: MSVBVM60.__vbaChkstk, Ord:0000h
                                  |
:1103EE78 E893A3FCFF              Call 11009210                             
:1103EE7D 8BC4                    mov eax, esp                               
:1103EE7F 8B8D68FFFFFF            mov ecx, dword ptr [ebp+FFFFFF68]         
:1103EE85 8908                    mov dword ptr [eax], ecx                   
:1103EE87 8B956CFFFFFF            mov edx, dword ptr [ebp+FFFFFF6C]           
:1103EE8D 895004                  mov dword ptr [eax+04], edx               
:1103EE90 8B8D70FFFFFF            mov ecx, dword ptr [ebp+FFFFFF70]         
:1103EE96 894808                  mov dword ptr [eax+08], ecx               
:1103EE99 8B9574FFFFFF            mov edx, dword ptr [ebp+FFFFFF74]         
:1103EE9F 89500C                  mov dword ptr [eax+0C], edx                 
:1103EEA2 6A01                    push 00000001       
============================= 只要系统日期一改变立即调出对话框、延时
* Possible StringData Ref from Code Obj ->"DDemoScreen" 
                                  |
:1103EEA4 682C240111              push 1101242C
:1103EEA9 8B45D0                  mov eax, dword ptr [ebp-30]
:1103EEAC 50                      push eax

* Reference To: MSVBVM60.__vbaLateMemCall, Ord:0000h
                                  |
:1103EEAD FF15A8120011            Call dword ptr [110012A8]
:1103EEB3 83C41C                  add esp, 0000001C
:1103EEB6 C745FC24000000          mov [ebp-04], 00000024
:1103EEBD 6A00                    push 00000000
:1103EEBF 8D4DD0                  lea ecx, dword ptr [ebp-30]
:1103EEC2 51                      push ecx

* Reference To: MSVBVM60.__vbaObjSetAddref, Ord:0000h
                                  |
:1103EEC3 FF15E4100011            Call dword ptr [110010E4]
:1103EEC9 C745FC25000000          mov [ebp-04], 00000025
:1103EED0 8B9508FFFFFF            mov edx, dword ptr [ebp+FFFFFF08]
:1103EED6 0FBF8290800911          movsx eax, word ptr [edx+11098090]
:1103EEDD 85C0                    test eax, eax
:1103EEDF 0F85D1000000            jne 1103EFB6
                                ---->  检较是否过期,过期警告,无法使用。
:1103EEE5 C745FC26000000          mov [ebp-04], 00000026
:1103EEEC C7458004000280          mov [ebp-80], 80020004
:1103EEF3 C78578FFFFFF0A000000    mov dword ptr [ebp+FFFFFF78], 0000000A
:1103EEFD C7459004000280          mov [ebp-70], 80020004
:1103EF04 C745880A000000          mov [ebp-78], 0000000A

* Possible StringData Ref from Code Obj ->"DDemo version limitation"
                                  |
:1103EF0B C78560FFFFFFA8240111    mov dword ptr [ebp+FFFFFF60], 110124A8
:1103EF15 C78558FFFFFF08000000    mov dword ptr [ebp+FFFFFF58], 00000008
:1103EF1F 8D9558FFFFFF            lea edx, dword ptr [ebp+FFFFFF58]
:1103EF25 8D4D98                  lea ecx, dword ptr [ebp-68]

* Reference To: MSVBVM60.__vbaVarDup, Ord:0000h
                                  |
:1103EF28 FF15B8120011            Call dword ptr [110012B8]

* Possible StringData Ref from Code Obj ->"TThis version of SmartUI can't "
                                        ->"be distributed."
                                  |
:1103EF2E C78570FFFFFF48240111    mov dword ptr [ebp+FFFFFF70], 11012448
:1103EF38 C78568FFFFFF08000000    mov dword ptr [ebp+FFFFFF68], 00000008
:1103EF42 8D9568FFFFFF            lea edx, dword ptr [ebp+FFFFFF68]
:1103EF48 8D4DA8                  lea ecx, dword ptr [ebp-58]

* Reference To: MSVBVM60.__vbaVarDup, Ord:0000h


最简单破解方法:用UltraEdit32 打开  SMARTUI.OCX
查找  85C00F85D1000000 改为
            ~~
            84                -> 时间检测
 
查找  89500C6A01              -> 去掉 Nag Screen 和延时
              ~~
              00

该方法适用于  SmartUI ActiveX Trial 所有版本。
有没有其它破解的办法?有!不过改动的东西还多一点,我第一次破SmartUI就用
另外一种方法,有兴趣的朋友可以研究一下,有不明白的地方可以发“妹儿”给
我。破过的东西很多很多,可写过程还是第一次,有点不伦不类,不好意思。这也
是我为什么老是破解而不写过程的原因,见谅!

看过以上过程的朋友可以找JanusGridEX 2000 ActiveX 来尝试一下,去年很多人叫
我破过(同样是VB写的),破解我也在我的主页公布过。破解方法大同小异,多出一
道检测而已。哦,忘了,她还用Shrink 加过壳,要先脱壳,不过还是很容易嘛。

  Happy New Year!
               
                                              Aming
                                            2000.12.31
                                         
                                          欢迎光临品琳居!