[原创]琢磨一种察看/修改C#堆中东西的方法(随笔)
来源:互联网 发布:隔音通风器 知乎 编辑:程序博客网 时间:2024/05/21 09:43
非正式的、不完善的、写着玩的、可能会引起.Net退出的方法:
namespace cscon
{
class root
{
public int i;
public int j;
/*public virtual int nuller(int a,int b)
{
return a + b;
}*/
}
class Program
{
static void Main(string[] args)
{
unsafe
{
root rt = new root();
rt.i = 999;
rt.j = 888;
fixed (int* i = &rt.i)
{
byte* b = (byte*)i;
b += 4;
int* j = (int*)b;
Console.WriteLine("rt.i:{0},rt.j:{1}", rt.i, rt.j);
Console.WriteLine("i:addr|{0:x}:{1}", (uint)i, *i);
Console.WriteLine("i:addr|{0:x}:{1}", (uint)j, *j);
(*j) = 5555;
Console.WriteLine("i:addr|{0:x}:{1}", (uint)j, *j);
Console.WriteLine("rt.i:{0},rt.j:{1}", rt.i, rt.j);
}
}
Console.Read();
}
}
}
{
class root
{
public int i;
public int j;
/*public virtual int nuller(int a,int b)
{
return a + b;
}*/
}
class Program
{
static void Main(string[] args)
{
unsafe
{
root rt = new root();
rt.i = 999;
rt.j = 888;
fixed (int* i = &rt.i)
{
byte* b = (byte*)i;
b += 4;
int* j = (int*)b;
Console.WriteLine("rt.i:{0},rt.j:{1}", rt.i, rt.j);
Console.WriteLine("i:addr|{0:x}:{1}", (uint)i, *i);
Console.WriteLine("i:addr|{0:x}:{1}", (uint)j, *j);
(*j) = 5555;
Console.WriteLine("i:addr|{0:x}:{1}", (uint)j, *j);
Console.WriteLine("rt.i:{0},rt.j:{1}", rt.i, rt.j);
}
}
Console.Read();
}
}
}
- [原创]琢磨一种察看/修改C#堆中东西的方法(随笔)
- (原创)一种用C#编写俄罗斯方块游戏的方法
- windows下察看程序中包含的库的方法
- windows下察看程序中包含的库的方法
- 一种察看网站alexa排名的新方法!
- 一种察看asp源代码的思路
- 一种察看asp源代码的思路(转贴)
- 一种软件开发的方法【原创】
- 修改图标的一种方法
- C#中实现读/写文件(一种常用的方法)...
- c#中调用JavaScript脚本函数的一种方法
- C#中一种可调用的异常处理方法
- C#中两个Form之间传值的一种方法
- C#获取mysql中记录的一种方法
- C#中获取系统时间的一种方法
- 在c#中使用opencv的一种方法
- [原创]微软BI专题-一种动态显示Matrix中Total背景颜色的方法
- C#中修改配置文件的方法
- 列拆分
- WSE 3.0 for Microsoft .NET文档翻译系列索引
- 71个做饭技巧
- 给技术焦虑者及狂热者的建议
- j2me
- [原创]琢磨一种察看/修改C#堆中东西的方法(随笔)
- div+css布局漫谈
- Windows 驱动:向 DbgPrintf 一样将调试信息输出到文件
- GridView使用大全
- ORACLE数据库管理员工作内容
- 使用 dom4j 解析 XML
- 探索Access数据库最佳NTFS权限设置
- 关于日期的正则表达式
- 国内外 JavaScript 经典封装