| SCANMACHO(1) | Documentation for pax-utils | SCANMACHO(1) |
نام (NAME)
scanmacho - ابزار فضای کاربری برای بررسی فایلهای Mach-O
خلاصه دستور (SYNOPSIS)
scanmacho [گزینهها] Mach-Oها یا دایرکتوریها
توضیحات (DESCRIPTION)
دستور scanmacho یک ابزار فضای کاربری برای بررسی سریع اطلاعات مختلف در فایلهای Mach-O، دایرکتوریها یا مسیرهای رایج سیستم است. این اطلاعات میتواند شامل انواع Mach-O، مقادیر install_name آنها و غیره باشد...
از آنجا که فایلهای Mach-O میتوانند چندمعماری (fat) باشند، ممکن است یک فایل چندین خط خروجی تولید کند. هر خط نشاندهنده یک معماری واحد موجود در فایل چندمعماری (universal یا fat) است. اگرچه محدودیت واقعی وجود ندارد، اما در عمل، مدخلها بر اساس نوع معماری آنها قابل تشخیص هستند، مانند ppc، ppc64، i386، x86_64، arm و غیره...
گزینهها (OPTIONS)
-A, --archives
-a, --all
-B, --nobanner
-b, --bind
-D, --endian
-E, --etype filetype
-F, --format FORMAT
-f, --from FILE
-g, --gmatch
-h, --help
-i, --interp
-M, --bits BITS
-m, --mount
-N, --lib INSTALLNAME
-n, --needed
-O, --perms PERMS
-o, --file FILE
-p, --path
-q, --quiet
-R, --recursive
-r, --rpath
-S, --soname
-V, --version
-v, --verbose
-y, --symlink
-Z, --size SIZE
رشته قالب بسیار شبیه به یک رشته printf است؛ به این صورت که رشتهای دقیق (literal) شامل نشانگرهایی برای درخواست اطلاعات مختلف است. برای مثال، میتوانید از یک رشته قالب استفاده کرده و انتظار نتایج زیر را داشته باشید.
# scanmacho -BF "file %f needs %n; funky time" /bin/bash file bash needs /usr/lib/libncurses.5.4.dylib,/usr/lib/libSystem.B.dylib; funky time
توجه داشته باشید که هنگام استفاده از رشته قالب، عموماً پرچمهای مرتبط با اطلاعات باید حذف شوند. به عبارت دیگر، نباید همزمان خروجی NEEDED (-n) را درخواست کرده و خروجی قالب را مشخص کنید، زیرا این عملیات با یکدیگر مانعةالجمع هستند. هر پرچم مربوط به اطلاعات دارای یک مشخصکننده تبدیل معادل است، بنابراین به جای آن از مشخصکنندهها استفاده کنید. البته همچنان میتوانید از پرچمهای غیرمرتبط با اطلاعات (مانند --verbose) استفاده کنید.
سه نویسه وجود دارند که مشخصکنندههای تبدیل را معرفی میکنند.
• % - جایگزینی با اطلاعات
- •
- # - تطابق بولی بیصدا
- •
- + - تطابق همراه با جزئیات (verbose)
همچنین تعدادی مشخصکننده تبدیل وجود دارد. ما تلاش کردهایم هر مشخصکننده را با گزینه متناظر آن هماهنگ کنیم.
• a - نوع معماری
- •
- b - پرچمهای mach_header
- •
- D - ترتیب بایتها (endian)
- •
- F - نام طولانی فایل
- •
- f - نام کوتاه فایل
- •
- i - پیونددهنده dyld
- •
- M - کلاس CPU_TYPE
- •
- N - نیازمندی مشخصشده
- •
- n - کتابخانههای مورد نیاز
- •
- p - نام فایل (بدون مسیر جستجو)
- •
- o - فیلد mh_type
- •
- O - مجوزها
- •
- r - مسیرهای rpath
- •
- S - فیلد install_name
انواع فایل MACH-O (MACH-O FILETYPES)
میتوانید با مشخص کردن نوع فایل شیء Mach-O، جستجوی خود را محدودتر کنید. گزینه خط فرمان نام نمادین نوع را میپذیرد. چندین مقدار را میتوان با کاما از هم جدا کرد. مثال: -E MH_EXECUTE,MH_DYLIB
در اینجا فهرست معمول در دسترس برای استفاده شما آورده شده است.
• MH_OBJECT - فایل شیء میانی (.o)
- •
- MH_EXECUTE - برنامه اجرایی استاندارد
- •
- MH_BUNDLE - افزونه dlopen (.bundle)
- •
- MH_DYLIB - کتابخانه اشتراکی پویا (.dylib)
- •
- MH_PRELOAD - فایل اجرایی که توسط هسته Mac OS X بارگذاری نمیشود (ROM)
- •
- MH_CORE - فایل core حاصل از فروپاشی برنامه
- •
- MH_DYLINKER - کتابخانه اشتراکی پیونددهنده پویا (dyld)
- •
- MH_DYLIB_STUB - خردکتابخانه (stub) اشتراکی فقط برای حالت ایستا، بدون بخشها
- •
- MH_DSYM - فایل نمادهای اشکالزدایی (در پوشه .dSYM)
شما همچنین میتوانید جستجوی خود را با مشخص کردن اندازه بیت Mach-O محدود کنید. مقدار عددی را مشخص کنید.
• 32 - mach_header ۳۲ بیتی
- •
- 64 - mach_header_64 ۶۴ بیتی
صفحه خانگی (HOMEPAGE)
گزارش باگها (REPORTING BUGS)
لطفاً تا حد امکان اطلاعات بیشتری را درج کنید (با استفاده از هر گزینه اشکالزدایی موجود) و گزارشهای باگ را به نگهدارندهها ارسال کنید (بخش AUTHORS را ببینید). لطفاً در صورت امکان از Gentoo bugzilla در https://bugs.gentoo.org استفاده کنید.
همچنین ببینید (SEE ALSO)
chpax(1), dumpelf(1), paxctl(1), pspax(1), readelf(1), scanelf(1), elf(5)
نویسندگان (AUTHORS)
Ned Ludd <solar@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
Fabian Groffen <grobian@gentoo.org>
نکات (NOTES)
| 08/02/2026 | pax-utils 1.3.11 |