比如把一个内存地址中的值读取出来然后直接修改掉。
完全没思路,不知是winform不好操作内存还是这领域我还尚未涉及....

解决方案 »

  1.   

    你只要能找到那地址就可以
    unsafe
    {
        int* p = (int*)地址;
        *p = 1;
    }
      

  2.   

    这个地址是如何赋值的呢
    地址是16进制的, 需要把16进制转int,然后再转int*? 
      

  3.   

    地址一般是32位的。16位的一般是offset,得通过base address计算出实际地址。
      

  4.   

    System . Runtime . InteropServices . Marshal 就是为所欲为
      

  5.   

    进制只是一种显示方式,本质还是数值,只要地址找对,直接就可以转换为合适类型的指针并操作。
    比如 32 位下 16 进制的地址 int* p = (int*)0x11111111;
      

  6.   

    哦,看错了,你说的是16进制。16进制和10进制只是人阅读时候的两种方式。C#约定,前面加0x的就是16进制。因此 int i = 0xA; int i = 0x000A; 和 int i = 10; 都是一样的。