在过去,我们使用CreateRemoteThread并将LoadLibraryA用作lpStartAddress的地址(该地址在所有进程中都相同).诀窍是使用VirtualAllocEx分配要注入的DLL名称,并将其用作lpParameter.实际上,您的线程使用您要注入的DLL名称调用LoadLibraryA.加载Dll时,将调用Dllmain,并且可以在附加dll的时间内在Dllmain中运行代码(DLL_PROCESS_ATTACH).

link在执行此操作时具有一些非常好的信息.但是,此技术依赖于Dllmain函数.如果可以使用Dllmain,则此机制可能会起作用.该文章的步骤摘要提供了一个概述:

现在,我们可以通过以下步骤总结该技术:

Retrieve a HANDLE to the remote process (OpenProces).

Allocate memory in the remote process's address space for injected data (VirtualAllocEx).

Write a copy of the initialised INJDATA structure to the allocated memory (WriteProcessMemory).

Allocate memory in the remote process's address space for injected code.

Write a copy of ThreadFunc to the allocated memory.

Start the remote copy of ThreadFunc via CreateRemoteThread.

Wait until the remote thread terminates (WaitForSingleObject).

Retrieve the result from the remote process (ReadProcessMemory or GetExitCodeThread).

Free the memory allocated in Steps #2 and #4 (VirtualFreeEx).

Close the handles retrieved in Steps #6 and #1 (CloseHandle).

我看到您对过多信息的评论.不确定我是否完全理解.但是Dllmain有一些限制,例如不能使用大多数Win32 API调用.有一些例外,一种是CreateThread.您是否考虑过拆线工作?如果在Dllmain中使用CreateThread,则它会被有效阻止,直到Dllmain退出.因此,一旦Dllmain返回,线程将执行.

怎么多次调用c语言dll,c-如何从注入到同一程序的另一个.dll中调用...相关推荐

  1. Iar环境c语言调用汇编函数,如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数?...

    我在硬故障处理程序中有一些程序集.程序集基本上是为了传递当前堆栈指针作为参数(在R0中).它看起来像这样...如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数? __asm(&quo ...

  2. ATL--创建简单的ATL之dll工程,添加类和类的接口并在MFC中调用

    资源打包 开发环境 Windows Server 2012 VS2010 Sp1 番茄助手 创建ATL简单dll工程 1.打开VS2010,新建ATL COM 项目,步骤:"文件" ...

  3. php controller 间调用,php – 在CodeIgniter中的另一个Controller中调用Controller函数

    我的codeigniter应用程序中有一个控制器"user".这个控制器有一个名为logged_user_only()的函数: public function logged_use ...

  4. shell实例第19讲:一个脚本中调用另一个脚本的3种方法

    在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...

  5. Html跨页面调用函数,一个cshtml如何在另一个cshtml中调用一个函数?

    在webmatrix中,我在App_Data中创建了一个带有许多公共静态函数的DAL.cshtml. 我想从其他文件夹中的另一个.cshtml页面调用它们. 我现在得到了 编译器错误消息:CS0103 ...

  6. php调用python绘图程序_如何在matlab中调用python程序

    现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令 ...

  7. uniapp调用c语言方法,使用uniapp开发的app/小程序需要注意:

    1.小程序顶部沉浸式导航部分高度默认为128rpx: 2.小程序不支持div,标签使用和uniapp一样: 3.在hbuilder中开启小程序运行,如果出现forceUpdate报错,可能是因为微信小 ...

  8. c语言怎样调用求根函数,编写函数求一元二次方程的根,并在main主函数中调用该函数 用c++编写...

    满意答案 sIXzVDhc 2014.01.10 采纳率:58%    等级:12 已帮助:7410人 #include #include void b1 () { float l,s,k; int ...

  9. java方法中与参数怎么调用,java中怎么从一个方法中调用另一个方法中的参数?(以及如何提取数字)...

    一.使用动态方法 public int comparisonOfTotalVehicles (WebDriver webDriver)throws InterruptedException{ WebE ...

最新文章

  1. 收藏 | 27个机器学习小抄(附学习资源)
  2. 多种方式测量AMP328频率响应
  3. android服务器压力测试,Android压力测试Monkey工具
  4. CodeForces - 833B The Bakery
  5. vue中checkbox 样式自定义重写;循环遍历checkbox,拿到不同的v-model绑定值;及获取当前checked 状态,全选和全不选等功能。...
  6. 天源迪科阿里云,打造卓越的数字化采购平台
  7. $_SERVER参数用法总结(php手册)
  8. 触发死锁怎么办?MySQL 的死锁系列:锁的类型以及加锁原理了解一下!
  9. 机器学习没有捷径,根据机器学习算法地图学习是最有效的一种方式!
  10. 从随机生成九宫格至随机生成数独游戏再至用回溯法实现数独的解
  11. 2019级软件工程应用与实践-人工智能快递柜(代码分析11)
  12. 哔哩哔哩2018校招前端笔试
  13. 【音视频基础】视频基础理论
  14. 《软技能》读书笔记——生产力篇
  15. FAST-LIO公式推导
  16. 2020第二周美赛感想
  17. 服务器r720按f几重装系统,联想拯救者r720按哪个键进入bios设置
  18. Java 高并发项目笔记
  19. 2021-08-04 TCP/IP协议栈简述
  20. MATLAB应用实战系列(七十一)-MATLAB实战应用案例:图像处理将灰度图片变成负片彩色图片转换成灰度图片

热门文章

  1. 要让玩家买单的facebook中文网
  2. you just 飞鸽传书2007绿色版 ever day for two years
  3. 统一归档助企业撑起信息的保护伞
  4. 双十一期间快递员凌晨送件 将下班程序员误认成小偷
  5. 经典面试题(6):NaN 是什么?如何测试一个值是否等于 NaN ?
  6. 一款非常好用的音乐标签及管理工具:Yate for Mac
  7. 第46课 精益求精 《小学生C++趣味编程》
  8. java两个对象赋值_一起学Java(二十六)----- 对象之间赋值
  9. Java学习之JDK的安装与配置
  10. c语言作业模拟虚拟内存,如何用c语言实现虚拟内存