| afl-tmin(8) | System Manager's Manual | afl-tmin(8) |
نام (NAME)
afl-tmin - ابزار کمینهسازی و کوچکسازی موارد آزمون در AFL++
خلاصه دستور (SYNOPSIS)
afl-tmin [ options ] -- /path/to/target_app [ ... ]
گزینهها (OPTIONS)
پارامترهای الزامی:
-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: دایرکتوری مورد استفاده برای پروندههای ورودی موقت
نویسندگان (AUTHORS)
پروژه 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
مجوز (LICENSE)
پروژه AFL++ تحت مجوز AGPL-3.0-or-later منتشر شده است، همراه با بخشهای اصلی تحت Apache-2.0؛ یک مجوز تجاری اختیاری نیز در دسترس است. مشاهده کنید: https://github.com/AFLplusplus/AFLplusplus/blob/stable/LICENSING.md
| 2026-06-05 | AFL++ |