如何让没有源码的exe程序加载自己的DLL? 参考:http://blog.csdn.net/zhoujiaxq/article/details/18656951 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 目标进程如果有窗口的话可以通过在dll里通过SetWindowsHookEx创建消息钩子进行注入,目标进程没有窗口的话可以通过远程线程的方式进行注入。 dll注入代码:http://www.cnblogs.com/yincheng01/archive/2009/04/14/2213343.html 我是这样理解的,如果在DLL里通过SetWindowsHookEx来创建消息钩子,那么是需要有程序来调这个DLL的,这样的话,还需要再写个程序来让DLL完成创建消息钩子的动作吗? 我是这样理解的,如果在DLL里通过SetWindowsHookEx来创建消息钩子,那么是需要有程序来调这个DLL的,这样的话,还需要再写个程序来让DLL完成创建消息钩子的动作吗?嗯。 对的。创建消息钩子之后如果目标进程有活动窗口就会自动加载上你的dll,你可以在dll的入口dllmain中判断是否是你想注入dll的进程,如果不是就返回FALSE,这样就能注入到目标进程了。 非常gan我是这样理解的,如果在DLL里通过SetWindowsHookEx来创建消息钩子,那么是需要有程序来调这个DLL的,这样的话,还需要再写个程序来让DLL完成创建消息钩子的动作吗?嗯。 对的。创建消息钩子之后如果目标进程有活动窗口就会自动加载上你的dll,你可以在dll的入口dllmain中判断是否是你想注入dll的进程,如果不是就返回FALSE,这样就能注入到目标进程了。再问下,“生成注入模块DLL的路径全名”,这句在WinMain里的注释是什么意思呢?那个链接里的程序,应该是调用已经写好的DLL时的程序吧? 非常gan我是这样理解的,如果在DLL里通过SetWindowsHookEx来创建消息钩子,那么是需要有程序来调这个DLL的,这样的话,还需要再写个程序来让DLL完成创建消息钩子的动作吗?嗯。 对的。创建消息钩子之后如果目标进程有活动窗口就会自动加载上你的dll,你可以在dll的入口dllmain中判断是否是你想注入dll的进程,如果不是就返回FALSE,这样就能注入到目标进程了。再问下,“生成注入模块DLL的路径全名”,这句在WinMain里的注释是什么意思呢?那个链接里的程序,应该是调用已经写好的DLL时的程序吧?就是获取要加载dll的全路径,这里是通过GetCurrentDirectory获取当前exe所在文件夹的,这里不太严谨,因为CurrentDirectory是可变的,通过GetModuleFileName获取更好。 那请问在获取动态链接库函数地址那里的GetModuleHandle是获得哪个动态库的地址呢? 那请问在获取动态链接库函数地址那里的GetModuleHandle是获得哪个动态库的地址呢?GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。 那请问在获取动态链接库函数地址那里的GetModuleHandle是获得哪个动态库的地址呢?GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。也就是说,是写我要注入的DLL的名字就可以是吗? 那请问在获取动态链接库函数地址那里的GetModuleHandle是获得哪个动态库的地址呢?GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。已经明白了,谢谢 那请问在获取动态链接库函数地址那里的GetModuleHandle是获得哪个动态库的地址呢?GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。也就是说,是写我要注入的DLL的名字就可以是吗?不是,代码里的那个意思是获取系统dll kernel32模块的LoadLibrary作为远程线程的执行函数,这么做的意义在于在目标进程创建远程线程后调用LoadLibrary加载你想注入的dll。 CreateRemoteThread注入目标进程,然后加载你的DLL 如何动态创建CListCtrl CEdit 怎么获取数值? 一个小问题 出现Please specify the executable file对话框的问题,请问如何解决呢?? 买了3CD的MSDN2003一月版,装机的时候怎么提示把1CD放入光驱?? 菜鸟提问,估计大家都会,指点一下 为什么我的vc6.0总是安装不成功? 为什么Debug的时候,按F11也没法进入MFC代码中去呢?以前可以的。(不帮我就去自杀) webbrower控件不接收拖放 我用自己POP3类收到信后是下面的码,不知怎么解出来呢? ATL控件全屏显示异常 windows窗口边缘阴影算法的原理
dll注入代码:http://www.cnblogs.com/yincheng01/archive/2009/04/14/2213343.html
嗯。 对的。创建消息钩子之后如果目标进程有活动窗口就会自动加载上你的dll,你可以在dll的入口dllmain中判断是否是你想注入dll的进程,如果不是就返回FALSE,这样就能注入到目标进程了。
嗯。 对的。创建消息钩子之后如果目标进程有活动窗口就会自动加载上你的dll,你可以在dll的入口dllmain中判断是否是你想注入dll的进程,如果不是就返回FALSE,这样就能注入到目标进程了。
再问下,“生成注入模块DLL的路径全名”,这句在WinMain里的注释是什么意思呢?那个链接里的程序,应该是调用已经写好的DLL时的程序吧?
嗯。 对的。创建消息钩子之后如果目标进程有活动窗口就会自动加载上你的dll,你可以在dll的入口dllmain中判断是否是你想注入dll的进程,如果不是就返回FALSE,这样就能注入到目标进程了。
再问下,“生成注入模块DLL的路径全名”,这句在WinMain里的注释是什么意思呢?那个链接里的程序,应该是调用已经写好的DLL时的程序吧?
就是获取要加载dll的全路径,这里是通过GetCurrentDirectory获取当前exe所在文件夹的,这里不太严谨,因为CurrentDirectory是可变的,通过GetModuleFileName获取更好。
GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。
GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。
也就是说,是写我要注入的DLL的名字就可以是吗?
GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。
已经明白了,谢谢
GetModuleHandle获取的是已加载的模块句柄,第一个参数是模块名。
也就是说,是写我要注入的DLL的名字就可以是吗?
不是,代码里的那个意思是获取系统dll kernel32模块的LoadLibrary作为远程线程的执行函数,这么做的意义在于在目标进程创建远程线程后调用LoadLibrary加载你想注入的dll。