0x00
DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分
0x01
vs中新建一个fuch的工程并创建一个test.c的文件,编译生成fuch.exe
[C] 纯文本查看 复制代码 #include<stdio.h>
#include<stdlib.h>
#include<windows.h>
void test(char * ch)
{
MessageBoxA(0, "hehehe", ch, 0);
}
void main()
{
printf("%p", test);
while (1) {
Sleep(20000);
}
}
运行程序输出test函数地址
fuch.exe输出的地址
0x02
重新建一个命名为push的工程并创建go.c,属性中修改为dll文件
属性修改
[C] 纯文本查看 复制代码 #include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
_declspec(dllexport) void go()
{
void(*p)(char * ch) = 0xB71361;
//
p("hx");
while (1) {
p("hx");
Sleep(5000);
}
} 编译生成push.dll
0x03
运行fuch.exe文件
用dll注入工具把push.dll注入到fuch.exe内存中
这时会显示注入成功
test函数被循环调用
|