利用文本通訊實現authorware的軟件狗加密方法
authorware是一套功能強大的制作多媒體軟件的編著工具。其基于圖標和流程線為結構的編輯環境,使不具有程序設計經驗的生手,也能設計出多媒體產品,加上有豐富的函數及程序控制功能,使它成為多媒體教材或游戲軟件的良好開發工具。本文介紹一種利用vb與authorware之間的文本通訊,實現authorware應用程序包的軟件狗加密的新方法。
1 vb對并行i/o口操作的實現方法
vb本身并沒有i/o端口輸入輸出函數,windows api(應用程序接口)也沒有提供端口輸入輸出的能力,因此大部分軟件對插在打印機口的軟件加密狗,仍采用dos下的c語言或80x86匯編語言的方式進行通訊查詢。但由于vb具有動態鏈接庫dll的調用功能,因此可以通過調用其他高級語言(如visual c++5.0)建立的具有i/o操作功能的dll,來實現vb對i/o口的操作。設用visual c++5.0編程用于操作并行i/o口的動態鏈接庫名稱為outin.dll。dll中有三個用于vb調用的功能子函數,它們分別為對數據口(口地址為0378h)進行輸入輸出操作的子函數outindata()對狀態口(口地址為0379h)進行輸入操作的子函數status ()以及對控制口(口地址為037ah)進行輸出操作的子函數control()。vb在使用這些函數之前,必需在全局模塊(*.bas)中進行聲明后,才可以在vb的form窗口中調用。其聲明和主窗口程序如下:
vb加密狗操作程序
’module 1. bas 中對dll定義函數的聲明
declare function outindata lib “outin.dll”(byval value as integer) as integer
declare function status lib “outin.dll”() as integer
declare function control lib “outin.dll” (byval value1 as integer) as integer
’form 框中 inspect.exe 主程序
private sub form-load()
j=control (0)’ 給加密狗上電
j1=outindata (16)’ 給加密狗輸入數據
stadata=status ()’ 檢測狀態口上加密狗輸出數據
form1.text1.text=str(stadata)
open “c:\commutxt” for output as #1
print #1 form1.text1.text
close #1
if stadata=6868 then
msg=“啟動成功,謝謝使用!”
title=“ 檢查框”
i=msgbox(msg 0 title)
else
msg=“對不起,您是非法用戶!”
title=“ 檢查框”
i=msgbox(msg 16 title)
end
end if
end sub
以上程序打包成inspect.exe,供authorware加密時調用。
2 vb與authorware之間的文本通訊及軟件狗加密的實現
上述vb程序運行后,將得到一個名為commutxt的文本文件,文本文件中存有檢測狀態口得到的數據statusdata。這個數據與軟件狗中的一致,則為安裝有軟件狗的合法用戶,可繼續運行authorware應用軟件包;否則為非法用戶,將退出authorware應用軟件,回到windows狀態。因此authorware應用軟件必須在其流程線的一開始加入調用外部文件inspect.exe的計算圖標ext。在這個圖標中不但實現了外部vb文件inspect.exe的調用,還實現了從調用后得到的文本文件commutxt中,取出檢測數據stadata并賦給authorware新變量sta。為了判斷檢測數據與軟件狗中數據的一致性,在流程線中要加入另一個計算圖標test,若與軟件狗中的數據dogdata一致,可繼續運行;否則退出應用軟件。為了不使dogdata在文本中被查出,最后在流程線上還需加入一個刪除文件的計算圖標del,用來刪除vb運行后形成的commutxt文本文件。
authorware流程圖及計算圖標的編程圖如圖1所示。
圖1 authorware加密流程圖
3 結束語
本文所述的vb與authorware之間文本傳遞數據的方法,不僅可用于authorware應用程序包的軟件狗加密,也可用于vb和authorware應用軟件之間的其它數據傳遞,使得authorware應用軟件的編輯更為靈活方便。
作者簡介:楊龍興 江蘇省常州技術師范學院教師(213001)
參考文獻
1 賴阿福,鍵智著. 多媒體制作-authorware 3.0實用指南. 北京: 清華大學出版社,1996.10
2 劉炳文編著. visual basic 3.0 for windows 程序設計快速入門. 北京:人民郵電出版社,1996.5。
新聞熱點
疑難解答