jjzjj

c++ - PE中的 "Isolated Image"属性是什么?

如果我查看可移植可执行文件的内部结构,在IMAGE_OPTIONAL_HEADER部分中有IMAGE_DLLCHARACTERISTICS_NO_ISOLATION字段,正如Microsoft提到的here这意味着:“图像具有隔离意识,但不应被隔离。”。但是,我不明白这里的意思或暗示是什么,也找不到更多相关信息。此选项也作为VisualStudio选项存在,并且在创建Win32应用程序项目时默认启用(VS2015C++)。在我启用它之前,我想知道它对代码生成有什么作用。如果有人知道,请分享。提前致谢。 最佳答案 它控制Windows

windows - 如何以编程方式判断 Windows PE 文件是控制台子系统还是 Windows 子系统?

基本上,我需要一个程序来将Windows.exe从控制台对应项中排序。文件扫描器:SortExe(fileexe){if(IsPeWindows(exe)){AddToList1(exe);}elseif(IsPeConsole()){AddToList2(exe);}}如何实现IsPeWindows或IsPeConsole()?我并不特别介意出现什么语言解决方案,只要它是c、c++、c#或visualbasic中的一种即可。 最佳答案 将SHGFI_EXETYPE传递给SHGetFileInfo()并按照链接中的说明检查返回值的高

windows - 加载 PE 文件的资源时

在C++中使用PE文件中包含的资源(例如二进制资源)时。我们必须第一次打电话1)FindResource然后2)加载资源访问资源。关于函数名称“LoadResource”的准确信息我想知道“WindowsLoader”是否在加载其他部分(如代码或数据部分)时将应用程序的所有资源加载到内存中,或者它们仅在我们需要时才延迟加载他们?如果是这样,我们可以在使用这些资源后卸载它们以释放分配的内存吗? 最佳答案 这些函数很旧,它们可以追溯到还不支持虚拟内存的Windows版本。在过去,他们实际上会将资源加载到RAM中。那些日子早已一去不复返了

windows - PE/COFF 符号类型字段

Microsoft的PE/COFF文档提到符号表中的类型字段:“最高有效字节指定该符号是指向LSB中指定的基类型的指针、函数返回还是数组。Microsoft工具仅使用此字段来指示该符号是否为函数,因此类型字段的唯一两个结果值是0x0和0x20。”但是,文档和winnt.h都指定IMAGE_SYM_DTYPE_FUNCTION=2,而不是0x20。即使这被认为是MSB的值,也会给出整个字段的值0x200,而不是0x20。我错过了什么? 最佳答案 检查winnt.h中的以下几行://typepackingconstants#define

windows - PE : Relation between SizeOfRawData and VirtualSize fields of the section header

我看到对于图像文件中的部分,VirtualSize字段是加载到内存中时部分的总大小,而SizeOfRawData字段是部分的大小磁盘上的初始化数据。在检查.idata部分时,VirtualSize字段设置为0x14,而SizeOfRawData字段设置为0x400。为什么链接器-在本例中为MinGWld-使文件部分如此之大,而加载到内存中的部分只是其大小的一小部分?此外,VirtualSize字段的用途是什么?为什么不总是加载整个部分,即加载SizeOfRawData字节?我在官方PE文档中没有看到描述或它们之间的关系。 最佳答案

c# - customUserNamePasswordValidatorType 是怎么回事?

我一直在为WCF服务创建自定义用户名/密码验证器,并运行了配置项customUserNamePasswordValidatorType。我已经能够通过以下示例使我的代码正常工作,但我只是不明白发生了什么。不幸的是,MSDNarticle没有提供太多细节。这是微软提供的示例:我试图了解customUserNamePasswordValidatorType的两个参数是什么:“Microsoft.ServiceModel.Samples.CalculatorService.CustomUserNameValidator”和“service”。有人可以帮我理解这些参数的含义吗?谢谢!

c# - 如何使用 .NET Framework 获取所有事件的 TCP 连接(无非托管 PE 导入!)?

如何使用.NETFramework获取所有事件的TCP连接(没有非托管PE导入!)?我正在学习套接字编程,想检查一下。在我的研究中,我通过导入一个我不感兴趣的非托管DLL文件找到了解决方案。 最佳答案 令我感到惊讶的是,有大量用户告诉我,使用纯托管代码是不可能的...对于future对此感到疑惑的用户,请从对我来说很好的答案中找到详细信息://Don'tforgetthis:usingSystem.Net.NetworkInformation;publicstaticvoidShowActiveTcpConnections(){Co

c++ - 手动签署 PE 文件

我正在尝试手动签署现有的可移植可执行文件。我正在按照thisdocument中的说明进行操作:将图像header加载到内存中。初始化哈希算法上下文。按照可选headerWindows特定字段中的规定,将图像header从其基址散列到校验和地址开始之前。跳过校验和,这是一个4字节的字段。按照可选header数据目录中的规定,对从校验和字段末尾到证书表条目开始之前的所有内容进行哈希处理。从证书表条目中获取属性证书表地址和大小。有关详细信息,请参阅PE/COFF规范的第5.7节。从计算中排除证书表条目,并对从证书表条目末尾到图像header末尾的所有内容进行哈希处理,包括节表(header)

c++ - Pe编辑库?

有人知道编辑PE文件的好库吗?我试过PeLib,但它非常基础,无论如何你几乎必须做所有事情。 最佳答案 作为替代方案,有libbfd(GCC和其他后端的后端):Documentation和download我快速浏览了一下PeLib的概览,但在可访问性方面似乎并不差。我不知道您对这样的库有什么期望,但是大多数对象格式库都不知道您对它们有什么期望,因此几乎没有提供特定的访问权限。换句话说:这样的库只是让你免于解析对象格式。如果您想做一些具体的事情,我们知道它会有所帮助。 关于c++-Pe编辑

PE文件结构 安全分析与恶意软件研究 逆向工程 优化与性能调整 兼容性与移植性分析

了解PE(PortableExecutable,可移植可执行文件)文件结构有多个用途对于软件开发、安全分析、逆向工程等领域的专业人士来说尤其重要。PE文件格式是Windows操作系统中用于可执行文件、动态链接库(DLLs)、以及其他文件类型(如FON字体文件等)的标准格式。掌握PE文件结构的知识可以帮助专业人士:软件开发与调试:开发者可以更好地理解自己的应用程序如何被操作系统加载和执行,以及如何与操作系统的其他部分交互。这对于性能优化、故障排查和高级功能实现(如动态加载模块)来说至关重要。安全分析与恶意软件研究:安全研究人员和恶意软件分析师需要了解PE文件结构,以便他们可以识别和分析潜在的恶意