dll注入的一种方式

原创 2013年12月05日 14:25:02

一下是dll文件的制作,在创建dll工程时,选择第一个“空工程”,然后新建两个新文件 分别是xxx.cpp xxx.def

xxx.cpp


xxx.def


这就是xxx.dll的制作过程,简单不?

xxx.cpp

新建一个MFC的对话框程序,其中对话框的主界面是


为+、-按钮生成响应事件 其源代码如下:

void CDll_LoadDlg::OnBtnAdd() 
{
	// TODO: Add your control notification handler code here
	HINSTANCE hInst=LoadLibrary("Dll_Create.dll");//显示加载Dll_Create.dll
	typedef double (_stdcall *ADDPROC)(double a,double b);//函数名字叫什么都可以,但要保持上下一致
	ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");//从Dll_Create中寻找名叫‘add’的函数,并在此程序中定义为‘Add’
	if(!Add)
	{
		MessageBox("获取函数地址失败");
		return;
	}
	UpdateData(TRUE);
	m_e=Add(m_1,m_2);
	UpdateData(FALSE);
	CString str;
	if(GetDlgItemText(IDC_S,str),str=="-")
	{
		SetDlgItemText(IDC_S,"+");
	}

	FreeLibrary(hInst);
	
	
}

void CDll_LoadDlg::OnBtnSub() 
{
	// TODO: Add your control notification handler code here
	HINSTANCE hInst=LoadLibrary("Dll_Create.dll");
	typedef double (_stdcall *ADDPROC)(double a,double b);
	ADDPROC Subtract=(ADDPROC)GetProcAddress(hInst,"subtract");
	if(!Subtract)
	{
		MessageBox("获取函数地址失败");
		return;
	}
	UpdateData(TRUE);
	m_e=Subtract(m_1,m_2);
	UpdateData(FALSE);
	CString str;
	if(GetDlgItemText(IDC_S,str),str=="+")
	{
		SetDlgItemText(IDC_S,"-");
	}
	FreeLibrary(hInst);
}

就此,对于dll的简单使用就终结了,这个例子最给我最深的感受是不用#include什么东西!!!!!

版权声明:开放

相关文章推荐

一种少见的Dll注入方式(基于MS 应用程序验证机制)

之前我转发了关于一篇Dll注入的文章:DoubleAgent: Zero-Day Code Injection and Persistence Technique 。文章中提到通过提供伪造的应用程序验...

以调试方式进行Dll注入

  • 2012年11月14日 12:22
  • 14KB
  • 下载

一种通用防SQL注入漏洞程序(Global.asax方式)

原理很简单:使用Global.asax中的Application_BeginRequest(object sender, EventArgs e)事件,实现表单或URL提交数据的获取,然后通过SQLI...

DLL劫持,注入DLL的一种方法

先转一篇文章:http://hi.baidu.com/e1mer/item/eae9381377ada2f3756a84b8 1.dll劫持,粗略整理了下,可以劫持的dll有(持续更新): ...

dll注入方式

方式一、 特点:只把DLL注入目标进程 New idea 在DLL,DllMain中调用一个设置HOOK的函数,   在此函数中,调用宿主进程的相关窗体查找的函数(g_hWnd),返回窗体线...
  • YL_WH
  • YL_WH
  • 2012年08月21日 21:03
  • 620

API hook原理和实例快速入门(inline hook),以dll线程注入方式使用(win7-64bit)

一个完整的hook,如果hook程序是以dll形式生成的,是分两步:1.完成dll本身的设计和生成,2.完成dll注入程序的设计和生成 本文完成第一步。 第二步在http://blog.csdn....
  • wxdvc
  • wxdvc
  • 2012年10月26日 15:55
  • 5645

火绒内核注入dll方式win7-win10通用x64下不触发PG

该思路理论上7到10通用.只不过jump函数不一样.PG不会被触发 看论坛的图 到16年7月.360也能注入一个DLL进去.至于其他游戏保护驱动什么的.我估计也一起躺下...

Ring3下的DLL注入工具 x86&x64(NtCreateThreadEx + LdrLoadDll方式实现,可以注入系统进程)

本文首发在吾爱破解:http://www.52pojie.cn/thread-429548-1-1.html DLL注入工具有很多,但是也有很多无法注入系统进程如explorer.exe,note...

(开源) Ring3下的DLL注入工具 x86&x64(NtCreateThreadEx + LdrLoadDll方式实现,可以注入系统进程)

工具介绍及使用请移步:http://blog.csdn.net/sunflover454/article/details/50441014 本文首发在零日安全论坛:http://www.jmpoep....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dll注入的一种方式
举报原因:
原因补充:

(最多只允许输入30个字)