偶然间发现的, 原本是想用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 }