createremotethread()远程注入dll

DLL注入练习之远程注入-CreateRemoteThread() 最近在学习Windows API,觉得其中的一些函数比较有意思,就把它记录下来了。 阅读详情

上一篇文章是转载的,主要是为了尝试远程注入dll。其实方法很多,好像《Windows核心编程》上有讲。

我来讲讲自己用过的方法吧。

大概说来就是运用createremotethread()来远程创建一个线程,然后利用线程的绑定函数来loadLibrary()一个dll,如果想在dll中做些操作的话,可以在dllmain()中的DLL_PROCESS_ATTACH case中去做一些操作。注意,这里在给这个线程绑定函数传参数的时候,因为这个线程通过createremotethread()在一个宿主进程的进程空间中分配了地址空间,所以在这里threadproc()(线程绑定函数)的参数也要用同样的方法在进程的地址空间中进行分配。具体的方法很多,比如利用struct等等。

还有另一个方法比较巧,因为他利用了LoadLibrary()的地址不变(这个说法可能不准确)的原理,在createremotethread()的时候就用LoadLibrary()函数做为线程的绑定函数,从而传递想要注入的dll的名字,通过LoadLibrary()来注入dll,而不用自己写线程绑定函数再来LoadLibrary(),后面在dll中要做的事情和上面一种差不多。这样一旦dll注入,就可以利用dll中的操作做很多事情了。

其他的方法因为我也没看过,所以还是不发言了,接下来还是继续学习下其他的注入方法。

 

 

PS:由于刚开始写blog,很多表达存在问题,若有不清楚的地方欢迎讨论。

《Windows PE》6.4.1 无 DLL远程注入 一旦你的ThreadFunc中有错误,远程线程会立即崩溃。这样,远程进程中的ThreadFunc就会执行不存在的内存数据(至少没有在它自己的内存空间中)。如果我们能够熟练的掌握汇编语言,当然也可以直接使用汇编语言编写一个无DLL注入的程序,毕竟使用汇编语言可以非常方便的直接对代码和数据进行重定位,这是C语言无法做到的。如果这个有争议的CALL是编译器添加的(因为一些不该打开的编译开关比如/GZ打开了),它要么在ThreadFunc的开头要么在ThreadFunc接近结尾的地方。 阅读详情

相关推荐

CreateRemoteThread注入API函数代码

原理:1,查找目标进程号,打开远程空间 2,在目标进程申请代码控件、参数空间 3,CreateRemoteThread执行远端线程

windows 注入 之 CreateRemoteThread

  钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。总感觉这是windows留下来的应用程序的后门之类的吧。   第一次接触这个,是刚来新公司,领导给了我一个任务,需要监听另外一个系统从串口获取的...

weixin_30247159的博客 317

hook_delphi_remote_createremotethread_hook_

create remote thread

简单HOOK流程

windows操作系统是以事件驱动,进程从消息队列获取到消息,做出不同的反应,如果我们在进程获取消息之前捕捉到了消息,对消息加以处理,在决定给不给进程发这个消息,就达到了对消息的掌控权,消息HOOK机制就是在系统消息队列和进程消息队列中而建立的一种机制。IAT注入的原理在于我们在进程中注入一个Dll时候,并使用它的函数,实际上实在使用数据目录表中导入的最后一项FirstThun,它表示我们加载函数的地址,如果修改了它,那么我们在调用函数的时候,就会调用我们自己的写函数地址。这样就达到了修改函数作用。

sinat_40572875的博客 1377

使用jsch和commons-pool2为sftp创建连接池

使用jsch和common-pool2为sftp创建连接池

文若书生的专栏 3280

FastAPI + React:现代 Web 前后端分离开发的全栈实践指南

• 部署:CI/CD 双流水线,前端 push → GitHub Actions → Cloudflare Pages;• 后端:分层结构 routers → services → repositories → models,单测覆盖率 90 %。• 接口缓存:Redis + FastAPI Depends 实现接口级缓存,读 QPS 提升至 5 k。• 前端:BFF 由 React Query 代理,统一缓存、重试、分页。GET /items/{id} 详情。,前端同学无需等 Mock 即可联调。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 1492

CreateRemoteThread函数

CreateRemoteThread函数 创建在另一个进程的虚拟地址空间中运行的线程。 使用CreateRemoteThreadEx函数创建在另一个进程的虚拟地址空间中运行的线程,并可选择指定扩展属性。 语法 HANDLE CreateRemoteThread( HANDLE hProcess, LPSECURITY_ATTRIBUTES lp...

believe_s的博客 3470

[STM32]HAL STM32F103 软件I2C读写MPU6050(附DMP库移植)

本文介绍了如何在STM32F103C8T6上通过I2C协议与MPU6050传感器通信并实现DMP功能。首先,使用STM32CubeMX配置项目,设置时钟和I2C接口。然后,编写软件I2C协议的读写函数与MPU6050交互。接着,移植DMP库并进行必要修改,获取加速度计和陀螺仪数据,并将其转换为欧拉角显示在OLED上。最后,利用Keil的逻辑分析仪监测I2C时序。

m0_56841583的博客 2321

HOOK API DLL 注入

 一、序言对大多数的Windows开发者来说,如何在Win32系统中对API函数的调用进行拦截一直是项极富挑战性的课题,因为这将是对你所掌握的计算机知识较为全面的考验,尤其是一些在如今使用RAD进行软件开发时并不常用的知识,这包括了操作系统原理、汇编语言甚至是关于机器指令代码的(听上去真是有点恐怖,不过这是事实)。当前广泛使用的Windows操作系统中,像Win 9x和Win NT/2K,都提供了

淡蓝色的帆 -编程空间 3735

PCB过孔电流承载解析:完整指南与数据参考

深入解析PCB过孔的电流承载能力,结合实际应用场景提供可靠设计参考。涵盖影响载流的关键因素,并整理实用的pcb过孔与电流对照一览表,帮助工程师优化布局与布线。

weixin_35677363的博客 630

【Python&RS】Rasterio库安装+基础函数使用教程

Rasterio是一个Python库,专门用于栅格数据的读写操作。它支持多种栅格数据格式,如GeoTIFF、ENVI和HDF5,为处理和分析栅格数据提供了强大的工具。RasterIO适用于各种栅格数据应用,如卫星遥感、地图制作等。这篇文章跟大家介绍一下Rasterio库的安装以及一些基本函数的使用教程,附带源码。

Remote Sensing迷途小书童 1万+

远程线程注入DLL到PC版微信

一、远程线程注入的原理 1、其基础是在 Windows 系统中,每个 .exe 文件在双击打开时都会加载 kernel32.dll 这个系统模块,该模块中有一个 LoadLibrary() 函数,可以将DLL文件加载到自身进程中。 2、这样,就可以用 CreateRemoteThread() 函数创建一个远程线程,让目标进程调用LoadLibrary() 来加载我们自己写的DLL 。CreateR...

weixin_45032957的博客 1236

避坑指南:Docker部署PaddleOCR-VL服务时,关于flash-attn安装、端口映射和模型加载的那些坑

本文详细记录了Docker部署PaddleOCR-VL服务时遇到的常见问题及解决方案,包括flash-attn安装、GPU兼容性检查、容器生命周期管理、模型加载优化等关键环节。特别针对不同GPU架构提供了flash-attn的安装策略,并分享了端口映射、配置文件处理等实用技巧,帮助开发者高效避坑。

weixin_33686714的博客 463

DLL卸载(创建远程线程卸载强制注入的dll)

DLL卸载 实际上我觉得应该改名叫:创建远程线程卸载强制注入的dll 一:工作原理 驱使目标进程调用FreeLibrary() API,和CreateRemoteThread() API来创建远程线程从而实现dll注入的方法类似,这个也是将FreeLibrary() API的地址传递给CreateRemoteThread()的lpStartAddress参数,并将要卸载的DLL的句柄传递给lpParameter参数。 注:每个windows内核对象都拥有一个引用计数,代表对象被使用的次数。每调用一个Load

m0_51713041的博客 1452

【AI应用实战-WorkBuddy】WorkBuddy 能帮你做什么(一)

文章摘要: WorkBuddy是一款AI工作助手,专为提升效率而设计,适用于经常处理文档、代码、数据分析等重复性任务的职场人士。它能通过自然语言交互快速完成五大核心场景任务: 周报撰写:输入工作要点,10分钟生成专业周报; 代码调试:解析报错信息,3分钟提供解决方案; Excel分析:自动计算数据趋势并生成图表和结论; 自动化脚本:将重复流程转为脚本,节省98%时间; 文档生成:根据代码自动补充README、API文档和注释。 效果对比:传统手动操作耗时1-3小时的任务,WorkBuddy可将时间缩短至10

345

33、密码学中的选择密文攻击与Cramer - Shoup加密方案

本文详细介绍了密码学中选择密文攻击的背景及其对Cramer-Shoup公钥加密方案的影响。该方案在决策Diffie-Hellman假设和抗碰撞哈希函数的基础上,能够有效抵御自适应选择密文攻击,并且其安全性无需依赖随机预言机模型。文章还分析了Cramer-Shoup方案的设计原理、加密与解密过程,以及其在标准假设下的安全性证明方法。此外,通过一系列相关练习,帮助读者进一步理解密码学概念如密文不可区分性、ElGamal加密、Goldwasser-Micali方案等。最后,文章展望了密码学的未来发展趋势,包括量子

vscode6remote的博客 99

【逆向】【Part 3】DLL注入

目录 一、通过自制调试器来理解其原理 1.调试器的工作原理 实现反汇编功能(重点) 重点分析exception_debug_event 重点:1.对调试器程序增加异常处理操作功能,核心API,CONTEXT结构 二、DLL注入 重点:2.DLL注入的三种基本方法 1.利用全局消息钩子(Windos消息钩取( SetWindowsHookEx() API )) 2.写注册表 3...

lanlanla的成长历程 2221

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Dll注入技术之远程线程注入

DLL注入技术之远线程注入 DLL注入技术指的是将一个DLL文件强行加载到EXE文件中,并成为EXE文件中的一部分,这样做的目的在于方便我们通过这个DLL读写EXE文件内存数据,(例如 HOOK EXE文件中的API),或以被注入EXE的身份去执行一些操作等等。 远线程注入原理是利用Windows 系统中CreateRemoteThread()这个API,其中第...

weixin_34087503的博客 206

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

我的使用createremotethread控制excel右键的源程序

利用CreateRemoteThread将dll写进excel.exe.利用SetWindowLong()改变excel中右键消息。dll源程序:#include BOOL __stdcall DllMain(HANDLE,DWORD,LPVOID){ return TRUE;}/*#pragma data_seg("shared")#pragma data_seg()#pragma comm

ZHENG017的专栏 5110

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

详细解读:远程线程注入DLL到PC版微信

一、远程线程注入的原理   1、其基础是在 Windows 系统中,每个 .exe 文件在双击打开时都会加载kernel32.dll 这个系统模块,该模块中有一个 LoadLibrary() 函数,可以将DLL文件加载到自身进程中。   2、这样,就可以用 CreateRemoteThread() 函数创建一个远程线程,让目标进程调用LoadLibrary() 来加载我们自己写的DLL 。C...

weixin_30636089的博客 711

[转载]Dll注入技术之劫持进程创建注入

转自:黑客反病毒 DLL注入技术之劫持进程创建注入 劫持进程创建注入原理是利用Windows系统中CreateProcess()这个API创建一个进程,并将第6个参数设为CREATE_SUSPENDED,进而创建一个挂起状态的进程,利用这个进程状态进行远程线程注入DLL,然后用ResumeThread()函数恢复进程。1.创建挂起的进程 下面是创建一个挂起的计算器程...

angbagangzhe065140的博客 179

DLL注入技术之劫持进程创建注入

正规主题 作者: xusir98 日期: 2013-06-03 来源: 黑客反病毒 (http://bbs.hackav.com) 出处: 黑客反病毒 (http://bbs.hackav.com) 注意: 转载请务必附带本组信息,否则侵权必究! DLL注入技术之劫持进程创建注

潜心学习 2409

CreateRemoteThread远程线程注入dll到游戏

远程线程注入是指通过CreateRemoteThread在目标进程创建一个线程,然后加载注入我们的DLL,由于易语言只能编译32位DLL,所以我们只能注入到32进程,本课录制视频分为3个课时,第一课时主要完成线程注入的主程序。 远程线程注入 .版本 2 .支持库 spec 模块名称 = 编辑框1.内容 ' 1、 获取游戏进程句柄,0表示不继承句柄 进程句柄 = OpenProcess (2035711, 0, 到数值 (编辑框2.内容)) .如果真 (进程句柄 = 0) 信息框 (“打开进.

511遇见 4405

DLL注入之CreateRemoteThread法

基本步骤 获取目标进程句柄 将要注入的dll路径写入目标进程内存 获取LoadLibraryW()API地址 在目标进程中运行远程线程 代码 stdafx.h: #if !defined(AFX_STDAFX_H__BDB235D7_5A28_46BE_B3ED_30F25A462A9A__INCLUDED_) #define AFX_STDAFX_H__BDB235D7_5A28_46B...

钞sir的博客 1万+

创建远程线程注入Dll——CreateRemoteThread

CreateRemoteThread是创建一个在其他进程的地址空间中运行的线程(也称远程线程)。其函数原型为:HANDLE WINAPI CreateRemoteThread( __in HANDLE hProcess, __in LPSECURITY_ATTRIBUTES lpThreadAttributes, __in SIZE_T dwStackSize, __in LPTHREAD_STA...

拉塞尔的博客 1215

易语言远程线程注入DLL到游戏

远程线程注入CreateRemoteThread通过获取注入目标进程的句柄,把我们的DLL注入到目标进程内存地址,远程线程的意思是另一个进程中的线程,并非远控的意思,也就是远程线程注入是指一个进程在另一个进程中创建线程的技术, 下面我们先看一下步骤: 1、获取游戏进程句柄,0表示不继承句柄 2、在远程进程中(游戏进程中)申请内存空间,用来存放模块路径 3、WriteProcessMemor...

511遇见 9778
上一篇: createremotethread讲解(转)
下一篇: 花指令介绍
开发随笔
博客等级 码龄19年 6粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值