./libr/bin/d/dll/
下拥有的一些SDB文件,这些文件有什么用?./libr/bin/d/dll/csmfpapi.sdb
./libr/bin/d/dll/atl.sdb
./libr/bin/d/dll/msvbvm60.sdb
./libr/bin/d/dll/msi.sdb
./libr/bin/d/dll/mfc90u.sdb
./libr/bin/d/dll/msvbvm50.sdb
./libr/bin/d/dll/dsound.sdb
./libr/bin/d/dll/mfc71.sdb
./libr/bin/d/dll/olepro32.sdb
#1 楼
SDB代表字符串数据库。sdb
是一个基于cdb磁盘的简单字符串键/值数据库,并支持JSON和数组自省。
您可以看到与
k
命令一起列出的SDB命令,|Usage: k[s] [key[=value]]Sdb Query
| k foo=bar set value
| k foo show value
| k list keys
| ko [file.sdb] [ns] open file into namespace
| kd [file.sdb] [ns] dump namespace to disk
| ks [ns] enter the sdb query shell
| k anal/meta/* ist kv from anal > meta namespaces
| k anal/** list namespaces under anal
| k anal/meta/meta.0x80404 get value for meta.0x80404 key
radare2博客中有关于它的完整文章,请在此处查看。
您可以阅读在radare2的存储库中的此链接中,有更多关于此内容的信息。
在r2book中也有一个简短但不那么详细的章节。
编辑:您添加了另一个问题,所以我“
这些
sdb
文件包含./libr/bin/d/dll/中每个dll
的函数名(DLL的导出)及其等效序号。每个文件都包含以下格式的键值行:ordinal_num=export_name
another_ordinal_num=another_export_name
因此,如果我们从您提到的列表中获取
msi.dll
,其sdb
文件将看起来像这样:...
232=Migrate10CachedPackagesW
1=MsiAdvertiseProductA
223=MsiAdvertiseProductExA
224=MsiAdvertiseProductExW
2=MsiAdvertiseProductW
...
这些文件然后由
MakeFile
编译。要为DLL添加sdb
文件,可以遵循radare2文档中的“ sdb_ordinal.md”文章。
评论
更新了问题。如果您可以扩展并专门讨论radare附带的sdb文件(现在是问题中),那真是太好了。
–埃文·卡洛尔(Evan Carroll)
18年1月25日在8:46
当然,已更新相关信息
–巨型甜菜
18年1月25日在10:08
还有Shim数据库:msdn.microsoft.com/en-us/library/bb432182%28v=vs.85%29.aspx也是.sdb文件
–安东·库科巴(Anton Kukoba)
18年1月26日在9:33