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 -u cat 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.