-
-
[原创].NET IL语言直接操作线性地址。
-
2009-11-17 17:42
6407
-
偶然间发现的, 原本是想用IL直接到线性地址去取数值,没想到真的可以。
IL指令是我HEX手动改的。 挺有意思的,放出来和兄弟们分享下。
以下这段指令输出PE 文件的头的4个字节的值。
.method /*06000001*/ private hidebysig static
int32 SquarePtrParam() cil managed
// SIG: 00 00 08
{
// 方法在 RVA 0x2050 处开始
// 代码大小 18 (0x12)
.maxstack 2
.locals /*11000001*/ init ([0] int32 t,
[1] int32* p,
[2] int32 CS$1$0000)
IL_0000: /* 00 | */ nop
IL_0001: /* 20 | 00004000 */ ldc.i4 0x400000
IL_0006: /* E0 | */ conv.u
IL_0007: /* 0B | */ stloc.1
IL_0008: /* 07 | */ ldloc.1
IL_0009: /* 4A | */ ldind.i4
IL_000a: /* 0C | */ stloc.2
IL_000b: /* 08 | */ ldloc.2
IL_000c: /* 00 | */ nop
IL_000d: /* 00 | */ nop
IL_000e: /* 00 | */ nop
IL_000f: /* 00 | */ nop
IL_0010: /* 00 | */ nop
IL_0011: /* 2A | */ ret
}
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界