代码注入心得
来源:互联网 发布:软件开发项目进度表 编辑:程序博客网 时间:2024/04/30 15:53
完整的注入方法,请参考:http://www.cppblog.com/besterChen/archive/2009/02/15/73831.html
我的心得:
函数代码注入方法关键步骤:
一、WriteProcessMemeory将函数参数写入目标进程
二、WriteProcessMemeory将函数代码写入目标进程
三、CreateRemoteThread创建远程线程,在目标进程中调用寒素
下面是要注意的地方:
如果要注入一段函数代码,如
void func()
{
MessageBox();//(1)
}
那么MessageBox必须要通过取得地址传给函数,及(1)位置应该是个确定的函数地址值,
如果函数有参数,必须同样的传入的是地址,如MessageBox要有参数字符串,func中不能出现字符串,即不能再func中有这样的句子:MessageBox(“错误的方法”)。
--------------------------------------------------------------------
传递参数和函数地址的方法:
struct param
{
DWORD addr;//在func中要调用的函数地址
char szText[MAX_PATH]; //在func中要调用的函数的参数
}
填充参数
param pa;
pa.addr = (DWORD)GetProcAddress(hUser32, "MessageBoxA");
strcat(pa.szText[, "Hello\0");
pa即是一步骤中的参数
函数实现方法:
void func(param* pa)
{
typedef int (WINAPI *MESSAGEBOXA) (DWORD, LPCSTR, LPCSTR, UINT);
MESSAGEBOXA MessageBoxA;
MessageBoxA = (MESSAGEBOXA)pa->addr;
addr(NULL, pa->szText, NULL, NULL);
}
最后,
CreateRemoteProcess(hProcess, NULL, 0, func_addr, pa_addr, 0, NULL);
//hProcess是目标进程句柄,func_addr是二步中返回的地址,pa_addr是一步中返回的地址
- 代码注入心得
- 注入代码
- 代码注入
- 代码注入
- 代码心得
- 注入攻击-SQL注入和代码注入
- 通过远程线程注入DLL!心得!
- asp 防注入代码
- 远程线程注入代码
- 远程注入代码
- 防sql注入代码
- 进程注入代码
- php防注入代码
- 游戏进程注入代码
- DLL注入代码
- 网站防注入代码
- 代码安全 - SQL注入
- ASP防止注入代码:
- 第三周实验报告4修改版
- 位图
- 转:latex中文字体配置
- C++ Primer 第12章 习题12.8
- android按home键不能回到自定义主界面
- 代码注入心得
- Android Failed to allocate memory: 1455
- WPF多线程
- MSP430 延时总结
- Redhat smartd failed
- C#使用线程加载指定目录下的所有子目录和文件名称到TreeView中
- 继续迟到
- 我的配置
- C语言链表综合操作