IntPTR ?? Wo ist der Fehler ?? Bitte um Hilfe

  • VB.NET

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Also hier ist der Code :

    VB.NET-Quellcode

    1. <Runtime.InteropServices.DllImport("kernel32", EntryPoint:="OpenProcess", CharSet:=Runtime.InteropServices.CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
    2. Private Function MTKGWNGPVD(ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    3. End Function
    4. 'In der Sub :
    5. Dim ptr As IntPtr = DirectCast(Module1.MTKGWNGPVD(&H1F0FFF, 0, processesByName(0).Id), IntPtr)
    Das bringt sehr viel, wenn man nicht weiß, was hinter der Funktion "MTKGWNGPVD" steckt.

    Ansonsten ist IntPtr einfach ein Interger Pointer, also ein Handle von einem Fenster oder anderne Objekten.

    Edit: Okay einfach beim Deklare der Dll statt "As Integer" nach "As IntPtr" umwandeln.
    Dannb rauchste auch kein Casten.
    Daanke..
    Und wie kann man das lösen ? :D

    VB.NET-Quellcode

    1. <Runtime.InteropServices.DllImport("kernel32", EntryPoint:="ReadProcessMemory", CharSet:=Runtime.InteropServices.CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
    2. Private Function VXCHMEDABE(ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByRef buffer As Single, ByVal size As Integer, ByRef lpNumberOfBytesRead As Integer) As Boolean
    3. End Function
    4. 'In der Sub
    5. Module1.VXCHMEDABE(hProcess, DirectCast(num, IntPtr), (Module1.GCLFCTZEQB), 4, (lpNumberOfBytesWritten))


    Der "num" ist der Fehler (Long)

    VB.NET-Quellcode

    1. <Runtime.InteropServices.DllImport("kernel32", EntryPoint:="ReadProcessMemory", CharSet:=Runtime.InteropServices.CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
    2. Private Function VXCHMEDABE(ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByRef buffer As Single, ByVal size As Integer, ByRef lpNumberOfBytesRead As Integer) As Boolean
    3. End Function


    habs übersehen....die Funktion "VXCHMEDABE" ist mir unbekannt...keine ahnung wocher du das raus gegraben hast.


    Support zu jede API Funktion findest hier:
    msdn.microsoft.com/en-us/library/aa383749(VS.85).aspx
    Die Funktionen sind nicht unbekannt - sie wurden nur umbenannt. Wenn jemand die Deklaration komplett gelesen hätte würde das auch klar sein - man schaue in Richtung "EntryPoint"...

    Die Beiden Funktionen OpenProcess und ReadProcessMemory, wie EasyCoder schon erkannt hat, sollen irgendwas an einem anderen Prozess verändern. Solange jedoch der Kontext unbekannt ist, ist keine Hilfe möglich. Der gepostete Code entspricht in etwa der Aussage "Nachts ist es kälter als draußen", und ist demnach nichtssagend.

    Edit: Ich hab das Programm gefunden. Es ist ein Cheat / Hack für ein Steam-Game. Ich sage nur: Der Programmierer verwendet sage und schreibe 37 Timer! :fail:
    uc-forum.com/forum/call-duty-6…tion-v2-silentrunner.html
    Gruß
    hal2000

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „hal2000“ ()

    Hi
    Integer ist kein IntPtr, Integer kann aus Integer konvertiert werden, was aber nicht mehr getan werden sollte, da Integer eine Ganzzahl mit der Größe 32 Bit (4 Byte) ist. Der Pointer dagegen ist auf 64 Bit Systemen eben 64 Bit groß, was Long entspricht. Long ist also eine 64 Bit (8 Byte) große Ganzzahl. IntPtr ist eine vom System abhängige Struktur, die also entweder 4 ODER 8 Bytes groß ist.

    ==> Code = epic fail, weil da statt CType DirectCast verwendet wird. Da braucht man auch nicht wochenlang danach suchen, sondern es steht ja bereits in der Fehlermeldung.

    Hoffe, dass du, wenn du einen Hack oder etwas ähnlich illegales bauen willst, gebannt wirst.

    Edit: Den Rest hat dir Dodo ja gesagt.

    Gruß
    ~blaze~
    LOL. Wie hast du das Programm gefunden ? :whistling:

    Ist schon richtig, aber wie bist du drauf gekommen das es genau das Programm ist ? :D

    @blaze : Der "Hack" ist für das Steam Spiel MW2 ABER er Funktioniert NUR Offline , Also kann nicht viel damit angefangen werden. Im Multiplayer kann man natürlich nichts verändern (was ich auch Unfair finde)... Ich will blos im Offline Match (gegen Bots) ein wenig Schummeln :D
    Und Offline ist das auch nicht illegal weil es keine Offline Heighscore giebt.




    ps: Es waren nur 27 Timer xD aber er hat es ja auch geschafft ? blos warum geht es bei mir nicht ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marvin“ ()

    Aha -.-
    Auf der Website steht : Nur für Privates Match
    Dass heist NICHT Online !
    Und was geht es dich an ob ich bei Steam im Multi oder Privat Modus einen Hack verwende ?
    Wenn ich gesehen werde , werde ich von Steam gebannt.. Also werde ich es auch nicht im Multiplayer
    Riskieren !!! Und was ich in MEINEM Singelplayer mache kann euch doch egal sein.
    Also reg dich nicht so auf :cursing:

    @samus : Schön das man es "kann" das heisst nicht das Ich es mache! Also ich werde es nicht riskieren.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marvin“ ()

    Ich hab schon Leute auf VAC-Servern hacken sehen, gebannt wurde da keiner, die hacken teils immer noch...
    Und übrigens, ja, mich geht es was an, wenn mir irgendein dreckiger Hacker meine Punkteliste versaut, weil er selber zu dumm ist, vernünftig zu spielen.
    Was du in deinem Singleplayer machst, ist mir egal. Solange man das ganze Konzept aber auf unser aller Multiplayer übertragen kann, ists zuviel.
    Das ist mir ehrlich gesagt egal, was du dafür kannst. :D (Auch wenn die richtige Antwort hier "nichts" wäre. ;))
    Trotzdem musst du von mir keine Hilfe erwarten, die Wahrscheinlichkeit ist mir hier wieder zu hoch.
    Edit: Frag doch in dem Forum, das hal2000 oben gepostet hat, vllt. kann dir da geholfen werden.