SDB

SDB的含义是String DataBase,它是一个由pancake开发的仅用于操作字符串的键值对数据库。因其小巧而高效,可作为steroids中的哈系表,r2中的许多地方都用其作为磁盘数据库或内存数据库。

SDB是一个简单的字符串键值数据库,基于djb的cdb磁盘存储开发。其还支持JSON和数组对象的自省。

sdbtypes则是一个vala库,在sdb或memcache实例之上实现了多种数据结构。

SDB 支持:

  • namespaces (multiple sdb paths)

  • atomic database sync (never corrupted)

  • bindings for vala, luvit, newlisp and nodejs

  • commandline frontend for sdb databases

  • memcache client and server with sdb backend

  • arrays support (syntax sugar)

  • json parser/getter

用法示例

我们先创建一个数据库!

$ sdb d hello=world
$ sdb d hello
world

使用数组

试试json

不使用磁盘数据库的情况下使用命令行:

移除数据库

还有呢?

现在可以在radare2 session中完成这些了!

我们以一个小文件作为例子讲解,看看有哪些东西已经被sdb化(sdbized)了

对应于第六个文件描述符的文件是x86_32二进制文件。

string是经过Base64编码后保存的。

更多的例子

列出所有命名空间

列出所有子命名空间

列出所有key

设置key

获取key对应的值

列出所有syscall

列出所有注释

显示给定偏移位置上的注释

最后更新于

这有帮助吗?