如何破解Bestofware SmartUI Activex 所有版本。(過程) (5千字)

看雪資料發表於2000-12-31

如何破解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
                                         
                                          歡迎光臨品琳居!

相關文章