Dll注入器

DLL加载器-远程线程注入(常规dll注入) 注入思路 先获取到LoadLibrary的函数地址,之后使用CreateRemoteThread加载这段地址即可 简单例子: D:\VS项目\Dll3\x64\Debug\Dll3.dll kernel.dll加载的地址在所有进程都是一样的 https://zhuanlan.zhihu.com/p/599915628?utm_id=0 DLL进程注入 dll注入器 生成dll-2-1.exe 这里注入的exe是notepad++,找到其进程,注入的dll是我cs生成的beacon.dll 主要思路是: 阅读详情
#include <stdio.h>
#include <windows.h>

int main(int argc, char** argv)
{
    if(argc<3)
    {
        fprintf(stdout,"\nUsage : %s <pid> <dll-path>\n\n",argv[0]);
        return 1;
    }

    DWORD Pid,DllPathLen;
    if(sscanf(argv[1],"%u",&Pid)<=0 ) // Get Process Id
    {
        fprintf(stderr,"\n[-] ERROR: Pid Value\n"),fflush(stderr);
        return 1;
    }
    if(  DllPathLen = strlen(argv[2]),DllPathLen == 0 ) // Get Dll Path
    {
        fprintf(stderr,"\n[-] ERROR: DllPath\n"),fflush(stderr);
        return 1;
    }

    // Raise My Power
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
tkp.PrivilegeCount =1;

if(OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hToken))
{
if(LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tkp.Privileges[0].Luid) )
{
AdjustTokenPrivileges(hToken,FALSE,&tkp,0X10,NULL,0);
}
}
if(hToken)CloseHandle(hToken);
}


    // Get Process Handle
    HANDLE hDstProc = OpenProcess(PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION|PROCESS_VM_WRITE,TRUE,Pid);
    if(hDstProc==NULL)
    {
        fprintf(stderr,"\n[-] ERROR: in OpenProcess(), Pid %u\n",Pid),fflush(stderr);
        return 1;
    }


    // Get LoadLibraryA Address
    fprintf(stdout,"\n[+] Pid: %u, Handle : 0Xx \n",Pid,hDstProc),fflush(stdout);
    LPTHREAD_START_ROUTINE LibFunc =
        (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("Kernel32"),"LoadLibraryA");
    fprintf(stdout,"\n[+] LoadLibraryA Address : 0Xx\n",LibFunc),fflush(stdout);

    // Create Remote Heap, Set Dll Path
    DWORD Success = TRUE;
    char * DllPath = (char*) VirtualAllocEx(hDstProc,NULL,DllPathLen + 1,MEM_COMMIT,PAGE_READWRITE);
    if(DllPath)
    {
fprintf(stdout,"\n[+] Create Memory in %u, Address : 0Xx\n",Pid,DllPath);
        if(WriteProcessMemory(hDstProc,DllPath,argv[2],DllPathLen + 1,NULL))
        {
            fprintf(stdout,"\n[+] Set Dll Path : %s\n",argv[2]);
        }
        else
        {
            fprintf(stderr,"\n[-] ERROR: in WriteProcessMemory(), Set Dll Path Failed\n");
            Success = FALSE;
        }
    }
    else
    {
        fprintf(stderr,"\n[-] ERROR: in VirtualAllocEx(), Get Memory\n");
        Success = FALSE;
    }

    //Start Dll Inject
    if(Success)
    {
        HANDLE hThread = CreateRemoteThread(hDstProc,NULL,0,LibFunc,DllPath,0,NULL);
        if(hThread)
        {
            fprintf(stdout,"\n[+] Create Remote Thread, Handle : 0Xx, Dll Injection Success\n",hThread);
        }
        else
        {
            fprintf(stderr,"\n[-] in CreateRemoteThread(), Dll Injection Failed\n");
            Success = FALSE;
        }
        CloseHandle(hThread);
        VirtualFreeEx(hDstProc,DllPath,0,MEM_RELEASE);
    }

    //Cleaning
    CloseHandle(hDstProc);

    return !Success;
}

DLL注入器编写 前段时间一直学习逆向工程核心原理,由于缺少WINAPI只是,后面的 内容学起来有些抽象,于是反回去大致扫了一下《Windows核心编程》 花了些时间写了个DLL注入器。     基本原理                   进程对象在windows中,地址空间基本都是相对独立的,一 个进程无法操作其他进程的空间,但是通过创建远程进程的线程,在原 来进程的主线程之上添加一个线程,该线程属... 阅读详情

相关推荐

解决注入器在DLL的入口函数中创建线程时卡死的问题

问题描述 根据网上的教程,写了一个注入器的实现: 但是我发现注入后无法卸载,经过一系列的排除法验证后,最终确定了原因。 验证过程 创建动态库项目 使用VS 2017,点击新建->动态链接库(DLL) 在dllmain.cpp中,加入日志,以便使用 DugView工具(下载,提取码:m194)查看动态库运行情况 BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call,

xmcy001122的专栏 2439

实战dll注入(原理, 踩坑及排雷)

使用vs2019编写注入器程序, 在生成的注入器可用前, 踩了不少坑, 因此记录一下.

Niatruc的博客 5247

电动汽车欧标直流充电标准解析

电动汽车和电动汽车充电市场是动态发展的,欧洲也正在努力部署基础设施,以支持欧洲快速增长和多样化的电动汽车充电需求。

网络安全的研究者、新能源行业的追求者 7620

X86软件逆向分析实战(一)

对于那些“不听话”的软件,怎么办?你是想忍声吞气凑合着用?还是想“修理”一顿,让它乖乖地按照你的意思办?本课程教你“驯服”那些你看中的软件! 掌握这个技能,无论它是什么软件,只能乖乖按你的意思办! 课程内容会涉及到与X86软件逆向分析相关的各种杂项与细节实现,其中涵盖OD、CE、IDA、WinAPI、Visual Studio 2019、易语言、C/C++、C#、汇编等使用技巧与编程技巧。若你是编程初学者,认真学习本课程后,你的能力将会有极大的提升。若你是编程大佬,建议勿跳过每一节课,一定会有所收获!

STM32F103C8T6+A4988驱动42步进电机全流程(附接线图+代码解析)

本文详细介绍了使用STM32F103C8T6单片机与A4988驱动模块控制42步进电机的完整流程。内容涵盖硬件接线图解析、电流设置、GPIO驱动代码编写以及细分控制等核心实践,旨在帮助嵌入式开发者和DIY爱好者快速实现精准运动控制,适用于3D打印机、CNC等需要精密定位的项目。

Python的专栏 794

国产FPGA开发实战:紫光同创编程软件中的约束文件详解与常见问题

本文详细解析了紫光同创FPGA编程软件中约束文件的关键配置技巧与常见问题。通过基础架构解析、时钟约束实践、物理约束调控及典型问题排查指南,帮助开发者高效掌握国产FPGA开发中的约束文件应用,提升开发效率与设计稳定性。

gin88的博客 910

c语言dll注入器,Module Injector-Module Injector(DLL动态库注入器)下载 v1.0--pc6下载站

ModuleInjector是一款强大的DLL动态库注入器,可以注入到64位进程内,并且注入方式多种多样,可以在进程列表内右键来停止进程或查看进程内模块,在模块列表内可以隐藏模块!。相关软件软件大小版本说明下载地址Module Injector是一款强大的DLL动态库注入器,可以注入到64位进程内,并且注入方式多种多样,可以在进程列表内右键来停止进程或查看进程内模块,在模块列表内可以隐藏模块!功能...

weixin_42425334的博客 1111

全志A527 T527 android13支持usb摄像头

我们发现usb摄像头在A527 android13上面并不能正常使用,需要支持相关的摄像头。

zhutoubenben的专栏 964

Module Injector(DLL动态库注入器)v1.0绿色版

Module Injector是一款强大的DLL动态库注入器,可以注入到64位进程内,并且注入方式多种多样,可以在进程列表内右键来停止进程或查看进程内模块,在模块列表内可以隐藏模块! 功能介绍: 1.首先第一点就是可以注入到64位进程内,并且注入方式多种多样,我想这一点就足以让你心动 2.总所周知,在WINdows系统内,不同位数不可以互相注入,也就是说32位的DLL只能注入到32位进程...

1521

ShowDoc item_id 未授权SQL注入漏洞复现

2024年6月,ShowDoc官方发布新版本修复了一个SQL注入漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可暴破用户token获取系统后台权限,建议所有使用该系统的企业尽快升级修复,以确保系统安全。

0xSec 2358

OpenHarmony可信执行环境:TEE模块源码分析与实现原理

TEE(Trusted Execution Environment)是OpenHarmony系统中的安全执行环境,用于提供隔离的安全执行环境,保护敏感数据和操作。OpenHarmony的TEE模块基于OpenTrustee实现,采用微内核架构,为系统提供可信执行环境支持。OpenHarmony TEE模块是一个复杂的安全系统,通过提供隔离的执行环境保护敏感数据和操作。

m0_67505153的博客 549

驱动级DLL注入器

驱动级DLL注入器 【下载地址】驱动级DLL注入器 驱动级DLL注入器是一款高效的工具,专为在驱动层执行DLL注入而设计。它具备强大的注入能力,支持多种驱动层软件的注入,操作界面简洁友好,易于上手。无论是用于研究还是解决特定问题,这款工具都能提供可靠的解决方案。使用前请确保在合法范围内操作,并谨慎处理有保护措施的软件。本...

gitblog_06702的博客 541

C++ getline函数详解与示例代码

每次调用函数时,会读取一行文本,并将其存储在字符串对象中。在循环中,我们检查读取到的文本是否为空行,如果是则跳出循环,否则输出读取到的文本。这个函数在处理用户输入、文件读取等场景中非常有用,希望能对您的C++编程有所帮助。函数是一个常用的字符串输入函数,可以用于从输入流中读取一行文本。首先,我们输出提示信息,要求用户输入一行文本。函数会等待用户输入,并将输入的文本存储在。函数从输入流中读取一行文本,并将其存储在字符串对象。这样,当用户输入制表符时,函数会停止读取。函数的用法,并提供相应的示例代码。

LogicGuruX的博客 828

dll注入器(易语言dll注入器)

怎么把图片注入DLL文件!怎么办? "加入修改后写文件,取特定目录 “文件名DLL”#dll 图标文件名写到文件 (取特定目录 +“\文件名DLL”, #DLL图标文件名)" dnf替换注入!替换哪个DLL? 的感觉房间的感觉 dll注入器、哪里下。-=无毒先。 注入器,杀软都会报毒,定义为黑客工具,所以没有...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 935

【RT-DETR有效改进】利用EMAttention加深网络深度提高模型特征提取能力(特征选择模块)

本文给大家带来的改进机制是EMAttention注意力机制,它的核心思想是,重塑部分通道到批次维度,并将通道维度分组为多个子特征,以保留每个通道的信息并减少计算开销。EMA模块通过编码全局信息来重新校准每个并行分支中的通道权重,并通过跨维度交互来捕获像素级别的关系。本文改进是基于ResNet18、ResNet34、ResNet50、ResNet101,文章中均以提供,本专栏的改进内容全网独一份深度改进RT-DETR非那种无效Neck部分改进,

Snu77的博客 3170

efm32 入门.pdf

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

【资源分享】Dll Injector(DLL注入器)

*----------------------------------------------[下载区]----------------------------------------------* 下载地址:https://pan.baidu.com/s/1aBvKbmblivVCPx8Mt40Udg 提取码:61gw *-----------------------------...

dhjxh579713的博客 5395

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...

Python dll注入器

pyqt5dll注入器。

m0_68324159的博客 231

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

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

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

驱动级DLL注入器:高效驱动层操作工具

驱动级DLL注入器:高效驱动层操作工具 【下载地址】驱动级DLL注入器 驱动级DLL注入器是一款高效的工具,专为在驱动层执行DLL注入而设计。它具备强大的注入能力,支持多种驱动层软件的注入,操作界面简洁友好,易于上手。无论是用于研究还是解决特定问题,这款工具都能提供可靠的解决方案。使用前请确保在合法范围内操作,并谨慎处理...

gitblog_06739的博客 904

Win32汇编:实现远程DLL注入器

注入器的主要功能是将一个动态链接库(DLL)加载到目标进程的地址空间中,使其在目标进程中运行。汇编语言编写的Windows平台下的DLL注入器的原理是通过调用Windows API来将指定的DLL加载到目标进程的地址空间中,并执行DLL中的代码。

微软技术分享 8565

Xenos DLL注入器:从入门到精通的完整指南

在Windows系统开发中,DLL注入是一项强大但复杂的技术。Xenos作为基于Blackbone库的专业DLL注入工具,为开发者提供了简单高效的解决方案。本文将带你全面了解Xenos的安装、配置和使用技巧。 ## 🚀 快速上手:5分钟完成环境搭建 ### 前置准备 在开始之前,请确保你的系统满足以下要求: - Windows 7或更高版本操作系统 - Visual Studio 2015或

gitblog_00718的博客 498

5分钟快速上手Windows DLL注入器:Xenos完整安装指南

想要在Windows系统中实现动态DLL加载?Xenos作为一款专业的Windows DLL注入器,提供了简单高效的解决方案。无论你是开发人员还是安全研究人员,都能通过本文快速掌握Xenos的安装配置方法。 ## 环境准备与项目获取 ### 必备软件环境 在开始安装前,请确保你的系统满足以下条件: - Windows 7或更高版本操作系统 - Visual Studio开发环境(推荐最新版本)

gitblog_00387的博客 702

【亲测免费】 ThreadJect:手动DLL注入器使用线程劫持教程

ThreadJect:手动DLL注入器使用线程劫持教程 项目介绍 ThreadJect 是一个基于 C++ 开发的手动 DLL 注入工具,利用线程劫持技术将 DLL 文件注入到目标进程中。此项目由 D4stiny 创建,灵感来源于 @ZwClose7 在Rohitab论坛上分享的基于是线程劫持的 LoadLibrary 注射器以及使用 CreateRemoteThread 的手动 DLL 注射器...

gitblog_00210的博客 903

影子DLL注入器 v1.4 X86注入器

在DLL图标框内左键双击 = 添加DLL。在DLL图标框内右键双击 = 移除DLL。已在CSGO、SCPSL多款游戏中测试。3.填写进程名称或在进程列表中选择。4.拖放DLL或点击添加按钮。32/64位注入支持。

PPwoshi145的博客 5666

推荐开源项目:ThreadJect - 手动DLL注入器

推荐开源项目:ThreadJect - 手动DLL注入器 项目简介 在软件开发和调试过程中,有时候我们需要深入底层操作,例如在另一个进程中加载动态链接库(DLL)。ThreadJect 是一个验证概念的手动DLL注入器,通过劫持目标进程中的线程来实现DLL的注入。这个工具由@D4stiny基于@ZwClose7的工作改进而来,提供了一种高效且直观的方式来实现这一复杂操作。 技术剖析 ThreadJ...

gitblog_00046的博客 400

实战:易语言编写第一个DLL注入器

DLL注入是一种常见的技术,用于将外部动态链接库(DLL)加载到目标进程中,从而实现功能扩展或调试。在易语言中编写DLL注入器相对简单,适合初学者。下面我将逐步引导你完成第一个DLL注入器的实现。注意,DLL注入涉及系统底层操作,请在合法合规的环境中使用(如个人学习或授权测试),避免滥用。通过这个实战示例,你应该能掌握易语言编写DLL注入器的基本方法。尝试修改代码并测试不同场景,加深理解。以下是一个基础的DLL注入器代码示例。代码使用易语言语法,并添加了详细注释。

2501_93876579的博客 921
上一篇: 添加用户到Sudo组
下一篇: Api&nbsp;Hook&nbsp;例程
龍城狂霸拽爺
博客等级 码龄16年 10粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值