首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何找出可执行文件将加载哪些dll?

要找出可执行文件将加载哪些DLL,可以使用Windows操作系统自带的工具。以下是具体步骤:

  1. 打开命令提示符(CMD)。Image has the following dependencies: KERNEL32.dll USER32.dll GDI32.dll ...这些就是可执行文件将加载的DLL文件列表。
  2. 输入以下命令并回车:dumpbin /DEPENDENTS your_executable.exe,其中your_executable.exe是你要分析的可执行文件的路径。
  3. 在输出的信息中,查找以下内容:

需要注意的是,这种方法只能找到静态依赖的DLL,而无法找到动态依赖的DLL。如果需要找到动态依赖的DLL,可以使用第三方工具,例如Dependency Walker。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何 Python 脚本封装成可执行文件

可执行文件」常见如: Win 下后缀为 exe 的文件 Mac 下后缀为 app 的文件 在对应环境执行 Python 脚本,需要对应环境也同样有 Python 环境。...,可不指定; 若进行指定,Win下支持 ico 格式的文件,Mac 下支持 icns 格式的文件; 可通过在线的图片格式转换网站, png 等格式的图片转为需要的 ico / icns 的文件 Step...3: 结果验收: 生成的可执行文件会保留在代码脚本所在的目录下的 dist 文件夹下,Win 环境下是 .exe 文件,Mac 环境下是 .app 文件,双击即可运行。...原因:由于 Pyinstaller 默认当前整个 Python 环境 和 脚本内容封装进去的,因此在 Python 环境中第三方库越多,打包后的可执行文件越大; 解决方案:创建虚拟环境,进入(activate...chmod +x Q3: 如何通过参数来控制应用?

1.8K20

在Windows中劫持DLL

有多种方法可供选择,成功的方法取决于如何配置应用程序以加载其所需的DLL,可能的方法包括: DLL替换:用恶意DLL替换合法的DLL,可以将其与DLL代理结合使用,以确保原始DLL的所有功能均保持不变...为了监视每个进程尝试加载哪些DLL,我们将使用众所周知的Process Monitor工具,因此采取的方法是: 将受信任的可执行文件复制到用户可写的位置 运行复制的可执行文件 使用Process Monitor...这允许我们识别每个应用程序查询的所有DLL,这些DLL将是所有潜在的可劫持DLL候选对象,但并不是所有的这些都会自动加载(并因此执行),找出哪些DLL被正确加载的最可靠的方法是编译我们自己的DLL版本,...并使它在成功加载时写入一个唯一的文件,如果我们对所有目标可执行文件DLL重复上述方法,它将生成一个文件集合,告诉我们哪些DLL易受DLL劫持攻击。...DLL遵循相同的格式最大限度地提高它被成功加载的机会。

2K10

DLL代理加载shellcod用于免杀,维权等等

DLL侧面加载DLL代理加载允许攻击者滥用合法的和经过签名的可执行文件,以在受感染的系统上执行代码。自2017年以来,这种技术一直很流行。...总览 为了了解DLL代理对攻击者的加载效果如何,我们首先需要了解当今的典型应用程序如何为第三方库加载外部函数。 ? 使用上面的示例流程,发生以下情况。...在运行时不安全地加载少量DLL ,可执行流必须是可劫持的,但我们不希望超过1-3个DLL放到目标上以使我们的攻击才能顺利进行。...我们接下来要找出哪个DLL是软件运行的必要DLL(也就是说如果没有哪个DLL,软件就运行不了),简便的方法是一个可执行文件简单地复制到一个单独的文件夹中并运行它。 ? 真好!...我们可以使用Process Hacker之类的工具来检查应用程序加载哪些模块,并进一步确认该DLL确实已加载

2.6K10

什么是DLL劫持

Windows在其基础体系结构中具有DLL的搜索路径(加载DLL文件要遵循目录查找优先级)。...如果你可以找出没有绝对路径的可执行文件请求的DLL(触发此搜索过程),则可以攻击代码的DLL放置在搜索路径的更高位置,以便在实际版本之前找到它,并且Windows会毫不犹豫攻击代码提供给应用程序。...\ syswow64 <-最低优先级,最后检查 这时候,可执行文件“ Foo.exe”请求加载“ bar.dll”,该文件恰好位于syswow64(D)子目录中。...这使您有机会将恶意版本放置在A目录,B目录或C目录中,并将其加载可执行文件中。 如前所述,即使您可以用自己的版本替换DLL,即使是绝对的完整路径也无法防止这种情况。...,请在DLL加载到内存之前对DLL文件签名并检查应用程序中的签名。

79140

内核级木马与病毒攻防:windows恶意代码分析入门

本节帮助读者入门windows上如何对恶意软件或病毒做初步分析。...静态分析技术还着重于查看可执行文件链接了哪些程序库,并且从中调用了那些函数。...windows程序链接方式有静态和动态两种,静态方式就是通过直接lib文件内的函数代码与可执行文件代码一起编译成可执行文件。...动态方式就是代码在执行时,DLL加载到内存中,然后调用其中的某些函数,如果我们能读取代码调用了哪些函数就可以很好的判断其目的。...如果加载了Advapi32.dll,那么它有可能操纵注册表,例如实现开机自动运行,如果它加载了WSock32.dll和Ws_32.dll,那么它就要调用socket功能实现网络数据发送,极有可能它会将用户电脑上收集的信息发送给远程服务器

1.3K10

网络安全渗透之主机持久化

前言 在我们获得初始会话之后,我们需要考虑如何让我们的访问持久化。原因很简单,如果我们是通过利用漏洞进来的,对方可能察觉到痕迹然后修补漏洞,如果是通过泄漏的密码进来的,对方可能修改密码。...手动创建后门服务 sc create zhi binPath= "C:\Windows\System32\calc.exe" start=autosc start zhi(向右滑动,查看更多) 我们可以直接...binPath 指向我们想要的可执行文件,但服务所用的 exe 可执行文件与一般的可执行文件有所不同,如果我们直接指向一般可执行文件,例如 exe 版的 CS 或 Metasploit 载荷,会在运行后很快退出...我们也可以直接生成服务二进制文件 DLL代理 DLL劫持指的是程序启动时会加载数个的DLL文件,此时我们找出加载dll文件的地址,再生成个与dll文件名一样的后门,这样程序启动时我们的后门也会跟着启动...,但是这样的话可能会影响程序正常启动,所以我们需要DLL代理。

61720

我们如何使用 Next.js React 加载时间缩短 70%

为了解决这些问题,我们改用 Next.js,初始页面加载时间减少了 70%,并将开发者的体验提升到一个新的水平。 什么是 Next.js?...这使得组件可以更明确地说明它们采用了哪些样式。...例如,我们的主页(my.causal.app)的加载速度提高了 71%(1.7 秒 → 0.5 秒),除了从加载状态到载入状态的必要过渡,没有任何布局上的跳跃。 性能上的好处不仅仅是用户体验。...我们希望看到这些用户的体验能因更快地加载时间而得到明显改善。 当然,现代 Web 应用的性能远不止首次加载时间那么简单。...在未来的博客文章中,我们分享更多关于如何解决这些性能问题的内容。 原文链接: https://www.causal.app/blog/next-js 声明:本文为InfoQ翻译,未经许可禁止转载。

4.7K10

dotnet core 和 dotnet Framework 启动可执行文件的差别

而使用 .NET Core 构建出来的应用,将会包含一个 Exe 可执行文件,和对应的 Dll 文件,而 IL 代码放在 Dll 文件里面。...在用户双击运行此 Exe 可执行文件的时候,将会运行起来这个 Win32 应用,在这里面调用起 CLR 引擎,执行放在 Dll 的 IL 代码。...此时将会加载 mscoree.dll 进行执行,通过 _CorValidateImage 和 _CorImageUnloading 分别用来通知 operating system loader 托管模块的映像的加载和卸载...其中在 _CorValidateImage 中将执行确保该代码是有效的托管代码以及映像中的入口点更改为运行时中的入口点。...应用是如何跑起来的 通过自己写一个 dotnet host 理解运行过程 Managed Execution Process

69220

【操作系统】动态链接库

在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.EXE文件)。...在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,而是在运行时候,再去加载DLL,访问DLL中导出的函数。...隐式链接 lib文件直接复制到当前文件路径下,对应的dll文件也要复制过去。 静态库文件.lib添加到项目属性的链接器-输入-附加依赖项中。...CString str; str.Format(L"4-3 = %d",substract (4, 3)); MessageBox(str); } 使用dumpbin -imports XXX.exe查看可执行文件导入了哪些...当DLL中导出函数采用的是标准调用约定时,访问该dll的客户端程序也应该采用该调用约定类型来访问相应的导出函数。 显式链接(动态方式加载DLL) 不需要lib文件。

76720

DLL注入与安全

因此我们就需要把我们的dll加载到内存中。但目前有几个困难。 困难:由于每个应用程序都有自己执行的空间-虚拟空间,我们需要把dll注入的目标空间才行。 我们应该如何找到目标空间呢?...当然我们需要使用API函数来调用我们的DLL呢。虽然我们写入了dll路径和名字,但还木有加载到内存中呢。因此我们创建一个远程线程。并让远程线程执行,调用我们dll的API函数。...要修改前,需要了解可执行文件的内部构造PE结构,了解汇编代码并转为机器码。 我们要修改哪些位置? 我们要修改的数据是什么? 需求产生了,那么请思考下如何做吧!...导入目录表 函数真实地址表 函数名地址表 函数名与dll名表 节点大小 数据目录表大小 第二步:我们要修改的数据有哪些? 数据目录表中导入目录的大小需要改。...(注:这里只注入了dll,加壳代码未加) 安全与防护:   到地址什么原因导致了dll加载呢?   我们一步步深入的了解下(贪心算法)   1.

51620
领券