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

cesium 高程数据使用

cesium 高程数据使用高程数据下载高程数据切片简单数据服务 高程数据下载 使用地理空间数据云平台免费提供的高程数据。地理空间云平台 点击列表中的下载得到数据压缩包。例如:ASTGTM2_N22E114.zip 高程数据切片 使用cesium实验室工具对下载得到的压缩包进行切片。cesium实验室 切片得到的文件夹目录。 简单数据服务 使用nodejs的koa启动简单的资源服务。koajs 项目根目录新建data文件夹,在新建dem文件夹放高程数据。 注意目录自行更换,这里是./data/dem

哎哟这个凉白白的博客 1812

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

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

Spring Boot集成Jasypt踩坑实录:自定义SM4加密器Bean加载失败的终极解决方案

本文深入剖析了Spring Boot集成Jasypt时自定义SM4加密器Bean加载失败的根源,即Spring Boot启动流程中Bean加载顺序与Jasypt自动配置的时序冲突。文章提供了三种从源码层面解决问题的有效方案,包括使用ApplicationContextInitializer提前注册、调整Bean依赖顺序以及自定义PropertySource处理机制,并给出了完整的国密SM4加密器实现与测试示例。

weixin_29294975的博客 200

OBD诊断协议:OBDⅡ (SAE J1979) 和 OBDonUDS (SAE J1979-2) 和ZEV OBD技术架构的详细对比

摘要:文章对比了2025年最新OBD技术标准(SAEJ1979系列)的三大架构:传统OBD-II(已淘汰)、OBDonUDS(燃油/混动车)和ZEVOBD(新能源车)。核心发现:1)OBDonUDS与ZEVOBD共享UDS协议栈和DoIP通信标准,仅应用层数据(DID/DTC)不同;2)物理层统一为CAN+以太网,支持远程诊断和OTA;3)诊断工具需同时兼容J1979-2/3数据库。技术演进呈现"协议统一化、数据专用化"趋势,2027年后所有新车将强制采用新标准。

m0_56482679的博客 2393

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

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

weixin_42425334的博客 1111

Squareline Studio + LVGL实战:从Figma设计到MCU屏幕的UI开发一条龙(避坑中文显示)

本文详细介绍了使用Squareline Studio和LVGL实现从Figma设计到MCU屏幕UI开发的全流程,重点解决中文显示等常见问题。通过设计工具链搭建、设计稿转换、LVGL工程集成及性能优化等步骤,帮助开发者高效完成嵌入式GUI开发,提升开发效率。

weixin_29246195的博客 584

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

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

1521

Unity技术开发干货 - 总目录

总目录 欢迎大家来到 passion 的《Unity技术开发干货》开始前博主先列出学习的大纲,同时也供大家学习参考,如果有什么问题,欢迎留言。 一.Unity基础: Unity基础-脚本生命周期 Unity基础-向量 Unity基础-寻路系统 Unity基础-物理系统 Unity基础-Mecanim动画系统 Unity基础-UGUI Unity基础-灯光 Unity-UGUI之Event System Unity-2018-粒子系统 Unity-协程入门 Unity-2D物理引擎、铰链、效应器 Unity-

TxNet 4259

【Bluetooth|蓝牙开发】三、一篇文章,带你总览蓝牙协议

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 1万+

驱动级DLL注入器

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

gitblog_06702的博客 541

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

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

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

【5】GD32H7xx CAN发送及FIFO接收

GD32H7xx CAN收发调试记录,包含源码

madao1234的博客 1816

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

dhjxh579713的博客 5395

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python dll注入器

pyqt5dll注入器。

m0_68324159的博客 231

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

驱动级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、付费专栏及课程。

余额充值