代码比较乱 不过还是好用的 DLL注入

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

// fuck of.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include <windows.h>
#include <stdlib.h>
#include <tlhelp32.h>
DWORD GetProcessId (LPSTR szProcName);
BOOL DllInject(DWORD dwProcessId, LPSTR lpszDllPath);
DWORD GetProcessId (LPSTR szProcName){
 PROCESSENTRY32 pProcess = {sizeof(PROCESSENTRY32)}; 
 HANDLE hSnapshot = CreateToolhelp32Snapshot (TH32CS_SNAPALL, NULL); 
 if(Process32First(hSnapshot, &pProcess) == NULL)  
 {return FALSE;} 
 do {if((strcmp(*(&szProcName), pProcess.szExeFile) == NULL))  
 {   CloseHandle(hSnapshot);   
 return pProcess.th32ProcessID;  
 } 
 }
 while (Process32Next(hSnapshot, &pProcess));  
 CloseHandle(hSnapshot); return FALSE;}
BOOL DllInject(DWORD dwProcessId, LPSTR lpszDllPath){  
 HMODULE hmKernel = GetModuleHandle("Kernell32.dll");  
 if(dwProcessId == NULL)    {    return FALSE;   }  
 HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);  
 if(hProcess == NULL)    {    return FALSE;   }   
 CHAR szPath[_MAX_PATH] = "";   
 GetCurrentDirectoryA(_MAX_PATH, szPath);
 strcat(szPath,  "//");   
 strcat(szPath,  lpszDllPath);   
 int nPathLen = strlen(szPath);   
 LPVOID lpvMem = (PVOID)VirtualAllocEx( hProcess, NULL, strlen(szPath), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);   
 WriteProcessMemory(hProcess, (PVOID)lpvMem, szPath, strlen(szPath), NULL);   
 HANDLE hThread = CreateRemoteThread(hProcess, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibraryA, (PVOID)lpvMem, 0, NULL);   
 DWORD dwWaitResult = 0, dwExitResult = 0; 
 if(hThread == NULL) {  return FALSE; }    
 dwWaitResult = WaitForSingleObject(hThread, 10000);   
 GetExitCodeThread(hThread, &dwExitResult);   
 CloseHandle(hThread);   
 VirtualFreeEx(hProcess, lpvMem, strlen(lpszDllPath), MEM_DECOMMIT | MEM_RELEASE); 
 CloseHandle(hProcess);    return ((dwWaitResult != WAIT_TIMEOUT) && (dwExitResult > 0));}
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
  // TODO: Place code here.
 DWORD dwProcess = GetProcessId("calc.exe");   
 DllInject(dwProcess, "inject.dll");  
 return 0;
}

 

大家不要干坏事呀!

c++实现dll注入其它进程 DLL注入其他进程技术 阅读本篇文章,需要有《线程注入其他进程技术》基础。 DLL注入技术才具有强大的功能和使用性,同时简单易用,因为DLL中可以实现复杂的功能和很多的技术。     技术要点: 1、宿主进程调用LoadLibrary,就可以完成DLL的远程注入。可以通过CreateRemoteThread将LoadLibrary作为宿主进程的一个线程来启动,就可以完成“控制目标进程调 阅读详情

相关推荐

DLL注入的多种方式

DLL注入的多种方式 注册表注入 在Windows NT/2000/XP/2003操作系统中,当需要加载user32.dll的程序启动时,user32.dll会加载注册表键HLM\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DIls下面列出的所有模块。 因此,可以将要注入的模块所在的路径写到AppInit_DIls 键下,待游戏进程启动并将外挂模块带人之后,再删除AppInit_DIls 键的值以清除痕迹,其核心函数如下: //定义

flowwaterdog的博客 3166

进行DLL注入的三种方法

进行DLL注入的三种方法

神经网络爱好者 1万+

[Win32] DLL注入技术

本博文由优快云博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处:http://blog.youkuaiyun.com/zuishikonghuan/article/details/47781883 DLL注入是什么?DLL注入是把指定的DLL加载到另一个进程的内存空间中去的技术。 为何要注入DLL?完成一些特殊目的,病毒把恶意代码隐藏在正常的宿主进程中,瞒天过

zuishikonghuan的博客 6129

14种DLL注入技术

本文只是介绍各个注入的核心思想,详细的可以参照文末链接里的源码,一看就明白。本文只是介绍各个注入的核心思想,详细的可以参照文末链接里的源码,一看就明白。本文只是介绍各个注入的核心思想,详细的可以参照文末链接里的源码,一看就明白。 第一种 CreateRemoteThread远程线程调用 DLL注入是指向某一个特定的进程空间强制插入一个特定的DLL文件映像,值得注意的是这种插入是强制性的插...

liuhaidon1992的博客 5675

深入了解DLL代码注入技术与工具实践

动态链接库(Dynamic Link Library,DLL)注入是一种高级技术,它允许开发者将一个动态链接库文件插入到一个运行中的进程中。DLL注入的目的是为了扩展或修改进程的功能,而无需重新启动目标进程或对原始程序进行任何修改。常见的应用场景包括但不限于:调试和测试、实现模块化插件系统、运行时代码修改、恶意软件的行为注入等。DLL注入技术在合法的软件开发和调试过程中非常有用,它可以用来动态添加或替换功能模块,实现热插拔,即在不停止服务的情况下更新系统功能。

weixin_28729843的博客 1193

CS5511芯片实战:如何用DP转LVDS驱动高刷显示器(附配置代码)

本文详细解析了CS5511芯片在DP转LVDS高刷显示器驱动方案中的应用,包括核心架构、寄存器配置、时序优化及典型问题排查。通过实战案例和配置代码,帮助开发者快速实现120Hz高刷新率显示,特别适合医疗影像和工业HMI等严苛场景。

m3n5b7v8c9x的博客 1075

详解最实用的几种dll注入方式

要谈dll注入,首先则要了解dll,对dll的概念和使用不熟悉的读者可移步所谓DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分。这样该进程和dll共享同一内存空间,这样dll可以使用该进程的所有资源,随时监控程序运行。通常,我们将需要实现的功能封装生成dll文件,然后将其注入到某一进程中,从而在该进程中添加或扩展我们需要的功能。因此dll注入技术被广泛运用在恶意攻击、游戏外挂、木马等程序中。.........

陈子青的博客 1万+

WSL2 + Open3D点云可视化踩坑全记录:从GLFW报错到VcXsrv配置,一篇讲清所有‘坑’

本文详细解析了在WSL2环境中使用Open3D进行点云可视化时遇到的常见问题,特别是GLFW报错和VcXsrv配置问题。通过系统性的解决方案和高级配置技巧,帮助开发者彻底解决图形显示、驱动加载和库版本冲突等难题,实现高效的点云可视化。

weixin_30627341的博客 101

DLL注入的8种姿势

目录 1、远程线程注入 2、APC注入 3、注册表注入 4、ComRes注入 5、劫持进程创建注入 6、输入法注入 7、消息钩子注入 8、依赖可信任进程注入 一、DLL注入——远程线程注入 https://blog.youkuaiyun.com/Cody_Ren/article/details/100041660 二、DLL注入——APC注入 APC注入...

VI___ 1万+

基于STM32的多参数水质检测仪系统 | 保姆式教程 开源可复刻

本项目基于STM32F103C8T6主控,搭配pH、TDS、浊度、水温四大核心水质检测模块,完整实现了多参数水质检测仪的全流程开发,从多通道ADC采集、数字滤波、温度补偿、专业校准、阈值报警到人机交互,全流程无跳步保姆式拆解,配套逐行注释可直接编译的开源代码,新手跟着步骤一步步操作,就能顺利完成项目复刻

ZhongWeiXiang9的博客 484

MacOS Intel芯片实战:Docker Compose一键部署Dify全流程解析

本文详细解析了在搭载Intel芯片的MacOS系统上,使用Docker Compose一键部署开源LLM应用开发平台Dify的全流程。内容涵盖环境准备、Docker配置与镜像加速、代码拉取与配置初始化、服务启动与问题排查,以及访问验证与初步探索,旨在帮助开发者快速在本地搭建私有化AI应用开发环境。

ik678901234的博客 619

dll注入技术

通过dll注入技术实现限制网瘾少年的目的!

Tandy12356_的博客 4864

F5 GTM DNS 实战指南:智能DNS的监控与健康检查机制

本文深入解析F5 BIG-IP GTM智能DNS的核心机制,重点阐述其监控与探针两大功能如何协同工作。监控器负责深度检查服务器应用健康,确保服务可用性;探针则实时测量网络路径质量,实现基于延迟的智能流量调度。文章通过实战配置步骤,指导如何构建逻辑架构、建立iQuery通信、配置业务级健康检查及探针,从而构建高可用、高性能的全局负载均衡解决方案。

weixin_29240711的博客 469

Dll注入

一、DLL注入概述 1.简介 DLL注入指的是向运行中的其他进程强制插入特定的DLL文件。从技术细节上来讲,DLL注入命令区别于其他进程自行调用LoadLibary()API加载用户指定的DLL文件。DLL注入与一般DLL加载的区别在于,加载的目标进程在自身还是在其他进程,正经的程序谁会去操作其他的进程空间呢? 2. 原理 DLL注入的工作原理是强制目标程序调用LoadLibary()函数加载dll文件,因此会强制执行DLLMain函数,同时,被注入的DLL拥有目标进程的内存访问权限从而实现一些有用的功能。

宗泽的博客 4477

GAN管CGH40010F设计宽带Doherty功放:如何用ADS搞定输入匹配、合路网络与功分器?

本文详细介绍了基于CGH40010F GaN晶体管的宽带Doherty功放设计流程,重点讲解在ADS平台中实现输入匹配网络、合路网络与功分器的关键技术。通过寄生参数补偿、渐变微带线设计和复合补偿结构等方法,解决了宽带化设计中的核心挑战,最终实现1.7-2.6GHz频段内72%的峰值效率和52%的回退效率。

weixin_42614269的博客 473

手把手教你为FPGA项目集成HyperRAM IP核:从AXI接口封装到上板调试全流程

本文详细介绍了如何为FPGA项目集成HyperRAM IP核,涵盖从AXI接口封装到上板调试的全流程。通过对比DDR3L、PSRAM和HyperRAM的性能指标,突出HyperRAM在低功耗和小封装尺寸方面的优势,并提供硬件连接、AXI4-Lite接口设计、状态机优化及调试技巧等实用内容,帮助开发者高效完成FPGA项目中的内存扩展。

weixin_32103009的博客 285

dll注入&代码注入

dll注入&代码注入 CreateRemoteThread 思路:在目标进程中申请一块内存并向其中写DLL路径,然后调用 CreateRemoteThread ,**(在自己进程中 创建远程线程到到目标进程)在目标进程中创建一个线程。**LoadLibrary()”函数作为线程的启动函数,来加载待注入的DLL文件 ,LoadLibrary()参数 就是存放DLL路径的内存指针. 这时需要目标进程的4个权限(PROCESS_CREATE_THREAD,PROCESS_QUERY_INFORMATION

weixin_45880501的博客 1860

Unity WebGL发布避坑指南:从内存设置到字体打包,一次搞定所有常见问题

本文详细解析Unity WebGL发布的完整流程,从内存设置到字体打包,提供全面的避坑指南。涵盖关键检查清单、内存与性能优化配置、资源处理专项优化及平台适配技巧,帮助开发者高效解决常见问题,确保项目顺利发布。

weixin_28693309的博客 147

DLL注入

DLL注入DLL注入原理dll注入实现过程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 DLL注入原理 在Windows操作系统中,运行的每一个进程都生活在自己的程序空间中(保护模式),每一个进程都认为自己拥有整个机器的控制权,

weixin_51313054的博客 7372

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Dll注入技术之劫持注入

Dll注入技术之劫持注入测试环境系统:Windows 7 32bit工具:FileCleaner2.0 和 lpk.dll主要思路利用Window可以先加载当前目录下的dll特性,仿造系统的LPK.DLL,让应用程序先加载我们的伪LPK.DLL,然后在我们的dll中去调用原来系统的原函数.引用网络中的原理讲解●背景知识●首先我们要了解Windows为什么可以DLL劫持呢?主要是因为Windows的...

Hades的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

驱动DLL注入,APC注入,驱动回调注入等实现详细流程及代码!

DLL注入有很多方法,远线程,钩子,输入法,劫持,APC等等。 现在的好多进程都有保护,特别是一些游戏有各种保护如TP TS HS NP CD GPK BE SG3等等保护,这样常规的注入方法就没效果了。 现在流行且稳定的注入方法一般都要用驱动来实现了,驱动注入,APC,回调等都可以用驱动注入。 驱动部分代码: #include "apc_inject_test.h" #include "asm_...

QQ1289671197的博客 7103

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

简单的DLL注入及代码详解

dll注入是一种常用的攻击方法,其大概步骤如下: 1,编译出一个DLL,这个DLL的DllMain里面负责搞破坏 2,打开一个目标进程(就是你要搞破坏的进程) 3,在打开的目标进程里面分配一块内存(它的用处是用于放我们要注入的dll名称) 4,得到Kernel32.dll里面的LoadLibraryA的地址(注意,Kernel.dll是内核空间里面的,所以,在所有的进程里面,它的地址都一样

科学家的世界 2748

Dll注入技术之驱动注入

Dll注入技术之驱动注入 0x0 技术简介 实现环境 系统:Windows 7 64bit 工具:VS+WDK 驱动注入 我这里驱动注入的技术是:采用驱动向目标进程插入APC执行LdrLoadDll函数加载Dll模块。 可以注入64位Dll到64位进程或注入32位Dll到32位进程。暂时没有实现跨位数。 APC(异步过程调用)是一种内核机制,它提供了一种在特定线程上下文中执行定制例...

Hades的博客 1万+

进程注入之DLL注入

前言DLL注入是我在大一的时候接触的一种技术,那时候还不懂,最近结合小程序详细的理解了一下。DLL注入是将代码注入到一个远程进程中,并让远程进程调用LoadLibrary()函数,从而强制远程进程加载一个DLL程序到进程中。而当DLL被加载时就会运行DLL中的DllMain()函数,所以就会为恶意代码的执行提供机会,而因为DLL本身是由感染后的进程加载的同时PE文件也并没有对系统进行过多的敏感操作...

bj5716的博客 1万+

反射式dll注入

前不久实现了经典dll注入exe,实现注入到用户层面进程,比如notepad.exe和wps.exe。(像金山毒霸kxetray.exe有自我保护机制也注入不进去)。由于对会话隔离注入不太了解,怕搞坏主机,没有再去实现注入到系统进程中。最近在网上看到dll反射注入,想把学习总结的笔记给大家分享一下。 首先什么是反射式注入?它和传统经典注入有什么区别呢?我这里作个比喻。 经典式: 在别人的内存里调用...

摔不死的笨鸟的博客 7234
上一篇: 一个简单的hook 新手入门
下一篇: 浅谈脱壳中的Dump技术
whypp
博客等级 码龄21年 58粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值