apksigcopier(1) راهنمای دستورهای عمومی apksigcopier(1)

apksigcopier - کپی، استخراج و اعمال امضاهای APK اندروید و مقایسه APKها

apksigcopier copy [options] signed_apk unsigned_apk output_apk

apksigcopier extract [options] signed_apk output_dir

apksigcopier patch [options] metadata_dir unsigned_apk output_apk

apksigcopier compare [options] first_apk second_apk

apksigcopier --version

apksigcopier --help

apksigcopier [command] --help

ابزاری در خط فرمان برای کپی کردن امضاهای APK اندروید از یک APK امضاشده به یک APK بدون امضا (به منظور اعتبارسنجی ساخت‌های تکرارپذیر یا reproducible builds). همچنین می‌تواند برای مقایسه دو APK با امضاهای متفاوت به کار رود.

کپی کردن (استخراج و اعمال یا patch) امضاها از APK امضاشده به APK بدون امضا.

استخراج امضاهای APK از APK امضاشده.

اعمال امضاهای استخراج‌شده APK بر روی APK بدون امضا.

مقایسه دو APK از طریق کپی کردن امضا از APK اول به یک نسخه از APK دوم و بررسی اینکه آیا APK حاصل اعتبارسنجی می‌شود یا خیر.

این دستور به apksigner(1) نیاز دارد.

توجه: کپی کردن از یک APK دارای امضای v1 ایجادشده با signflinger به یک APK امضاشده با apksigner کار می‌کند، در حالی که حالت برعکس ناموفق خواهد بود؛ پرسش‌های متداول را در README ببینید.

--v1-only [no|auto|yes]

انتظار داشتن فقط یک امضای v1: مقدار no به این معنی است که انتظار یک امضای v2 نیز وجود دارد، مقدار auto یعنی وجود امضای v2 به صورت خودکار شناسایی می‌شود، و مقدار yes یعنی انتظار وجود امضای v2 نیست (و در صورت وجود نادیده گرفته می‌شود). پیش‌فرض: no.

همچنین می‌توانید به جای آن متغیر محیطی APKSIGCOPIER_V1_ONLY را تنظیم کنید.

--unsigned

پذیرفتن second_apk بدون امضا.

--min-sdk-version

هنگام اعتبارسنجی به apksigner(1) ارسال می‌شود.

--verify-cmd

دستور (همراه با آرگومان‌ها) مورد استفاده برای اعتبارسنجی APKها. پیش‌فرض: apksigner verify.

متغیرهای محیطی زیر را می‌توان روی 1، yes، یا true تنظیم کرد تا رفتار پیش‌فرض بازنویسی شود.

مستثنی کردن تمام پرونده‌های فراداده (metadata)، نه فقط MANIFEST.MF.

کپی کردن بایت‌های اضافی پس از داده‌ها (به عنوان مثال یک امضای v2 موجود).

صرف‌نظر از هم‌ترازی مجدد ورودی‌های ZIP.

$ mkdir meta
$ apksigcopier extract signed.apk meta
$ ls -1 meta
8BEA2A77.RSA
8BEA2A77.SF
APKSigningBlock
APKSigningBlockOffset
MANIFEST.MF

$ apksigcopier patch meta unsigned.apk out.apk

$ apksigcopier copy signed.apk unsigned.apk out.apk

$ apksigcopier compare foo-from-fdroid.apk foo-built-locally.apk
$ apksigcopier compare foo.apk --unsigned foo-unsigned.apk

apksigner(1)

حق نشر © 2023 FC Stegerman. مجوز GPLv3+: گنو GPL نسخه ۳ یا بالاتر https://gnu.org/licenses/gpl.html. این یک نرم‌افزار آزاد است: شما برای تغییر و بازتوزیع آن آزاد هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون اجازه می‌دهد.

FC Stegerman flx@obfusk.net.

2023-02-08 v1.1.1