我有以下情况:
我有一个德尔福应用程序{$APPTYPE GUI}
。( APP1
)
如果APP1
开始,它会运行 和 之间的代码
begin
,end.
就像它应该的那样。
稍后,APP1
将转换为 DLL(另一个应用程序将执行此操作 - APP2
)。
APP2
将IMAGE_FILE_DLL
标志添加到Characteristics
中NTFileHeader
。APP1
然后APP2
尝试APP1
使用LoadLibrary
(或其他一些 COM 命令来加载 dll)加载 DLL (),但它返回错误:
Windows 在初始化 COM 库时遇到内部错误。
我已经通过一个C
项目完成了所有这些并使用了该WinMain
功能。但是它似乎在 Delphi 中不起作用(APP1
不是作为 DLL 启动的)。如何转换APP1
为工作 DLL?
编辑:
我正在尝试将此代码移植C
到 Delphi:http ://level-23.info/forum/showthread.php?14721-UAC-Bypass-for-Windows-7-RTM-SP1-Windows-8-DP&p= 31749
我已正确移植它,一切正常,但CRYPTBASE.dll
( APP1
) 没有启动。(见上面的错误)
简而言之:创建一个delphi应用程序,IMAGE_FILE_DLL
在文件头中添加特性。将其重命名CRYPTBASE.dll
并复制到 C:\Windows\System32\sysprep。然后开始sysprep.exe
信息在这里: http: //www.pretentiousname.com/misc/W7E_Source/win7_uac_poc_details.html