視窗鎖王ver5.10簡介
視窗鎖王ver5.10簡介
這是一款強大的安全保護軟體。它利用Windows底層的VxD技術在WINDOWS 95/98/Me下實現了對硬碟的全面保護。主要功能有:可以對硬碟上的任意分割槽、目錄實現隱藏,防刪除,防改寫(只讀),抗惡性病毒傳染,資料防竊等功能。
軟體使用簡單,只需執行(執行時無蹤無跡)即可,無須先對硬碟重新分割槽,是硬碟保護卡理想的軟體解決方案,廣泛適用於學校機房,單位機房,網咖,電腦屋以及個人電腦的安全保護。
視窗鎖王使用pe-compact加殼,用pe-scan可以脫殼。
視窗鎖王防TRW2000,一旦它的執行介面出現以後,如果發現TRW2000就會直接關機。但是不防Twx2002。使用靜態方法分析,查詢ExitWindowsEx,其中一處為程式處次執行時重新啟動用,另一處就是防Trw2000關機處。
:00407972 83BDECFEFFFF00 cmp dword ptr [ebp+FFFFFEEC], 00000000
:00407979 7706 ja 00407981--------------------------------->跳到關閉系統(改成90)
:0040797B 837DFC00 cmp dword ptr [ebp-04], 00000000
:0040797F 760E jbe 0040798F-------------------------------->不跳會走到關閉系統(改成EB)
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00407979(C)
|
:00407981 6A00 push 00000000
:00407983 6A05 push 00000005
* Reference To: USER32.ExitWindowsEx, Ord:0000h----------------------------->到此處會關閉Windows
|
:00407985 FF1514144200 Call dword ptr [00421414]
:0040798B 33C0 xor eax, eax
:0040798D EB05 jmp 00407994
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040797F(C)
|
:0040798F B801000000 mov eax, 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040798D(U)
|
:00407994 8BE5 mov esp, ebp
:00407996 5D pop ebp
:00407997 C20800 ret 0008
再來看註冊問題,由於我還是新手,搞了好多天也沒有搞好註冊的問題,沒有辦法了,爆破吧
軟體退出時會出現提示框,詢問是否繼續保護。由此處入手!
此軟體實現保護的方法時呼叫 KERNEL32.DeviceIoControl這個API函式,此函式引數說明如下:
說明
對裝置執行指定的操作
返回值 Long,非零表示成功,零表示失敗。會設定GetLastError
參數列
引數 型別及說明
hDevice Long,裝置控制程式碼
dwIoControlCode Long,帶有 FSCTL_ 字首的常數。參考裝置控制選項的部分列表
lpInBuffer Any,具體取決於dwIoControlCode引數。參考裝置控制選項的部分列表
nInBufferSize Long,輸入緩衝區的長度
lpOutBuffer Any,具體取決於dwIoControlCode引數。參考裝置控制選項的部分列表
nOutBufferSize Long,輸出緩衝區的長度
lpBytesReturned Long,實際裝載到輸出緩衝區的位元組數量
lpOverlapped OVERLAPPED,這個結構用於重疊操作。針對同步操作,請用ByVal As Long傳遞零值
用TRW2000跟蹤,在此函式上下斷點,從Load到程式後臺執行總共呼叫6次
1、004075BD CALL NTEAPI32!NetBios
2、00407016 CALL NTEAPI32!NetBios
3、0040765C CALL NTEAPI32!NetBios
4、004073E8 CALL KERNEL32.DeviceIoControl
5、0040741A CALL KERNEL32.DeviceIoControl
6、00407C64 CALL KERNEL32.DeviceIoControl
根據函式說明猜測關鍵是後3次呼叫,並且最終確定是否保護是在最後一次呼叫,其餘兩次是在確定分割槽和目錄的目前狀態。基於此種猜想,將最後一次呼叫之前的引數入棧操作全部按照如下格式進行更改!
* Possible StringData Ref from Code Obj ->"請您確認!"
|
:0040811E 680CA34200 push 0042A30C
* Possible StringData Ref from Code Obj ->"軟體退出後是否繼續保護?"
|
:00408123 6818A34200 push 0042A318
:00408128 8B8D0CFDFFFF mov ecx, dword ptr [ebp+FFFFFD0C]
:0040812E E8F1090100 call 00418B24
:00408133 83F806 cmp eax, 00000006
:00408136 751E jne 00408156---------------> 如果選擇否,則此處跳!
:00408138 6A00 push 00000000--------------------
:0040813A 6A00 push 00000000 |
:0040813C 6A00 push 00000000 |
:0040813E 6A00 push 00000000 |
:00408140 6A00 push 00000000 |這裡就是8個引數
:00408142 6A00 push 00000000 |
:00408144 6808C0EBFF push FFEBC008 |
:00408149 8B1560E34200 mov edx, dword ptr [0042E360] |
:0040814F 52 push edx-------------------------/
* Reference To: KERNEL32.DeviceIoControl, Ord:0000h
|
:00408150 FF15AC124200 Call dword ptr [004212AC]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:----->到此處取消保護,結束程式
|:00408136(C)
|
:00408156 8B850CFDFFFF mov eax, dword ptr [ebp+FFFFFD0C]
:0040815C 8B10 mov edx, dword ptr [eax]
:0040815E 8B8D0CFDFFFF mov ecx, dword ptr [ebp+FFFFFD0C]
:00408164 FF5258 call [edx+58]
:00408167 8BE5 mov esp, ebp
:00408169 5D pop ebp
:0040816A C3 ret
*******************************************
下面是動態跟蹤發現的最後一次呼叫
:00407BF3 55 push ebp
:00407BF4 8BEC mov ebp, esp
:00407BF6 83EC10 sub esp, 00000010
:00407BF9 56 push esi
:00407BFA 894DF0 mov dword ptr [ebp-10], ecx
* Possible StringData Ref from Code Obj ->"KERNEL32.DLL"
|
:00407BFD 6868A14200 push 0042A168
* Reference To: KERNEL32.LoadLibraryA, Ord:0000h
|
:00407C02 FF1570114200 Call dword ptr [00421170]
:00407C08 8945F8 mov dword ptr [ebp-08], eax
* Possible StringData Ref from Code Obj ->"RegisterServiceProcess"
|
:00407C0B 6878A14200 push 0042A178
:00407C10 8B45F8 mov eax, dword ptr [ebp-08]
:00407C13 50 push eax
* Reference To: KERNEL32.GetProcAddress, Ord:0000h
|
:00407C14 FF1580124200 Call dword ptr [00421280]
:00407C1A 8945F4 mov dword ptr [ebp-0C], eax
:00407C1D 6A01 push 00000001
:00407C1F 6A00 push 00000000
:00407C21 FF55F4 call [ebp-0C]
:00407C24 8B0D5CE34200 mov ecx, dword ptr [0042E35C]
:00407C2A C1E903 shr ecx, 03
:00407C2D 8B155CE34200 mov edx, dword ptr [0042E35C]
:00407C33 F7D2 not edx
:00407C35 03CA add ecx, edx
:00407C37 A15CE34200 mov eax, dword ptr [0042E35C]
:00407C3C 33D2 xor edx, edx
:00407C3E BEB2070000 mov esi, 000007B2
:00407C43 F7F6 div esi
:00407C45 2BC8 sub ecx, eax
:00407C47 894DFC mov dword ptr [ebp-04], ecx
:00407C4A 6A00 push 00000000-------------------------
:00407C4C 6A00 push 00000000 |
:00407C4E 6A00 push 00000000 |
:00407C50 6A00 push 00000000 |
:00407C52 6A04 push 00000004 ------------------------|--->對照上面改成6A00
:00407C54 8D45FC lea eax, dword ptr [ebp-04]-----------|--->對照上面改成8D45
:00407C57 50 push eax------------------------------|--->對照上面改成6A00
:00407C58 6814C0EBFF push FFEBC014-------------------------|--->對照上面改成6808C0EBFF
:00407C5D 8B0D60E34200 mov ecx, dword ptr [0042E360] |--->此處相同
:00407C63 51 push ecx------------------------------/
* Reference To: KERNEL32.DeviceIoControl, Ord:0000h
|
:00407C64 FF15AC124200 Call dword ptr [004212AC]
:00407C6A 33C0 xor eax, eax
:00407C6C 5E pop esi
:00407C6D 8BE5 mov esp, ebp
:00407C6F 5D pop ebp
:00407C70 C20800 ret 0008
***************************************************************
***************************************************************
更改以後程式開機實現保護 2003.8.16
相關文章
- jQuery iframe子視窗獲取父視窗元素簡單介紹2017-04-06jQuery
- 破解視窗鎖王ver4.8的一點提示 (1千字)2001-07-08
- Hiddex -視窗管理工具簡介2024-05-12
- javascript自帶彈出視窗簡單介紹2017-03-09JavaScript
- 父視窗和iframe中物件互相傳值簡介2017-02-25物件
- pyqt5建立主視窗(介紹視窗型別)2024-06-23QT型別
- javascript中常用的幾種彈出視窗簡單介紹2017-04-03JavaScript
- js和jQuery獲取視窗和元素尺寸簡單介紹2017-04-07JSjQuery
- Oracle鎖簡單介紹2007-04-09Oracle
- ORACLE 鎖簡單介紹2007-03-13Oracle
- JAVA輕量級鎖簡介2018-10-20Java
- JVM中鎖優化簡介2016-01-31JVM優化
- Oracle 鎖簡單介紹(轉)2009-09-24Oracle
- Oracle鎖簡單介紹(轉)2007-08-12Oracle
- SWT的視覺化控制元件的X11視窗控制程式碼簡介2013-08-22視覺化控制元件
- “美萍”來看看,視窗鎖王ver4.8徹底完蛋了。破解原來如此簡單。只改兩位元組.哈哈哈.......
(4千字)2001-07-10
- PLSQL Developer中鎖定Window List視窗辦法2015-04-12SQLDeveloper
- win10固定視窗大小怎麼設定_win10如何鎖定視窗大小2020-08-06Win10
- MySQL 檢視簡介2022-04-16MySql
- 簡介oracle檢視2007-10-22Oracle
- SWT的視覺化控制元件的X11視窗控制程式碼簡介(轉)2007-08-15視覺化控制元件
- ASP.NET Web 窗體- 保持 ViewState簡介2022-03-27ASP.NETWebView
- pyqt5之簡單視窗的建立2018-10-20QT
- Linux 死鎖檢測模組 Lockdep 簡介2016-07-27Linux
- 基於佇列的鎖:mcs lock簡介2013-06-03佇列
- JavaScript - 模式視窗和非模式視窗2014-04-01JavaScript模式
- MySQL檢視簡介與操作2019-04-14MySql
- 視訊編碼原理簡介2015-12-09
- win10怎麼把軟體視窗設定最前 win10鎖定視窗在最前如何設定2020-08-13Win10
- 微軟外服工作札記③——視窗函式的介紹2022-06-17微軟函式
- Go Qt5 建立空白視窗、視窗居中及關閉視窗事件2020-10-07GoQT事件
- 討論關閉子視窗,重新整理父視窗(非模式視窗)2011-06-28模式
- Windows API視窗程式設計 - 空白視窗2019-07-28WindowsAPI程式設計
- 視窗事件2018-09-19事件
- 簡單介紹redis加鎖常用幾種方式2021-01-08Redis
- 資料視窗橫向滾動時用PB鎖定某列2016-03-23
- 廣義多執行緒安全之鎖與iOS鎖簡單介紹2017-12-22執行緒iOS
- ASP.NET MVC – 檢視簡介2022-01-22ASP.NETMVC