開發工具:Microsoft Visual Studio .NET 2003
作業系統:Windows XP
程式開發三個永恒的主題是:
一.程式的功能及創意
二.程式的推廣
三.程式的保護
理論上說,不存在不能被Crack的程式。所謂的防Crack,只是增加Crack的難度而已。
用Process類管理進程
Process 類提供對本地和遠程進程的訪問並使您能夠啟動和停止本地系統進程。
Process 組件提供對正在電腦上啟動並執行進程的訪問。用最簡短的話來說,進程就是當前啟動並執行應用程式。線程是作業系統向其分配處理器時間的基本單位。線程可執行進程的任何一部分代碼,包括當前由另一線程執行的部分。
對於啟動、停止、控制和監視應用程式等任務, Process 組件是很有用的工具。使用 Process 組件,可以擷取當前啟動並執行進程的列表,或者啟動新的進程。 Process 組件用於訪問系統進程。初始化 Process 組件後,可使用該組件來擷取有關當前啟動並執行進程的資訊。此類資訊包括線程集、載入的模組(.dll 和 .exe 檔)和效能資訊(如進程當前使用的記憶體量)。
Dim pProcess() As Process
pProcess = Process.GetProcesses() '擷取當前所有進程
Dim All As Integer
Dim myArray() As String = _
{"Assembly View", "Anakrino", "Borg", "PEBrowse", "ProcessDasm", "VirtualCode", "Dasm", "IDA", _
"FrogsICE", "DriverWorkbench", "OllyDbg", "twx", "TRW", "SoftICE", "NTICE", "SICE", _
"API Monitor", "ApiHooks", "APIS", "API-Log", "APISpy", "ExeSpy", "File Monitor", "RegistryMonitor", "MemoryMonitor", "Regmon", "Regshot", "RegSnap", "RegSpy", "Res Spy", _
"crack", "破解", "sn", "SN"}
For All = 0 To pProcess.Length() - 1
For Kill As Integer = 0 To myArray.Length - 1
If InStr(pProcess(All).MainWindowTitle, myArray(Kill).ToString) Then
pProcess(All).Kill() '殺死Crack相關進程
End '退出軟體。這裡你還可以加上其他措施
'MsgBox(pProcess(All).MainWindowTitle)
End If
Next
Next