afl-cmin.awk(8) System Manager's Manual afl-cmin.awk(8)

afl-cmin.awk - ابزار کمینه‌سازی پیکره آزمون در AFL++ (پیاده‌سازی با AWK)

afl-cmin

afl-cmin [ گزینه‌ها ] -- /path/to/target_app [ ... ]
پارامترهای الزامی:
  -i dir        - دایرکتوری ورودی حاوی پیکره اولیه (starting corpus)
  -o dir        - دایرکتوری خروجی برای پرونده‌های کمینه‌شده
تنظیمات کنترل اجرا:
  -T tasks      - تعداد وظایف همزمان برای اجرا (پیش‌فرض: 1، all=nproc)
  -f file       - مکانی که توسط برنامه تحت فاز خوانده می‌شود (پیش‌فرض: stdin)
  -m megs       - محدودیت حافظه برای فرآیند فرزند (مگابایت)
  -t msec       - محدودیت زمان اجرا برای فرآیند فرزند (پیش‌فرض: 5000)
  -O            - استفاده از ابزار دقیق فقط‌باینری (حالت FRIDA)
  -Q            - استفاده از ابزار دقیق فقط‌باینری (حالت QEMU)
  -U            - استفاده از ابزار دقیق مبتنی بر Unicorn (حالت unicorn)
  -X            - استفاده از حالت Nyx
تنظیمات کمینه‌سازی:
  -A            - مجاز دانستن فروپاشی‌ها و اتمام مهلت زمانی (توصیه نمی‌شود)
  -C            - نگه‌داشتن ورودی‌های منجر به فروپاشی و رد سایر موارد
  -e            - حل صرفاً برای پوشش لبه‌ها، نادیده گرفتن تعداد دفعات برخورد (hit counts)
برای نکات بیشتر، لطفاً به README.md مراجعه کنید
متغیرهای محیطی مورداستفاده:
AFL_CRASH_EXITCODE: کد خروج اختیاری فرآیند فرزند برای تفسیر به‌عنوان فروپاشی
AFL_FORKSRV_INIT_TMOUT: مدت زمانی که فازر منتظر بالا آمدن سرور fork می‌ماند
AFL_KEEP_TRACES: باقی گذاشتن دایرکتوری موقت <out_dir>/.traces
AFL_KILL_SIGNAL: سیگنال ارسالی به فرآیندهای فرزند هنگام اتمام مهلت زمانی (پیش‌فرض: SIGKILL)
AFL_FORK_SERVER_KILL_SIGNAL: سیگنال ارسالی به فرآیندهای سرور fork هنگام
   خاتمه (پیش‌فرض: SIGTERM). اگر این مقدار تنظیم نشده باشد و AFL_KILL_SIGNAL
   تنظیم شده باشد، به همان مقدار AFL_KILL_SIGNAL تنظیم خواهد شد.
AFL_NO_FORKSRV: اجرای برنامه هدف از طریق execve به‌جای استفاده از سرور fork
AFL_CMIN_ALLOW_ANY: نوشتن تاپل‌ها برای ورودی‌های منجر به فروپاشی نیز
AFL_PATH: مسیر باینری afl-showmap در صورتی که در PATH پیدا نشود
AFL_PRINT_FILENAMES: در صورت تنظیم، نام پرونده در حال پردازش در stdout چاپ می‌شود
AFL_SKIP_BIN_CHECK: صرف‌نظر کردن از بررسی‌های ابزار دقیق afl برای باینری هدف

پروژه AFL++ توسط Michal "lcamtuf" Zalewski نوشته شده است و توسط Marc "van Hauser" Heuse <mh@mh-sec.de>، Dominik Maier <domenukk@gmail.com>، Andrea Fioraldi <andreafioraldi@gmail.com> و Heiko "hexcoder-" Eissfeldt <heiko.eissfeldt@hexco.de> نگهداری می‌شود.

صفحه خانگی AFL++ در نشانی زیر در دسترس است: https://github.com/AFLplusplus/AFLplusplus

پروژه AFL++ تحت مجوز AGPL-3.0-or-later منتشر شده است، همراه با بخش‌های اصلی تحت Apache-2.0؛ یک مجوز تجاری اختیاری نیز در دسترس است. مشاهده کنید: https://github.com/AFLplusplus/AFLplusplus/blob/stable/LICENSING.md

2026-06-05 AFL++