"Use rsbkb for binary data manipulation, CLI tools: hex unhex urlenc urldec crc16 crc32 crc b64 d64 bofpattoff bofpatt xor entropy slice bgrep findso tsdec tsenc deflate inflate base escape unescape"
Resources
9Install
npx skillscat add trou/rsbkb Install via the SkillsCat registry.
Overview
rsbkb is a versatile collection of command-line tools (applets) designed for rapid data transformation and analysis. It functions similarly to busybox, where a single binary provides multiple utilities that can be chained together via pipes to perform complex operations, effectively serving as a high-performance CLI alternative to CyberChef.
Key Capabilities
Encoding & Decoding
- Hex:
hex(encode),unhex(flexible decoding of hex strings and mixed data). - Base64:
b64(encode),d64(decode), with URL-safe support via-u. - URL:
urlenc(encode),urldec(decode) with advanced escaping options.
Binary Analysis & Hacking
- Search:
bgrepfor binary pattern matching using hex or regex. - Entropy:
entropyto calculate Shannon entropy for identifying packed or encrypted data. - Exploitation:
bofpattandbofpattofffor cyclic pattern generation and offset calculation. - Timestamps:
tsdecfor decoding Unix epochs (various precisions) and Windows FILETIME. - Library Analysis:
findsoto locate which ELF shared object exports a specific symbol.
Data Transformation
- Slicing:
sliceextracts byte ranges using absolute, relative, or end-relative offsets. - Logic:
xorapplies XOR operations using hex keys or key files. - Checksums:
crc,crc16, andcrc32supporting numerous standard algorithms. - Compression:
inflateanddeflatefor raw or Zlib-wrapped streams. - String Handling:
escapeandunescapefor various shell and programming string formats. - Base Conversion:
basefor arbitrary radix conversion of large integers.
Input Model
Applets fall into three categories based on how they receive input:
Stdin / value applets (do NOT take a file path argument)
These read binary data from stdin (piped) or as an optional inline [value] argument.
Do not pass a filename to these — pipe the data in or provide the value directly.
| Applet(s) | Notes |
|---|---|
entropy |
pipe data in: cat file | entropy |
hex, unhex |
encode/decode hex |
b64, d64 |
encode/decode base64 |
urlenc, urldec |
encode/decode URL |
escape, unescape |
string escaping |
inflate, deflate |
compression |
crc16, crc32 |
checksums (data via stdin) |
crc |
requires algorithm type arg; data via stdin/value |
xor |
requires -x KEY or -f keyfile; data via stdin/value |
base |
integer base conversion; value via stdin/arg |
tsdec, tsenc |
timestamp value via stdin/arg |
File applets (require a file path argument)
These take an explicit file path as a positional argument — they do not read the target data from stdin.
| Applet | Signature |
|---|---|
slice |
slice <file> <start> [end] — use - for stdin |
bgrep |
bgrep [opts] <pattern> <path>... |
findso |
findso [opts] <function> [files]... |
Value-argument applets (take a non-file, non-binary value)
These take a specific numeric or string value as a positional argument, not data to process.
| Applet | Argument |
|---|---|
bofpatt |
<length> — numeric pattern length |
bofpattoff |
<extract> — pattern string or 0xAABBCCDD register value |
Usage Guidelines
- Piping: Stdin applets chain naturally:
slice file 0x10 +64 | xor -x deadbeef | b64 -ucat firmware.bin | entropy - Invocation: Call via
rsbkb <applet> [args]or via symlinks created byrsbkb symlink. - Help: Detailed documentation for any applet is available via
rsbkb help <applet>.
When to Apply
- Reverse Engineering: Decoding obfuscated strings, extracting payloads, or identifying compression.
- Exploit Development: Calculating buffer offsets and formatting strings for shell use.
- Digital Forensics: Analyzing binary blobs, searching for signatures, and normalizing timestamps.
- CTFs: Solving data manipulation challenges quickly through the command line.