2010-11-24 3 views
-1

WriteProcessMemoryの値はintです。int値のWriteProcessMemory

+9

非常に注意してください。 –

+2

なぜC#でwriteprocessmemoryを呼びますか、何を達成しようとしていますか? –

+0

@Hans Passant私は床に転がっています:) –

答えて

1

:その場合は。ゲームのハンドルと変更したい値のアドレスを知る必要があります。

public class Cheat 
{ 
    [DllImport("kernel32.dll",SetLastError = true)] 
    static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte [] lpBuffer, uint nSize, out int lpNumberOfBytesWritten); 

    public static void SetPort(IntPtr GameHandle, IntPtr WriteAddress, int i) 
    { 
     var array = BitConverter.GetBytes(i); 
     int bytesWritten; 
     WriteProcessMemory(GameHandle, WriteAddress, array, (uint)array.Length, out bytesWritten); 
    } 
{ 
0

質問を拡大する必要があると思います。あなたはそのメソッドのP/Invoke署名を探していますか?私はあなたには、いくつかの値にゲームのint(?ポート)を設定しようとしていると仮定し、あなたのノートを1として

http://www.pinvoke.net/default.aspx/kernel32.writeprocessmemory