我一直在嘗試在vb.net中構建一個遊戲機器人。其中一個主要問題是訪問遊戲在屏幕上打印的文本,所以我一直在嘗試將遊戲調用掛接到windows api drawtext和textout函數。我一直在尋找如何在vb.net中設置一個很長時間沒有任何運氣的鉤子的例子。我發現不可能翻譯舊學校vb,C++和C#中的例子。爲了方便起見,我想使用免費的deviare和/或easyhook庫。誰能幫忙?掛鉤另一個程序的調用vb.net中的winapi函數
0
A
回答
0
easyhook庫
2
我發現基於埋在deviare論壇deviare掛鉤的dll工作vb.net代碼。
請記住在安裝deviare後添加在Visual Studio的添加引用頁面的com選項卡下找到的所有6個deviare引用。
Public Class Form1
'To print to a textbox in the gui you will have to call textbox.invoke
Private _mgr As Deviare.SpyMgr
Private WithEvents _hook As Deviare.Hook
Private _proc As DeviareTools.IProcess
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
_mgr = New Deviare.SpyMgr()
_hook = _mgr.CreateHook("user32.dll!ShowWindow")
_hook.Attach(_mgr.Processes)
_hook.AddProcessFilter(0, "notepad", 1)
_hook.Hook()
Private Sub OnFunctionCalled(ByVal proc As DeviareTools.IProcess, ByVal callInfo As DeviareParams.ICallInfo, ByVal rCall As Deviare.IRemoteCall) Handles _hook.OnFunctionCalled
Debug.Print("Caught function call in " & proc.Name) 'view in imediate window
End Sub
end class
1
我正在將Easyhook c#代碼轉換爲vb.net。此刻,我收到錯誤代碼5消息,並且掛鉤的應用程序正在被Windows關閉,例如幫助保護您的計算機等。如果有人能夠幫助解決此問題,我將不勝感激。我有什麼到目前爲止...
Imports EasyHook
Imports System
Imports System.Diagnostics
Imports System.Runtime.Remoting
Imports System.Windows.Forms
Imports System.Security
Imports System.Security.Principal
Namespace FileMon
Friend Class Program
' Methods
Public Shared Sub Main(ByVal args As String())
Dim result As Integer = 0
If ((args.Length <> 1) OrElse Not Integer.TryParse(args(0), result)) Then
Console.WriteLine()
Console.WriteLine("Usage: FileMon %PID%")
Console.WriteLine()
Else
Try
Try
Console.WriteLine("Registering Application")
Console.WriteLine()
Config.Register("A FileMon like demo application.", "FileMon.exe", "FileMonInject.dll")
Catch exception1 As ApplicationException
Console.WriteLine("This is an administrative task! " & exception1.ToString)
Console.WriteLine()
Process.GetCurrentProcess.Kill()
End Try
Console.WriteLine("Creating IPC Server")
Console.WriteLine()
RemoteHooking.IpcCreateServer(Of FileMonInterface)(Program.ChannelName, WellKnownObjectMode.SingleCall)
RemoteHooking.Inject(result, "FileMonInject.dll", "FileMonInject.dll", New Object() {Program.ChannelName})
Console.WriteLine("Injected")
Console.WriteLine()
Console.ReadLine()
Catch exception As Exception
Console.WriteLine("There was an error while connecting to target:" & exception.ToString)
End Try
End If
End Sub
' Fields
Private Shared ChannelName As String
End Class
End Namespace
和
Imports System
Namespace FileMon
Public Class FileMonInterface
Inherits MarshalByRefObject
' Methods
Public Sub IsInstalled(ByVal InClientPID As Integer)
Console.WriteLine("FileMon has been installed in target " & InClientPID)
End Sub
Public Sub OnCreateFile(ByVal InClientPID As Integer, ByVal InFileNames As String())
Dim i As Integer
For i = 0 To InFileNames.Length - 1
Console.WriteLine(InFileNames(i))
Next i
End Sub
Public Sub Ping()
End Sub
Public Sub ReportException(ByVal InInfo As Exception)
Console.WriteLine(("The target process has reported an error:" & InInfo.ToString))
End Sub
End Class
End Namespace
相關問題
- 1. 掛鉤WinAPI函數調用DLL
- 2. Deviarev2鉤API:掛鉤到現有的進程winapi調用?
- 3. WINAPI - 掛鉤
- 4. SetWindowsHooks掛鉤另一個程序
- 5. 通過mook的Winapi掛鉤導致程序崩潰或掛起
- 6. 掛鉤到另一個應用程序的wndproc?
- 7. 掛鉤在VB.NET中
- 8. 在掛鉤程序中訪問掛鉤
- 9. 掛鉤到另一個終端進程?
- 10. 單進程掛鉤函數
- 11. 掛鉤程序後無限調用
- 12. 掛鉤一個_userpurge函數C++
- 13. 在鉤子中調用一個函數
- 14. 調用另一個程序的類中的函數 - Python
- 15. 從vb.net中的另一個模塊調用函數
- 16. 在vb.net中調用另一個類的共享函數?
- 17. 掛鉤C函數
- 18. 與Moles在另一個進程中掛鉤的方法
- 19. 在另一個程序中調用另一個函數的全局變量
- 20. 從vb.net應用程序中的另一個應用程序調用方法
- 21. 在同一個Drupal模塊的掛鉤內調用鉤子
- 22. 如何在另一個應用程序中掛接api調用
- 23. 掛鉤到另一個應用程序中觀看內存使用
- 24. C#掛鉤到另一個dlls方法?
- 25. 如何掛鉤wordpress中的函數
- 26. 掛鉤在node.js中的函數
- 27. 在另一個函數的調用中調用函數
- 28. 在PL/PGSQL的另一個函數中調用一個函數
- 29. 從javascript中的另一個函數調用一個函數
- 30. 掛鉤我的應用程序
遊戲機器人......爲這遊戲? – 2011-06-20 00:02:52
在這種情況下,它是一個撲克機器人。 – mazoula 2013-09-06 10:22:11