RASIGN2(1)
π RASIGN2 π
okay bestie, gather round, because today we're talking about rasign2 β that's the radare2 signature management tool, from the radare2 manual page family. it's giving "I make zignatures and I make them correctly." let's get into it π¦
β¨ SYNOPSIS β¨
rasign2 [-afjhqrvSm] [-A [AAA]] [-i script.r2] [-o sigs.sdb]
[-s signspace] [-c] [file]
πΈ DESCRIPTION πΈ
so what does this icon actually do? rasign2 generates, dumps, and manages zignature scripts β for function identification and cataloging. and what's a zignature, you ask? zignatures are Radare2 scripts that capture metadata associated with function signatures. that's the whole vibe. π
it also:
- supports interpretation of FLIRT
.sigfiles - can execute zignature scripts
- can export signatures in various formats
lowkey a whole toolkit. no cap. β¨
π OPTIONS π
one bullet per flag, no skipping, we respect the flag economy in this house:
-aβ make signatures from all.ofiles in the.afile you hand over-A [AAA]β same asr2 -A, and yes bestie, the moreAs you stack the more analysis gets performed π₯-fβ interpret the file as a FLIRT.sigfile and dump signatures-hβ show the help menu (our beloved)-jβ show signatures in json-i script.r2β execute this script inside the r2 instance-o sigs.sdbβ add signatures to file, and create it if it does not exist π-qβ quiet mode (shhh π€«)-rβ show output in radare commands-Sβ perform the operation on ansdbsignature file (and psst:-o -saves to the same file)-s signspaceβ save all signatures under this signspace-cβ add collision signatures before writing the file-vβ show version information-mβ merge/overwrite signatures with the same name
π ENVIRONMENT π
okay so here's the tea: rasign2 does not use any environment variables. that's it, that's the section. a clean girl. she needs nothing from your shell. π
β¨
π«Ά EXAMPLES π«Ά
these are the moments, fr fr. copy them exactly, they're doing bits:
generate signatures from a library file:
$ rasign2 -o libc.sdb libc.so.6
perform deep analysis before generating signatures:
$ rasign2 -AA -o enhanced_libc.sdb libc.so.6
output signatures in JSON format:
$ rasign2 -j input_file
show signatures as radare2 commands:
$ rasign2 -r input_file
merge new signatures into an existing file:
$ rasign2 -m -o existing.sdb new_binary
extract signatures from a FLIRT .sig file:
$ rasign2 -f flirt_signatures.sig
ate. no crumbs. π
π THE Z COMMAND IN RADARE2 π
not me bringing up the z command but it's literally the main character here. the z command in radare2 is dedicated to the management of binary signatures, known as zignatures. here are the key subcommands, bestie, memorize them iykyk:
zβ show zignaturesz.β find matching zignatures in current offsetzbβ search for best matchzdβ diff current function and signaturez*β show zignatures in radare formatzoβ manage zignature fileszfβ manage FLIRT signaturesz/β search zignatureszcβ compare current zignspace zignatureszsβ manage zignspacesziβ show zignatures matching information
these commands facilitate a robust workflow for binary analysis, enabling the identification of known functions and comparing binary similarities. β¨ (yes that sentence is doing the heavy lifting and yes it's correct.)
π§ SUPPORTED ZIGNATURE METRICS π§
zignatures in radare2 can be created with various metrics β here's the whole alphabet of vibes:
aβ bytes pattern (masked)bβ raw bytes patterncβ base64 commentnβ real function namegβ graph metrics (complexity, edges, basic blocks)oβ original offsetrβ referencesxβ cross referenceshβ basic block hashesvβ variables and arguments
π SEE ALSO π
radare2(1)β go read that one too, bestie, it's the parent lore
πΈ AUTHORS πΈ
- pancake
<pancake@nopcode.org>π
bestie reminder: this page is from the radare2 manual, dated Jul 10, 2025, and the page you just read is RASIGN2(1). slay, go make some signatures, and remember β every flag, every metric, every example, all preserved, periodt. π β¨π
π¦ where this page comes from
- alpine 3.24: radare2-doc 6.1.6-r0 Β· GPL-3.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later
- arch rolling: radare2 6.2.2-1 Β· GPL-3.0-only AND LGPL-3.0-only
- nixos 26.05: radare2 6.1.8
- nixpkgs unstable: radare2 6.2.4
- opensuse-leap 16.0: radare2 6.2.2-bp160.1.1 Β· GPL-3.0-only AND LGPL-3.0-only
- opensuse-leap 16.0: radare2 6.2.2-bp160.1.1 Β· GPL-3.0-only AND LGPL-3.0-only
- opensuse-leap 16.0: radare2 6.2.2-bp160.1.1 Β· GPL-3.0-only AND LGPL-3.0-only
- opensuse-leap 16.0: radare2 6.2.2-bp160.1.1 Β· GPL-3.0-only AND LGPL-3.0-only
- ubuntu resolute: radare2 6.0.7+ds-1 Β· LGPL-3.0-only
- ubuntu stonking: radare2 6.1.8+ds-1 Β· LGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms