毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

远程线程注入目标进程提示Access Violation

更新时间:2014-5-30:  来源:毕业论文

最近闲着无事,研究了一下远程线程注入方面的东西,结果,在实验时,目标进程老是提示Access Violation(非法访问)的错误,很郁闷,因此,来坛子请教一下大家:

先说一下我的实验过程,环境Win7旗舰版, SP1

线程函数执行代码,非常简单的一个执行语句
 
DWORD WINAPI RemoteProc(LPVOID lpParam)
{
    return 0;
}

1)、遍历系统进程表,找到我要注入的目标进程,使用OpenProcess()函数以所有权限打开目标进程,OpenProcess()返回成功(说明权限是没有问题的,显然后来反生的错误跟权限没有关系);

2)、调用VirtualAllocEx函数在目标进程地址空间中申请一块1024个字节大小的区域,并返回成功;

3)、调用WriteProcessMemory()将线程函数的执行代码拷贝到区域中 ( 这块考虑到VS编译器Debug模式下会开启【增量连接】功能,使用ILT对函数地址进行一个jmp操作,因此,关闭【增量连接】功能,后续调试发现,线程的执行代码确实正确拷贝到了目标进程的地址空间中,因此,错误不可能发生在这个环节的),

4)、调用hRemoteThrd = CreateRemoteThread()为目标进程创建一个远程执行,并传递RemoteProc函数指针,然后调用WaitForSingleObject()等待hRemoteThrd返回,最后做一些资源的释放工作

编写完后,关闭杀软,准备注入目标进程(我自己写的一个简单的目标程序),结果,目标程序却提示Access Violation错误,,后来在网上找到一篇帖子,里面提到了一个【基本运行时检查】,就是检查栈的指针,我也把这个选项给关了,结果再次实验,还是刚才的那个问题,比较郁闷,特来请教一下大家,帮忙分析一下呗!
需要注意的就是尽量用Release版,再就是远程 函数中不要调别的什么自定义函数,看起来都注意了 WIN7  系统是不是有什么保护机制?

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。