DVCLAL 的所有可能值的列表是什么?

2023-11-27

当我遇到这个函数时,我正在阅读 SysUtils:

function ALR: Pointer;
var
  LibModule: PLibModule;
begin
  if MainInstance <> 0 then
    Result := Pointer(LoadResource(MainInstance, FindResource(MainInstance, 'DVCLAL',
      RT_RCDATA)))
  else
  begin

之后,我搜索了 DVCLAL 是什么,发现了这个question.

Delphi 编译器向 DVCLAL 资源发出的所有可能签名是什么?


我只是为所有搜索实际 DVCLAL (=Delphi Visual C成分Library Access License)值,以及一些其他信息,供所有对事物如何工作感到好奇的人使用。

  1. 正如 Jeroen Wiert Pluimers 所说,如果您想在 Delphi 应用程序/库/包/组件中检查“专业或更高版本”或“仅限企业”,您可以使用RPR (= "Require Pr专业”)或RCS (= "Require Client/S服务器”;Client/Server 分别是早期 Delphi 版本中企业版的名称)。如果不满足要求,ALV (= "Access License V违规”)将被调用,这将引发Exception消息定义在SysConst.SNL (= "(String) Not L获得许可”)。英文:

应用程序未获得使用此功能的许可

  1. 如果您想检查某个特定版本,可以使用该函数的输出GDAL (Get Delphi Access L许可证),它是以下之一(AL1s array):
AL1s[0] = $FFFFFFF0; // Standard/Personal edition DVCLAL value
AL1s[1] = $FFFFEBF0; // Professional edition DVCLAL value
AL1s[2] = $00000000; // Enterprise/ClientServer edition DVCLAL value
AL1s[3] = $FFFFFFFF; // DVCLAL resource not existing

如果 DVCLAL 资源具有无效值,GDAL将会通知ALV这将提高Exception与消息SysConst.SNL.

  1. 如果您想检查外部 EXE/DLL 文件的 DVCLAL 值(例如,如果您想编写资源编辑器、反编译器等),则必须直接查询 DVCLAL 资源。

官方值只有三个:

Standard:      23 78 5D 23 B6 A5 F3 19 43 F3 40 02 26 D1 11 C7
Professional:  A2 8C DF 98 7B 3C 3A 79 26 71 3F 09 0F 2A 25 17
Enterprise:    26 3D 4F 38 C2 82 37 B8 F3 24 42 03 17 9B 3A 83
  1. 只是为了好玩:如果你解出公式0 = (ROR(a,15) xor a) xor (ROR(b,10) xor b) xor (ROR(c,5) xor c) xor (AL1 xor AL2)您可以定义任何您想要的 DVCLAL 值(元组 a、b、c、d)! (AL1 and AL2是中的值AL1s and AL2s描述所需 Delphi 版本的数组;ROR向右旋转,无进位)

例如,以下是也可以工作的替代 DVCLAL:

Standard:      00 00 00 00 00 00 00 00 9B 70 0C 66 6B 8F F3 99
Professional:  00 00 00 00 00 00 00 00 9A DB 73 0F 6A 30 8C F0
Enterprise:    00 00 00 00 00 00 00 00 D8 B2 48 11 D8 B2 48 11

要验证 DVCLAL,您需要计算

AL1 := DVCLAL[0] xor DVCLAL[1] xor DVCLAL[2] xor DVCLAL[3];
AL2 := ROR(DVCLAL[0],15) xor ROR(DVCLAL[1],10) xor ROR(DVCLAL[2],5) xor DVCLAL[3];

并抬头看AL1 and AL2在数组中AL1s and AL2s,

这样你就可以伪装你所使用的版本(至少一点点)。

  1. 与此同时,官方文档,至少对于这些功能GDAL, RPR, and RCS,已发表。

  2. 当然,一切也适用于 C++ Builder。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DVCLAL 的所有可能值的列表是什么? 的相关文章

  • 使用 Delphi 读取 Excel 电子表格

    我需要使用 Delphi 2010 读取和写入 Excel 电子表格 没什么花哨的 只需读取和写入不同工作表上特定单元格和范围的值 需要在没有安装 Excel 的情况下工作并支持 Excel 2007 我看过的一些东西 我尝试过使用ADO
  • TFrame继承重构

    我提出的另一个 TFrame IDE 注册组件问题 感谢各位程序员的帮助 尝试 Darrian 的 TFrame 继承建议here https stackoverflow com questions 382562 delphi visual
  • MainFormOnTaskbar + 工具提示导致焦点窃取

    我使用 Delphi XE2 构建了下面的代码 它创建 Form1 Form1 立即创建 Form2 的实例 当我按下 Form2 上的按钮时 会创建第二个 Form2 现在 如果我将鼠标悬停在第二个 最上面的 Form2 上的按钮上 并等
  • Delphi Prism 中 TStringList 的替代品。

    我正在将用 Delphi 2007 Net 编写的应用程序迁移到 Delphi Prism 哪个是替换 TStringList 和 TStrings 类的最佳选择 提前致谢 Bye 只需使用 NET 框架中内置的 List 类型 或者字符串
  • Delphi XE4 中是否可以更改应用程序短标题而不使其与项目 dpr 名称相同?

    我正在编写我的第一个由 delphi 驱动的 iPhone 应用程序 我已经创建了它 但我希望将其命名为 dpr 文件名称以外的名称 因为 dpr 文件不能包含空格 例如 EXE 名称并不总是与人们可能分配给应用程序的人类可读名称相同 而在
  • 除了 gcc 之外,还有哪些编译器可以对代码进行向量化?

    GCC can 矢量化循环 ftp gcc gnu org pub gcc summit 2004 Autovectorization pdf当指定某些选项并给出正确的条件时 会自动进行 是否还有其他广泛可用的编译器可以执行相同的操作 IC
  • Delphi 2005 Web 服务问题

    我在尝试通过 Delphi 访问 Web 服务时遇到问题 我使用了 2007 版 WSDLimp 工具的 java WSDL 看起来它已正确创建了所有对象 然而 当我制作一个调用该服务的测试程序时 每个对象都是空的 如果我在 HTTPRIO
  • 面向 Delphi 开发人员的 Qt

    有人知道为 Delphi C Builder VCL 开发人员解释 Qt 的书籍或教程吗 对于具有该背景的开发人员来说 学习 Qt 的最佳方法是什么 我对如何使用 Qt 完成我知道如何在 Delphi 中完成的事情特别感兴趣 例如 Qt 相
  • 如何制作.Net或JVM语言?

    我看到了 NET 和 JVM 的所有这些新语言 一个人如何开始制作一个 我找不到关于 JVM 或 MSIL 规范的任何好的文档 Edit 我已经知道如何解析 我更感兴趣的是如何有这么多人基于这些平台创建新语言 你有点幸运 为 NET 开发的
  • 什么是代码页 0?

    我正在使用Delphi函数 StringCodePage 我在 COM 函数 Acrobat Annotation getContents 请参阅我的其他帖子 返回的字符串上调用它 它返回 0 0是什么 安西 代码页 0 是 CP ACP
  • 在 XMLDocument 中使用 DocumentElement 时发生访问冲突

    当我尝试使用时 我总是遇到访问冲突DocumentElement of the XMLDocument 我创造XMLDocument基于某些文件的存在 错误信息 项目project1 exe引发异常类EAccessViolation 消息
  • 让线程在窗体关闭时保持运行

    我在我的应用程序上创建了一个同步线程 我想知道如果我关闭申请表 是否有办法让该线程保持打开状态 直到完成同步过程 调用线程的WaitFor方法在您的 DPR 文件中 之后Application Run线 如果线程已经运行完毕 那么WaitF
  • “已发布集 '%s' 的大小大于 4 字节”。如何修复这个编译器错误?

    我有一组包含 138 个值的枚举值 就像是 type TSomething sOne sTwo sThree sOnehundredAndThirtyeight TSomethings set of TSomething TSomethin
  • 构建机器是否需要单独的 Delphi XE4 许可证?

    用于通过以下方式构建应用程序dcc32在构建服务器上我可以使用 Delphi Trial 这种方法的许可证没有任何问题 现在 我将通过以下方式在 TeamCity 上构建 Delphi XE4 应用程序msbuild 我是否需要拥有构建机器
  • 为什么构造 std::string(0) 不会发出编译器警告?

    假设我有这段代码 include
  • Delphi中AsInteger和Value有什么区别?

    我想知道以下两个与delphi中的数据集相关的语句之间的区别 dsMyDataSet ParamByName ID AsInteger 1122 If ID is integer dsMyDataSet ParamByName ID AsS
  • 使用 IOmniTaskControl/TOmniWorker 时等待 Invoke 完成

    我使用 TOmniWorker 创建了 IOmniTaskControl 以便我可以定期在特定线程上运行代码块 因此 我将根据需要在此 IOmniTaskControl 上调用 Invoke 当我这样做时 有时需要等待与该工作相关的执行完成
  • 使用 IdTCPClient 和 IdTCPServer 发送和接收 TMemoryStream

    我在 XE2 中找到了 Remy Lebeau 的 IdTCP 组件聊天演示 我想玩一下 可以发现 我想使用这些组件发送图片 最好的方法似乎是使用 TMemoryStream 如果我发送字符串 连接工作正常 字符串传输成功 但是当我将其更改
  • 非模板类与模板类的多个定义

    为什么编译器会抱怨多个 cpp 文件中定义的非模板类 但对于其定义在各个 cpp 文件中重复的模板类 通过包含该类的 inl 文件 却没问题 即使类是否在多个 cpp 文件中显式实例化 非模板情况是因为在这种情况下您的程序违反了一个定义规则
  • Delphi XE 和 OmniXML:使用 SelectNode()?

    我将以下 XML 片段作为一个更大的 XML 文件的一部分 我正在使用最新的 OmniXML 快照进行处理

随机推荐

  • 为什么使用非贪婪模式时 Java 正则表达式“匹配”与“查找”会得到不同的匹配? [复制]

    这个问题在这里已经有答案了 因此 我遇到了一个错误 该错误是由于期望 matches 方法找到与使用 find 完全相同的匹配项而引起的 通常是这种情况 但看起来如果非贪婪模式可以延伸到贪婪地接受整个字符串 那么它是允许的 这看起来像是 J
  • 最佳 bcrypt 工作因子

    密码散列的理想 bcrypt 工作因素是什么 如果我使用因子 10 则在我的笔记本电脑上散列密码大约需要 0 1 秒 如果我们最终得到一个非常繁忙的网站 那么仅仅检查人们的密码就会变成大量的工作 也许使用工作因子 7 会更好 将每次笔记本电
  • Git 克隆在特定存储库上返回结果 = 18 代码 = 200

    我正在尝试从我们公司存储库克隆内部存储库 但不断收到此错误 error RPC failed result 18 HTTP code 200 它总是仅在存储库完全下载后才会发生 需要一段时间 我尝试过使用 torotiseGit 这是报告
  • TeamCity 的 AssemblyInfo 修补程序的数字格式

    我曾经使用过 TeamCity WiX MSBuild 社区任务 现在我已经升级到 WiX 3 5 我不记得我是如何配置它的 当我浏览 TeamCity 时 我遇到了 AssemblyInfo Patcher 我想 太棒了 这将使我的生活变
  • 如何在 MATLAB 中创建分段内联函数?

    我在 MATLAB 中有一个函数 它接受另一个函数作为参数 我想以某种方式定义一个可以传入的分段内联函数 这在 MATLAB 中是否可行 编辑 我想代表的功能是 f x 1 0 0 0 lt x lt 0 5 1 0 0 5 lt x lt
  • 从 JavaScript 读取 web.config

    有什么方法可以使用 javascript 读取 web config 中的配置值吗 我为什么要这么做 我的网站中有一个计时器 如果用户 20 分钟不活动 它会弹出一个带有倒计时器的模式对话框 倒计时 2 分钟 如果用户没有响应 系统会将其注
  • 如果数组中的所有对象都有属性值,则返回 true

    我有一个对象数组 如下所示 scope objectArray Title object1 Description lorem Value 57 Title object2 Description ipsum Value 32 Title
  • 在 sqlalchemy 中使用计算列更新表

    我正在使用 SQLalchemy 在旧版 MSSQL 数据库中工作 我有一个声明性映射 该数据库有几个表 其中包含计算列 我可以很好地阅读它们 但是 当然 写入计算列不起作用 但是 当我创建并尝试保存 ORM 对象时 SQLAlchemy
  • 活动的 AlertDialog 样式按钮

    我有一个活动 底部有一个 保存 和 取消 按钮 在 AlertDialog 中 按钮显示在某种样式化的容器视图内 我怎样才能让我的活动中的按钮具有相同的外观 具体来说 我如何应用 AlertDialog 中按钮容器视图的样式来表示我的 Ac
  • 在 JavaScript 中将字符串转换为变量名

    我一直在寻找解决方案 但找不到任何有效的解决方案 我有一个变量叫做onlyVideo onlyVideo 字符串被传递到函数中 我想设置变量onlyVideo在函数内部作为某种东西 我怎样才能做到这一点 有很多变量可以被调用到函数中 所以我
  • Android 输入文本对话框

    当用户单击Button在我的应用程序中 打印在SurfaceView 我想要一条短信Dialog出现 我想将结果存储在String 我想要文字Dialog覆盖当前屏幕 我怎样才能做到这一点 听起来是一个使用的好机会警报对话框 尽管看起来很简
  • OpenCV 2.2 Windows XP MinGW 构建在namedWindow、imshow 上崩溃

    我下载了适用于 Windows 的最新 OpenCV 2 2 源代码 并在 CMake 2 8 的帮助下使用 MinGW 4 4 1 在 Windows XP 上进行编译 一切都很顺利 编译 mingw32 make 和安装 mingw32
  • 调试:为多列创建多个滞后的函数 (dplyr)

    我想创建多个变量的多个滞后 所以我认为编写一个函数会很有帮助 我的代码抛出警告 将向量截断为长度 1 和错误结果 library dplyr time lt c 2000 2009 2000 2009 x lt c 1 10 10 19 i
  • 将 HTML 转换为 XML

    我有数百个 HTML 文件需要转换为 XML 我们使用这些 HTML 为应用程序提供内容 但现在我们必须以 XML 形式提供这些内容 HTML 文件包含 表格 div 图像 p b 或强标记等 我用谷歌搜索并找到了一些应用程序 但我还无法实
  • 是否有比使用 C++ 的 FindFirstFile/FindNextFile 更快的枚举文件夹替代方法?

    我需要获取文件夹内子文件夹的所有路径 使用 WinAPI 和 C 到目前为止 我发现的唯一解决方案是递归调用查找第一个文件 查找下一个文件但在层次结构较深的文件夹上执行此操作需要花费大量时间 所以我想知道 只是为了获取文件夹名称 是否有更快
  • 有没有比忙等待更智能的方法来检查 System.Net.WebClient.DownloadFileAsync() 的下载完成情况?

    我正在使用 System Net WebClient DownloadFileAsync 下载文件 使用异步版本的唯一原因是显示下载进度 在达到 100 之前 我的代码执行可能不会继续 目前我正在使用忙等待 参见代码 但我想知道是否有更聪明
  • fgetpos() 行为取决于换行符

    考虑这两个文件 file1 txt Windows 换行符 abc r n def r n file2 txt Unix 换行符 abc n def n 我注意到对于 file2 txt 通过以下方式获得的位置fgetpos没有正确增加 我
  • 可移动/可拖动

    这是我更新和修改的脚本 它完全可以工作 除了我想通用它 观察 我怎样才能做到这一点 这样我就不必这样做function e BOX Draggable elemen e target e srcElement elementDraggabl
  • Jenkins:在 MultiJob 中共享变量

    我使用 Jenkins 进行测试 构建 因此我使用以下配置创建了一个 MultiJob 项目 Test Job 建立工作 安装工作 MultiJob 从 Master Jenkins 启动 但其他作业从其他 Node 启动 构建作业执行创建
  • DVCLAL 的所有可能值的列表是什么?

    当我遇到这个函数时 我正在阅读 SysUtils function ALR Pointer var LibModule PLibModule begin if MainInstance lt gt 0 then Result Pointer