• DLL 远程注入笔记


          学习Windows核心编程,特做此笔录,其实这两个月的学习笔记已经快一本日记本了,之后看看能否自己电脑上拿QQ开刀做实验。

          主要写一下远程注入的步骤:

          1、用VirtualAllocEx函数在远程进程中的地址空间分配一块内存;(防止找不到dll,导致远程进程崩溃)

          2、用WriteProcessMemory函数把DLL的路径名复制到第壹步分配的内存中;

          3、用GetProcAddress函数来得到LoadLibraryW或LoadLibraryA函数(在Kernel32.dll中)的 真实地址;(防止转换函数转换导入表查找函数,也是防止崩溃)

          4、用CreateRemoteThread函数在远程进程中创建一个线程,让新线程调用正确的LoadLibrary函数并在参数中传入第壹步中分配的内存地址,并在DLL的DllMain函数中做以下操作:当收到DLL_PROCESS_ATTACH通知并且可以执行我们想要的代码,当DllMain返回时,远程线程会从LoadLibraryW或LoadLibraryA调用返回BaseThreadStart函数,其调用ExitThread终止线程;

           5、用VirtualFreeEx来释放第壹步分配的内存;

           6、用GetProcAddress函数得到FreeLibrary函数(在Kernel32.dll中)的 真实地址;

           7、用CreateRemoteThread函数在远程进程中创建一个线程,让其调用FreeLibrary函数并在参数中传入远程DLL的HMODULE。

           好吧,开始着手编写.....

          

  • 相关阅读:
    071 Simplify Path 简化路径
    070 Climbing Stairs
    069 Sqrt(x) 求平方根
    067 Add Binary 二进制求和
    bzoj3295: [Cqoi2011]动态逆序对
    bzoj1598: [Usaco2008 Mar]牛跑步
    bzoj1492: [NOI2007]货币兑换Cash
    bzoj2683(要改一点代码)&&bzoj1176: [Balkan2007]Mokia
    bzoj2190: [SDOI2008]仪仗队
    bzoj3262: 陌上花开
  • 原文地址:https://www.cnblogs.com/bite_the_bullet/p/2490258.html
Copyright © 2020-2023  润新知