| yara(1) | General Commands Manual | yara(1) |
نام (NAME)
yara - یافتن فایلهای منطبق با الگوها و قوانین نوشتهشده در یک زبان با کاربرد خاص
خلاصه دستور (SYNOPSIS)
yara [OPTION]... [NAMESPACE:]RULES_FILE... FILE | DIR | PID
توضیحات (DESCRIPTION)
دستور yara فایل دادهشده، تمام فایلهای موجود در دایرکتوری DIR یا فرایند مشخصشده با PID را برای یافتن تطابق با الگوها و قوانین ارائهشده در یک زبان با کاربرد خاص بررسی میکند. این قوانین از یک یا چند RULES_FILE خوانده میشوند.
گزینههای yara(1) عبارتند از:
- --atom-quality-table
- مسیر فایلی شامل جدول کیفیت اتم (atom quality table).
- -C --compiled-rules
- فایل RULES_FILE شامل قوانینی است که از پیش با yarac کامپایل شدهاند.
- -c --count
- تنها تعداد تطابقها را چاپ میکند.
- -d --define=identifier=value
- تعریف یک متغیر خارجی. این گزینه میتواند چندین بار استفاده شود.
- --fail-on-warnings
- در نظر گرفتن هشدارها به عنوان خطا. در صورت استفادهٔ همزمان با --no-warnings هیچ اثری ندارد.
- -f --fast-scan
- افزایش سرعت بررسی با جستجوی تنها اولین رخداد از هر الگو.
- -i identifier --identifier=identifier
- تنها قوانین با نام identifier را چاپ کرده و بقیه را نادیده میگیرد. این گزینه میتواند چندین بار استفاده شود.
- --max-process-memory-chunk=size
- هنگام بررسی حافظهٔ فرایند، دادهها را در تکههایی به اندازهٔ مشخصشده با size (بر حسب بایت) میخواند.
- -l number --max-rules=number
- متوقف کردن بررسی پس از تطابق به تعداد number از قوانین.
- --max-strings-per-rule=number
- تنظیم حداکثر تعداد رشتهها در هر قانون (پیشفرض=10000).
- -x --module-data=module=file
- ارسال محتوای فایل به عنوان دادهٔ اضافی به ماژول. این گزینه میتواند چندین بار استفاده شود.
- -n --negate
- چاپ قوانینی که صدق نمیکنند (نقیض).
- -w --no-warnings
- غیرفعال کردن هشدارها.
- -m --print-meta
- چاپ فرادادههای (metadata) مرتبط با قانون.
- -D --print-module-data
- چاپ دادههای ماژول.
- -M --module-names
- نمایش نام ماژولها.
- -e --print-namespace
- چاپ فضای نام (namespace) مرتبط با قانون.
- -S --print-stats
- چاپ آمار قوانین.
- -s --print-strings
- چاپ رشتههای یافتشده در فایل.
- -L --print-string-length
- چاپ طول رشتههای یافتشده در فایل.
- -X --print-xor-key
- چاپ کلید xor رشتههای منطبقشده.
- -g --print-tags
- چاپ برچسبهای مرتبط با قانون.
- -r --recursive
- بررسی بازگشتی فایلها در دایرکتوریها. پیوندهای نمادین (symlinks) دنبال میشوند.
- --scan-list
- بررسی فایلهای فهرستشده در FILE، در هر خط یک مورد.
- -z size --skip-larger=size
- هنگام بررسی یک دایرکتوری، از فایلهای بزرگتر از size مشخصشده (بر حسب بایت) صرفنظر میکند.
- -k slots --stack-size=slots
- تنظیم حداکثر اندازهٔ پشته به تعداد مشخصشده با slots.
- --strict-escape
- چاپ هشدار در صورتی که قوانین شامل عبارات گریز (escape statements) مبهم باشند.
- -t tag --tag=tag
- تنها قوانین با برچسب tag را چاپ کرده و بقیه را نادیده میگیرد. این گزینه میتواند چندین بار استفاده شود.
- -p number --threads=number
- استفاده از تعداد مشخصشده با number رشته (thread) برای بررسی یک دایرکتوری.
- -a seconds --timeout=seconds
- متوقف کردن بررسی پس از گذشت مدتزمان مشخصشده به seconds (بر حسب ثانیه).
- -v --version
- نمایش اطلاعات نسخه.
مثالها (EXAMPLES)
$ yara /foo/bar/rules .
اعمال قوانین موجود در /foo/bar/rules بر روی تمام فایلهای دایرکتوری جاری. زیردایرکتوریها بررسی نمیشوند.
$ yara -t Packer -t Compiler /foo/bar/rules bazfile
اعمال قوانین موجود در /foo/bar/rules بر روی bazfile. تنها قوانینی گزارش میشوند که دارای برچسب Packer یا Compiler باشند.
$ cat /foo/bar/rules | yara -r /foo
بررسی تمام فایلهای درون دایرکتوری /foo و زیردایرکتوریهای آن. قوانین از ورودی استاندارد خوانده میشوند.
$ yara -d mybool=true -d myint=5 -d mystring="my string" /foo/bar/rules bazfile
سه متغیر خارجی mybool، myint و mystring را تعریف میکند.
$ yara -x cuckoo=cuckoo_json_report /foo/bar/rules bazfile
اعمال قوانین موجود در /foo/bar/rules بر روی bazfile همزمان با ارسال محتوای cuckoo_json_report به ماژول cuckoo.
نویسندگان (AUTHORS)
Victor M. Alvarez <plusvic@gmail.com>;<vmalvarez@virustotal.com>
| 22 سپتامبر 2008 | Victor M. Alvarez |