-
-
ldrloaddll的参数问题
-
发表于:
2015-10-16 18:49
9808
-
我在做一个CRackme程序,然后这个程序调用了 ldrloaddll这个函数,我在网上查这个需要四个参数,NTSYSAPI
NTSTATUS
NTAPI
LdrLoadDll(
IN PWCHAR PathToFile OPTIONAL,
IN ULONG Flags OPTIONAL,
IN PUNICODE_STRING ModuleFileName,
OUT PHANDLE ModuleHandle );
我这个程序里这四个参数分别是 (直接从堆栈复制出来的)
00000000
00000000
0012FEA0
0012FE9C
12fea0地址处
0012FEA0 18 00 18 00 FA 39 40 00 D0 88 57 80 D8 1D C1 28 ..?@.袌W€??
0012FEB0 00 00 00 00 00 00 00 00 10 EB C1 28 23 05 00 00 ........肓(#..
0012FEC0 E0 00 92 7C 00 00 92 7C 00 34 92 7C 23 05 00 00 ?抾..抾.4抾#..
(前面两次计算了kernel32.dll字符数,然后乘2,之后存在了这个地址)
12fe9c地址处
0012FE9C 00 00 00 00 18 00 18 00 FA 39 40 00 D0 88 57 80 ......?@.袌W€
0012FEAC D8 1D C1 28 00 00 00 00 00 00 00 00 10 EB C1 28 ??........肓(
0012FEBC 23 05 00 00 E0 00 92 7C 00 00 92 7C 00 34 92 7C #..?抾..抾.4抾
然后书上就说因为前面有kernel32.dll的名字,所以你就知道加载的哪个dll了,可是我完全不知道啊。虽然前面是计算了kernel32的字符数,但是这个函数的调用参数里完全没体现出kernel32啊!不知道哪里理解错了,求解释一下。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)