草庐IT

AppInit_DLL

全部标签

c++ - API Hooking 在整个过程中生效——包括 EXE 和 DLL

我有一个由单个EXE和多个DLL组成的应用程序。看完WindowsviaC/C++,我尝试在其中一个DLL中对Sleep函数执行Hook,并期望该Hook适用于EXE和所有DLL。请注意,CAPIHook代码来自WindowsviaC/C++'ssamplecode在DLL项目中voidWINAPIMySleep(DWORDdwMilliseconds);CAPIHookg_Sleep("Kernel32.dll","Sleep",(PROC)MySleep);typedefvoid(WINAPI*Sleep_Type)(DWORDdwMilliseconds);//Hookfunct

windows - PE header 和 LARGEADDRESSAWARE 未针对 DLL 模块进行评估?

在PEheader中有一个标志指示二进制文件是否为LargeAddressAware。PEheader本身存在于*.exe和*.dll中。Windows操作系统真的只为父可执行文件评估此标志吗?是否对所有DLL模块完全忽略?那么,如果没有人评估它,我为什么要为DLL启用LAA链接器标志?我的想法是:如果启用LAA的exe加载未编译为LAA的模块,是否有办法强制Windows发出警告?另见相关问题:Drawbacksofusing/LARGEADDRESSAWAREfor32bitWindowsexecutables? 最佳答案 Is

windows - 在进程开始之前将 dll 注入(inject)进程的优雅方法

我正在制作一个“mod”dll来修改目标进程的行为。我成功地注入(inject)了我的dll并Hook了目标的一些功能。但是当我需要在主模块启动之前(更清楚地说,在入口点之前)Hook一些API时,它需要做更多的工作。我需要使用CREATE_SUSPENDED属性手动启动目标程序,注入(inject),然后恢复。但是一些应用程序以其自己的启动程序启动,一些通常从x64进程启动......如此多样的环境使其难以自动化。似乎最好的方法是将Hookdll注入(inject)所有进程并处理CreateProcess。但有时它需要UAC,x64开发。如有任何建议,我们将不胜感激。

python - py2exe - 如何减少 dll 依赖性?

我的程序依赖于USER32.dll、SHELL32.dll、ADVAPI32.dll、WS2_32.dll、GDI32.dll和KERNEL32.dll。都在system32文件夹中。有什么方法可以将这些包含在我的程序中,以便它可以在所有Windows计算机上运行?或者这些dll是否已经可以在所有Windows安装中找到? 最佳答案 Whenpy2execomesacrossaDLLfilethatisrequiredbytheapplication,itdecideswhetherornotincludestheDLLfilein

windows - 如何创建 DLL 初始化例程?

在DllMainEntryPointdocumentation,作者作如下评论:Toprovidemorecomplexinitialization,createaninitializationroutinefortheDLL.YoucanrequireapplicationstocalltheinitializationroutinebeforecallinganyotherroutinesintheDLL.在C/C++中,我如何创建一个不同的例程并要求应用程序在任何其他例程之前调用它? 最佳答案 初始化例程可以是任何export

java - SWT在windows上哪里写dll文件?

我在Internet上找不到SWT尝试写入dll文件的位置。我有一台jar无法运行的计算机,仅因为SWT无法编写DLL。更新1java.lang.reflect.InvocationTargetExceptionatsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(UnknownSource)atsun.reflect.DelegatingMethodAccessorImpl.invoke(UnknownSource)atjava

windows - 在 Windows 安装项目中注册和注销 DLL

我有几个dll文件需要分别在安装/卸载Windows安装程序时注册/取消注册。我尝试了以下-创建了一个.bat文件来注册dll。问题是我无法在安装项目中使用“自定义操作”添加.bat文件。另外,如何在卸载时运行unregisterdll?请指教。谢谢。 最佳答案 下面是我注册DLL的步骤:添加“CommonFiles”文件夹。将您的DLL文件添加到此文件夹中。修改DLL文件的属性“Register”为“`vsdrfCOMSelfReg”现在设置完成。安装项目后,您可以找到包含DLL的CommonFiles文件夹(如我的路径“C:\P

windows - 为什么在链接到 .lib 后会出现缺少 dll 的错误?

我从1999年开始研究这个Windows程序。我无法在VisualStudio中构建它,因为它一直给我关于缺少符号的链接器错误。然后我的同事告诉我尝试从原始项目中获取.lib文件并尝试将它们指定为附加链接依赖项。我做到了,程序链接良好。当我尝试运行它时,它提示缺少dll文件。所以我找到了在一些旧计算机上运行的Windows程序的现有副本,复制了dll文件,我的构建开始工作了!这是我一生中最快乐的一天,但我不太清楚发生了什么。谁能简单解释一下什么是Windows中的lib文件以及它们与dll的关系? 最佳答案 .LIB文件在Windo

windows - 可以使用压缩的 dll 吗?

我真的缺乏在Windows上开发东西的经验,我可能错过了一些明显的东西,尽量保持冷静:)我有一个应用程序(QtC++),它使用自己路径中的一些.dll(我的意思是我将这些.dll与.exe一起交付).当我交付应用程序时,我通过upx压缩dll。.它极大地压缩了它们,我可以在不解压缩的情况下使用那些dll。我的印象是我做错了什么,但它只是偶然起作用,所以我想确定一下,使用压缩的dll是否可以?还是我应该随时预料到不可预知的问题?(这是主要问题)如果.dll可以在压缩模式下使用,那么为什么我们首先要将它们解压缩。 最佳答案 这不是“偶然

windows - 在 Delphi 中获取 DLL 调用者信息

在DelphiDLL中需要建立调用者——可能是一个简单的“.exe”或一个DBMS运行时模块——这意味着它必须获得进程中正在运行的命令。我知道CmdLine不会工作,并且可能ParamStr(0),并且不能使用基于“主窗口”的技术,因为调用者有时没有窗口.我怀疑GetModuleHandle是起点,但需要帮助才能从那里到达正在执行的命令。 最佳答案 我创建了一个测试dll:libraryProject2;usesSystem.SysUtils,System.Classes,Vcl.Forms,Vcl.Dialogs,Winapi.W