有一个Reflector.exe软件,可转换!!
网上google一下!!

解决方案 »

  1.   

    参考
    http://www.codeproject.com/KB/trace/minememoryreader.aspx
      

  2.   


    //try
    [System.Runtime.InteropServices.DllImportAttribute("kernel32.dll")]
    public static extern long ReadProcessMemory(
     long hProcess,object lpBaseAddress ,object lpBuffer ,
     long nSize , long lpNumberOfBytesWritten 
    );Public struct TBBUTTON 
    {
        Long iBitmap        ,
        Long idCommand      ,
        Byte fsState        ,
        Byte fsStyle        ,
        Byte bReserved1    ,  
        Byte bReserved2     , 
        Long dwData         , 
        Long iString 
    }       long lret = 
      ReadProcessMemory(hProcess, lAddress, udtTb, (long)udtTb.Length, 0) 
      

  3.   

    vb 的EXE 放到Reflector.exe 中看不到代码
      

  4.   

    [DllImport("Kernel32.dll")]
    public static extern bool ReadProcessMemory(ntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, UInt32 nSize, ref UInt32 lpNumberOfBytesRead);使用
    public byte[] Read(IntPtr handle,IntPtr address,UInt32 size,ref UInt32 bytes)
    {
    byte[] buffer = new byte[size];
    ReadProcessMemory(handle,address,buffer,size, ref bytes);
    return buffer;
    }
      

  5.   

    public static extern long ReadProcessMemory(
     long hProcess,object lpBaseAddress ,object lpBuffer ,
     long nSize , long lpNumberOfBytesWritten 
    );  这里用 object   就无法将TBBUTTON 转化为object . 我是这样写的
    public static extern long ReadProcessMemory(
     long hProcess, ref object lpBaseAddress , ref object lpBuffer ,
     long nSize , long lpNumberOfBytesWritten 
    );  
      

  6.   

    Fibona  你第三个参数是用byte[] 但是我这里是需要一个自定义的TBBUTTON. 这个如何写。