afl-tmin(8) System Manager's Manual afl-tmin(8)

afl-tmin - ابزار کمینه‌سازی و کوچک‌سازی موارد آزمون در AFL++

afl-tmin [ options ] -- /path/to/target_app [ ... ]

پارامترهای الزامی:
  -i file       - پرونده آزمون ورودی جهت کوچک‌سازی توسط ابزار
  -o file       - محل ذخیره خروجی نهایی داده‌های کمینه‌شده
تنظیمات کنترل اجرا:
  -f file       - پرونده ورودی خوانده‌شده توسط برنامه تحت آزمون (stdin)
  -t msec       - مهلت زمانی برای هر بار اجرا (1000 ms)
  -m megs       - محدودیت حافظه برای فرآیند فرزند (0 MB)
  -O            - استفاده از ابزار دقیق فقط باینری (حالت FRIDA)
  -Q            - استفاده از ابزار دقیق فقط باینری (حالت QEMU)
  -U            - استفاده از ابزار دقیق مبتنی بر Unicorn (حالت Unicorn)
  -W            - استفاده از ابزار دقیق مبتنی بر QEMU با Wine (حالت Wine)
                  (غیرضروری، صرفاً برای سازگاری با سایر ابزارهای afl-*)
  -X            - استفاده از حالت Nyx
  -K dir        - استفاده از اسکریپت پایتون برای تعامل با واسط گرافیکی (حالت GUI)
تنظیمات کمینه‌سازی:
  -e            - حل صرفاً برای پوشش لبه‌ها، نادیده گرفتن تعداد دفعات برخورد (hit counts)
  -l bytes      - تعیین حداقل طول حذف بلوک جهت افزایش سرعت کمینه‌سازی
  -x            - در نظر گرفتن کدهای خروج غیرصفر به‌عنوان فروپاشی (crash)
  -H            - کمینه‌سازی یک توقف/تعلیق برنامه (حالت hang)
برای نکات بیشتر، لطفاً به docs/README.md مراجعه کنید.
متغیرهای محیطی مورد استفاده:
AFL_CRASH_EXITCODE: کد خروج اختیاری فرآیند فرزند که به‌عنوان کرش تفسیر شود
AFL_FORKSRV_INIT_TMOUT: مدت زمان انتظار برای forkserver در حین راه‌اندازی (به میلی‌ثانیه)
AFL_KILL_SIGNAL: شناسه سیگنال ارسالی به فرآیندهای فرزند هنگام اتمام مهلت زمانی و غیره
                 (پیش‌فرض: SIGKILL)
AFL_FORK_SERVER_KILL_SIGNAL: سیگنال قطع (kill) برای fork server هنگام خاتمه
                             (پیش‌فرض: SIGTERM). اگر مقداردهی نشده باشد و AFL_KILL_SIGNAL
                             تنظیم شده باشد، از همان مقدار استفاده می‌شود.
AFL_MAP_SIZE: اندازه حافظه مشترک برای برنامه هدف. باید >= اندازه‌ای باشد
              که برنامه هدف برای آن کامپایل شده است
AFL_PRELOAD:  تنظیمات LD_PRELOAD / DYLD_INSERT_LIBRARIES برای برنامه هدف
AFL_INPUT_PLACEHOLDER: جانگهدار سفارشی برای پرونده ورودی (پیش‌فرض: @@)
AFL_TMIN_EXACT: الزام به تطابق مسیرهای اجرا برای ورودی‌های دچار فروپاشی
AFL_NO_FORKSRV: اجرای برنامه هدف از طریق execve به‌جای استفاده از forkserver
ASAN_OPTIONS: تنظیمات سفارشی برای ASAN
              (باید شامل abort_on_error=1 و symbolize=0 باشد)
MSAN_OPTIONS: تنظیمات سفارشی برای MSAN
              (باید شامل exitcode=86 و symbolize=0 باشد)
TMPDIR: دایرکتوری مورد استفاده برای پرونده‌های ورودی موقت

پروژه 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++