Hi,
ich hab hier noch den Loader von lolkop (wurde in AutoIT geschrieben) für private Silkroad Server und ich wollte den mal in VB.NET nachbauen, jedoch komme ich an einer Stelle nicht weiter:
Wenn ich nun Silkroad über das Tool starte, dann wird sofort die MsgBox angezeigt (und auch "Please execute Silkroad.exe", weil ich die MsgBox durch was anderes ersetzt habe (memwrite), aber das ist gerade egal).
Nun habe ich es mal versucht in VB.NET nachzumachen, jedoch klappt das nicht, mein Code zurzeit:
Wenn ich es nun ausführe passiert nichts, keine MsgBox, aber auch keine Fehlermeldung..
Vielleicht kann mir ja jemand helfen, der sich mit beiden Sprachen auskennt...
ich hab hier noch den Loader von lolkop (wurde in AutoIT geschrieben) für private Silkroad Server und ich wollte den mal in VB.NET nachbauen, jedoch komme ich an einer Stelle nicht weiter:
Code:
If memread($mid, 0x633D00, 'byte[2]') = '0x7547' Then
'irgendwas machen, z.B. eine MsgBox anzeigen
EndIf
'Hier noch die memread Funktion:
Func memread($mid, $adress, $type = 'dword')
Local $struct = DllStructCreate($type)
DllCall($kernel32, 'int', 'ReadProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', '')
Return DllStructGetData($struct, 1)
EndFunc ;==>memread
Nun habe ich es mal versucht in VB.NET nachzumachen, jedoch klappt das nicht, mein Code zurzeit:
Code:
Dim meinProzess As Process() = Process.GetProcessesByName("sro_client")
Dim Silkroad_Online As Process = meinProzess(0)
Dim mid As IntPtr = OpenProcess(&H10, False, CUInt(Silkroad_Online.Id))
Dim bytes As Byte() = New Byte(2) {}
If ReadProcessMemory(mid, &H633D00, bytes, 2, 0) = &H7547 Then
'hier nun z.B. die MsgBox anzeigen
End If
Vielleicht kann mir ja jemand helfen, der sich mit beiden Sprachen auskennt...