首页 > 试题广场 >

下面哪些方法可以在应用层中简单的跨进程DLL注入。

[不定项选择题]
下面哪些方法可以在应用层中简单的跨进程DLL注入。
  • CreateRemoteThread + LoadLibraryA/W
  • SetWindowsHook/SetWindowsHookEx
  • OpenProcess + GetProcAddress
  • QueueUserAPC + LoadLibraryA
推荐
1、CreateRemoteThread + LoadLibraryA/W
2、SetWindowsHook/SetWindowsHookEx
3、QueueUserAPC + LoadLibraryA

编辑于 2014-12-05 10:27:11 回复(0)
DLL注入,即,把一个DLL文件放到目标进程中。
当一个进程的程序不是自己编写的,而我们又需要该程序加载指定的dll,以便进行某些操作,这是就需要dll注入。
当一个进程加载dll时,dll被映射到该进程的地址空间。dll注入的最大目的,进入目标进程的地址空间,这样就可以操作目标进程中的对象了。
注入方式:
1.远程线程注入步骤(假设事先写好DLL文件)
OpenProcess()   //获取已知进程的句柄;
VirtualAllocEx()   //在进程中申请空间;
WriteProcessMemory()   //向进程中写入东西;
GetProcAddress()   (LoadLibrary())//取得函数在DLL中的地址,动态加载DLL;前为UNICODE版本
CreateRemoteThread()   //在目标进程中创建远程线程;
CloseHandle()   //关闭句柄;
2.利用hook注入。
Hook技术是基于windows消息机制的。如果 给某个消息安装了Hook,当该消息发生时,会先调用Hook函数。
1.进程B中的一个线程准备向一个窗口post一条消息。
2.系统检查该线程是否已经安装了WH_GETMESSAGE Hook,检查结果为确实安装了这种Hook。
3.进程B准备调用Hook函数,即GetMsgProc函数。但是该函数在MyDll.dll中,而MyDll.dll并没有加载到进程B。
4. 进程B加载MyDll.dll。
5.调用GetMsgProc函数
发表于 2016-10-17 10:06:29 回复(0)
所谓DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分;要实现DLL注入,首先需要打开目标进程。
发表于 2020-03-13 22:47:28 回复(0)
成功绕开了正确的答案
发表于 2019-03-04 08:02:10 回复(0)
xxj头像 xxj
利用钩子线程等方式      1.远程线程注入。      2.利用hook注入。(可以过卡巴斯基)

发表于 2014-12-11 11:32:45 回复(0)

3.APC(异步过程调用)注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,其具体流程如下:

   1)当EXE里某个线程执行到SleepEx()或者WaitForSingleObjectEx()时,系统就会产生一个软中断。

   2)当线程再次被唤醒时,此线程会首先执行APC队列中的被注册的函数。
   3)利用QueueUserAPC()这个API可以在软中断时向线程的APC队列插入一个函数指针,如果我们插入的是Loadlibrary()执行函数的话,就能达到注入DLL的目的。

发表于 2018-08-08 17:15:07 回复(0)
阿什顿是
发表于 2014-12-04 17:19:28 回复(0)

CreateRemoteThread + LoadLibraryA/W 远程线程注入,它通过在目标进程中创建远程线程,并使其执行恶意代码来加载和执行DLL。

SetWindowsHook/SetWindowsHookEx 挂钩技术

QueueUserAPC + LoadLibraryA APC注入,APC(Asynchronous Procedure Call)Windows操作系统提供的一种机制,允许一个线程向另一个线程的用户模式执行队列中插入一个异步执行的回调函数,将它与加载动态链接库动作结合,可以实现DLL注入

编辑于 2024-02-26 22:35:46 回复(0)
xxj头像 xxj
利用钩子线程等方式
发表于 2014-12-11 11:31:50 回复(0)
xxj头像 xxj
if (strstr (“Hello, World!”, “d”) != NULL))
    exitProcess(1);
exitProcess (0);
发表于 2014-12-11 11:30:51 回复(0)
xxj头像 xxj

通过钩子 线程等方式

发表于 2014-12-11 11:30:11 回复(0)