- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                自动内存驻留程序
                    课 程 设 计
       
题  目: 		自动内存驻留程序							
   
院、 系:计算机科学与技术学院 网络工程系
班    级:        		
学    号:      
姓  名:           
同组成员:     
指导教师:     
成    绩:    
2014年06月27日
一.系统设计的目标
编写程序,把指定代码注入相应程序中,达到操作简单,并且容易实现驻留在内存的目的,另一个目的是使注入程序在管理员不注意下不会轻易被发现,有一定的隐藏性。
二.系统原理:
	采用远程注入和动态链接库技术,把动态链接库注入到目标进程,让动态链接库在目标进程的内存中运行,从而达到驻留在内存的效果。
 
三. 系统功能分析:
这个程序较小,操作简单,非计算机专业的人员也容易执行,占用内存少,运行速度较快,方便对内存的注入,暂无发现不能容忍的bug,一般情况下能够正常运行,但是缺点在于容易被发现。
 
四.系统实现: 
详细设计
首先先编译动态链接库:
 
然后编译mfc:
 
最后先选择动态链接库的路径,然后选择相应的进程,双击它,再选择注入:
  
          
 
附录:
源程序代码:
//动态链接库中的代码:
DllProcess.h
#pragma once
#ifndef DEF_DLL_PORT
#define DEF_DLL_PORT _declspec(dllimport)
#endif
 
DllProcess.cpp
// DllProcess.cpp : 定义 DLL 应用程序的入口点。
//
 
#include stdafx.h
#define DEF_DLL_PORT _declspec(dllexport)
#include DllProcess.h
#include tchar.h
 
#ifdef _MANAGED
#pragma managed(push, off)
#endif
 
BOOL __stdcall MyCreateProcess(
				   LPCTSTR lpApplicationName,
				   LPTSTR lpCommandLine,
				   LPSECURITY_ATTRIBUTES lpProcessAttributes,
				   LPSECURITY_ATTRIBUTES lpThreadAttributes,
				   BOOL bInheritHandles,
				   DWORD dwCreationFlags,
				   LPVOID lpEnvironment,
				   LPCTSTR lpCurrentDirectory,
				   LPSTARTUPINFO lpStartupInfo,
				   LPPROCESS_INFORMATION lpProcessInformation
				   )
{
	return TRUE;
}
    
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
					 )
{
	switch(ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		MessageBox(NULL, _T(注入成功····~!), 0, 0);
		//自己想要运行的程序
		//···············
       //··············
		//…………………
		break;
	case DLL_PROCESS_DETACH:
		MessageBox(NULL, _T(卸载成功``````````````````````~!), 0, 0);
		break;
	}
    return TRUE;
}
 
#ifdef _MANAGED
#pragma managed(pop)
#endif
 
//源程序代码:
MFCEnter.h
// MFCEnter.h : PROJECT_NAME 应用程序的主头文件
//
 
#pragma once
 
#ifndef __AFXWIN_H__
	#error 在包含此文件之前包含“stdafx.h”以生成 PCH 文件
#endif
 
#include resource.h		// 主符号
  
// CMFCEnterApp:
// 有关此类的实现,请参阅 MFCEnter.cpp
//
 
class CMF
                 原创力文档
原创力文档 
                        

文档评论(0)