本帖最后由 hackerbob 于 2022-5-22 09:23 编辑
源码如下,__asm中的为汇编代码,通过PEB获取kernel32.dll基址
获取这个基址有利于隐形调用api,用来编写shellcode,增加分析难度
我直接使用了B站上有人总结的公式,不然代码量更大
PEB结构体里面有几十个成员,这里只用了其中的几个
代码:
[C] 纯文本查看 复制代码 #include<stdio.h>
int main()
{
unsigned kjz;
__asm
{
mov eax,fs:[30h]
mov eax,[eax+0ch]
mov eax,[eax+14h]
mov eax,[eax]
mov eax,[eax]
mov eax,[eax+10h]
mov kjz,eax
}
printf("%u\n", kjz);
return 0;
}
结果:
|