RAHASH2(1) General Commands Manual RAHASH2(1)

rahash2 — ابزار محاسبه هش، کدگذاری و رمزنگاری مبتنی بر بلوک

rahash2 [-BehjkLqRrvX] [-b S] [-a A] [-c H] [-E A] [-D A] [-s S] [-f O] [-t O] [-i num] [-I iv] [-S seed] [-x hexstr] [file ...]

ابزاری برای محاسبه، اعتبارسنجی و نمایش مقادیر هش برای هر بلوک از فایل با اندازه بلوک پیش‌فرض ۳۲۷۶۸ بایت. این ابزار با استفاده از «-» ورودی استاندارد را می‌خواند و از مقایسه با هش‌های مشخص از طریق کدهای وضعیت خروج پشتیبانی می‌کند.

معمولاً برای تحلیل جرم‌شناسی دیجیتال، تشخیص تغییرات فایل و پردازش بهینه فایل‌های بزرگ استفاده می‌شود.

از محاسبه آنتروپی، هش هدفمند بخش‌هایی از فایل یا رشته‌ها، و همچنین کدگذاری، رمزگشایی، رمزنگاری و رمزگشایی با استفاده از الگوریتم‌های رمزنگاری گوناگون پشتیبانی می‌کند.

algo
فهرست الگوریتم‌ها با جداکننده کاما (پیش‌فرض «sha256» است)
bsize
مشخص کردن اندازه بلوک (به‌جای کل فایل)
نمایش هش به ازای هر بلوک
hash
مقایسه با این هش
تعویض ترتیب بایت‌ها (استفاده از little endian)
algo
رمزنگاری. از -S برای تنظیم کلید و از -I برای تنظیم بردار مقداردهی اولیه (IV) استفاده کنید
algo
رمزگشایی. از -S برای تنظیم کلید و از -I برای تنظیم بردار مقداردهی اولیه (IV) استفاده کنید
from
شروع هش‌کردن از آدرس مشخص‌شده
num
تکرار هش در N دور (مانند 3DES)
iv
استفاده از بردار مقداردهی اولیه (IV) داده‌شده (هگزادسیمال یا به‌صورت s:string)
خروجی در قالب JSON
خروجی ساده‌شده جدید JSON (معادل -jj)
seed
استفاده از سید (seed) داده‌شده (هگزادسیمال یا به‌صورت s:string)، استفاده از ^ برای پیشوند (کلید برای -E). استفاده از «-» کلید را از ورودی استاندارد می‌خواند و پیشوند @ به یک فایل اشاره می‌کند
نمایش هش با استفاده از الگوریتم randomkey در openssh
اجرا در حالت بی‌صدا (استفاده از -qq فقط هش را نمایش می‌دهد)
فهرست کردن پلاگین‌های muta (قابل ترکیب با -q, مورد استفاده توسط -a, -E و -D)
خروجی دستورات radare (کامنت‌ها)، برای مثال:
$ rahash2 -a sha1 -r file | r2 -qni file
خروجی دستورات sdb رادار۲ جهت ذخیره هش‌ها ذیل کلیدهای file.<algo> (با هر نام الگوریتمی کار می‌کند)، برای مثال:
$ rahash2 -a sha1 -R file | r2 -qni file

گزینه -R در rahash2 با -B (هش به ازای هر بلوک) ناسازگار است.

string
محاسبه هش این رشته به‌جای فایل‌ها
to
توقف هش‌کردن در آدرس مشخص‌شده
hexstr
محاسبه هش این رشته جفت‌هگز به‌جای فایل‌ها
خروجی به‌صورت جفت‌هگز به‌جای باینری یا متن خام
نمایش اطلاعات نسخه

دستور rahash2 از هیچ متغیر محیطی استفاده نمی‌کند.

محاسبه هش MD5 فایل باینری «ls»:


$ rahash2 -qqa md5 /bin/ls

محاسبه هش SHA256 یک رشته از ورودی استاندارد:


$ echo -n "Hello, World" | rahash2 -a sha256 -
$ rahash2 -a sha256 -s "Hello, World"

مقایسه CRC32 فایل داده‌شده جهت اطمینان از تغییر نیافتن آن:


$ rahash2 -qqa crc32 /bin/ls
63212007
$ rahash2 -a crc32 -c 63212007 /bin/ls
INFO: Computed hash matches the expected one
$ echo $?
0

فهرست کردن تمام پلاگین‌های muta (هش، رمزنگاری، انکودر، جدول نویسه):


$ rahash2 -L

کدگذاری رشته «Hello World» با base64:


$ rahash2 -E base64 -s "Hello World"

محاسبه هش SHA256 بخش مشخصی از یک فایل:


$ rahash2 -qqa sha256 -f 0x1000 -t 0x2000 file_to_hash

رمزنگاری و رمزگشایی رشته «hello» با استفاده از پلاگین‌های ror و rol:


$ rahash2 -S 12333 -E ror -s hello && echo
Cell{
$ rahash2 -S 12333 -E rol -s Cell{ && echo
hello

رمزنگاری و رمزگشایی با استفاده از AES-CBC:


$ export AES_KEY="11111111111111111111111111113211"
$ rahash2 -E aes-ecb -S "$AES_KEY" -s "hello world you bastard" > .file
$ cat .file | rahash2 -D aes-ecb -S "$AES_KEY" -s - && echo

رمزنگاری یک فایل با استفاده از Blowfish و خروجی دادن آن در قالب JSON:


$ rahash2 -E blowfish -S "11111111111111111111111111113211" -j /bin/ls > ls.json

The rahash2 utility exits 0 on success, and >0 if an error occurs.

هنگام استفاده از گزینه -c, کد وضعیت خروج ۰ نشان‌دهنده تطابق هش مورد انتظار با هش محاسبه‌شده است.

radare2(1)

pancake <pancake@nopcode.org>

July 10, 2025