8.使用C语言编写代码将函数注入到32位程序中
[toc]
使用c语言将C语言函数注入到x86程序中
1.用c语言写一个弹出消息框MessageBoxA的程序
- 在项目中属性->高级->随机基地址中选择关闭
- 代码如下
1 | //message.c |
3.编译后运行查看结果
2. 用c语言写一个注入内联x86汇编指令的程序
1.完善Hello,World程序,打印出函数地址与进程pid
1 | //message.c |
编译后运行查看结果
2. c语言编写完整代码并运行
- 注意:注入C语言代码与注入机器指令不同,经测试,注入C语言代码需要在vs2022中将项目设置为Release,Debug模式下会失败,原因还未知
运行Message程序查看Pid与函数地址
将以下三句汇编代码写在C语言函数中
1 | mov edx, 0x00401040 |
- 编写完整代码
1 | //main.c |
- 编译运行后成功注入
不同写法的函数注入记录
1. 将内联汇编写到裸函数中再进行注入
步骤同上,main.c代码如下
1 |
|
2. 将汇编指令与C语言代码写在不同文件中在进行注入
步骤同上,代码如下
main.c
1 | //main.c |
AsmAddSun.asm
1 | ;AsmAddSun.asm |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
