SDB文件注册实际流程(学习笔记)

来源:互联网 发布:linux删除文件内容命令 编辑:程序博客网 时间:2024/06/08 22:49

注册表路径:

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文件安装注册。


0 0