博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDB文件注册实际流程(学习笔记)
阅读量:2456 次
发布时间:2019-05-11

本文共 1237 字,大约阅读时间需要 4 分钟。

注册表路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB

SDB文件注册后注册表路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB\{6ce9d33f-16f2-405e-85f6-9293f4888a8a}

键值内容如下:

键名:DatabaseDescription 数据类型:REG_SZ 键值:sdb文件名不加后缀 (如:test)

键名:DatabaseInstallTimeStamp 数据类型:REG_QDWORD 键值:1d07c0c41c97aa1 (说明:键值为16进制时间数据值)

键名:DatabasePath 数据类型:REG_SZ 键值:SDB文件的全路径 (如:c:\test.sdb)

键名:DatabaseType 数据类型:REG_DWROD 键值:10000 (说明:键值为16进制数据,其中这个值代表了SdbRegisterDatabaseEx函数的第二个参数值,宏名为SDB_DATABASE_SHIM)

其中{6ce9d33f-16f2-405e-85f6-9293f4888a8a}是通过SDB文件中读取得到的。

说明:上面的数据在SdbRegisterDatabaseEx函数执行成功后自动生成。

----------------------------------------------------------------------------------------------------------------------------------------------------------

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Custom

在上面的项目录下新建要修补的EXE程序名称,注意是带后缀的如下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Custom\explorer.exe

键名:{6ce9d33f-16f2-405e-85f6-9293f4888a8a}.sdb 数据类型:REG_QDWORD 键值:1d07c0c41c97aa1 (说明:这里的键值与上面的DatabaseInstallTimeStamp时间值一致,带表SDB文件安装时间)

以上步骤做成,就相当于注册安装了sdb文件。可以使用sdbinst.exe -q test.sdb方法来实现sdb文件安装注册。

转载地址:http://wuphb.baihongyu.com/

你可能感兴趣的文章
python 生成对称矩阵_创建对称矩阵| 使用Python的线性代数
查看>>
Java LinkedList getLast()方法与示例
查看>>
数字信号时序电路_数字电子中的时序电路
查看>>
Java Collection Framework中的堆栈类
查看>>
stack.peek_C.示例中的Stack.Peek()方法
查看>>
32位系统能够识别多达内存_C ++程序可打印多达N个术语的卢卡斯系列
查看>>
Java ArrayList trimToSize()方法与示例
查看>>
Java Byte类parseByte()方法的示例
查看>>
java 方法 示例_Java CollectionsEmptyMap()方法与示例
查看>>
Java FileDescriptor valid()方法与示例
查看>>
java define_Java Integer类的define()方法与示例
查看>>
strictmath_Java StrictMath toDegrees()方法与示例
查看>>
奇数 横竖斜总和相等_将集合分成相等总和的k个子集
查看>>
data.add方法c#_清单 .Add()方法与C#中的示例
查看>>
js 验证护照_护照本地策略第1部分| Node.js
查看>>
scala编程_Scala概述| Scala编程教程
查看>>
stl vector 函数_vector :: capacity()函数以及C ++ STL中的示例
查看>>
Java BigInteger类| negate()方法与示例
查看>>
c++中对象数组的初始化_C ++中对象的动态初始化
查看>>
Java CharArrayWriter reset()方法及示例
查看>>