標 題:我用VB做了一份記憶體補丁。請大家鑑定。
發信人:藍星
時 間:2003年10月02日 08:32
詳細資訊:
這是一份我做的變臉王補丁。因為是演示功能,所以功能不多。
我感覺自己做補丁可以很好的解決一些軟體自啟動時自我檢測的問題。比如 這款變臉王我用keymaker等就做不出來好用的記憶體補丁。由於可以自己指定 程式所在路徑,所以可以不把補丁和被補程式放到一個路徑,這對於光碟這種的
程式很有好處。 有什麼問題和建議歡迎和我探討。 email: advice107@sohu.com
'本程式為變臉王4.1.0.0補丁,本補丁對滑鼠設定和桌面顏色設定進行了記憶體修改,使為註冊使用者可以進行多次修改.
'如有問題請和我聯絡.
'Email: advice107@sohu.com
' 宣告一些需要的變數
Dim pHandle As Long ' 儲存程式控制程式碼
Dim res As String 'res 為修改後的資料
Dim pid As Long ' 儲存程式識別符號( Process Id )
Private Sub gethwnd(proname As String)
Dim hwnd As Long ' 儲存 FindWindow 函式返回的控制程式碼
' 首先取得目標視窗的控制程式碼
hwnd = FindWindow(vbNullString, proname)
If (hwnd = 0) Then
MsgBox "沒有發現" + proname + "視窗!"
Exit Sub
End If
' 取得程式識別符號
GetWindowThreadProcessId hwnd, pid
' 使用程式識別符號取得程式控制程式碼
pHandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (pHandle = 0) Then
MsgBox "Couldn't get a process handle!"
Exit Sub
End If
End Sub
Private Sub Command1_Click()
Dim path As String
On Error GoTo exi:
path = Text1.Text + "\WinBeautician.exe"
'Shell "C:\My Documents\Windows變臉王\" '執行變臉王
Shell path
Call gethwnd("Windows變臉王")
'下面一次修改滑鼠
If Check1.Value = 1 Then '滑鼠設定
'把4D7F6B處修改成
res = "G" '修改資料修改成47H,因為"G"的AscII碼是47H,所以相當於把"G"放入此處.
'res可以設定成其他型別,如果哪位有其他修改方法,還請告訴我,在此謝過.
WriteProcessMemory pHandle, &H4D7F6B, res, 1, 0& '變臉王滑鼠設定
End If
If Check2.Value = 1 Then '桌面顏色設定
res = "u" '修改資料.把&H4E72C4處修改成75H
WriteProcessMemory pHandle, &H4E72C4, res, 1, 0&
res = "t" '修改資料.把&H4E72CA處修改成74H
WriteProcessMemory pHandle, &H4E72CA, res, 1, 0&
End If
' 關閉程式控制程式碼
CloseHandle pHandle
Exit Sub
exi:
MsgBox "出現錯誤,請按提示進行操作!", vbCritical, "警告"
End Sub
Private Sub Command2_Click()
MsgBox "本程式適用於變臉王4.1.0.0版本" + vbCrLf + "作者: NBW" + vbCrLf + "Email: advice107@sohu.com" + vbCrLf + "qq: 37122085", vbInformation, "關於"
End Sub