GoGPT Best VPN GoSearch

OnWorks فافيكون

upx-ucl - عبر الإنترنت في السحابة

قم بتشغيل upx-ucl في مزود الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر upx-ucl الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


upx - ضغط أو توسيع الملفات القابلة للتنفيذ

موجز


UPX [ أمر ] [ الخيارات ] اسم الملف

الملخص


Ultimate Packer for eXecutables
حقوق النشر (c) 1996-2013 Markus Oberhumer و Laszlo Molnar و John Reiser
http://upx.sourceforge.net

UPX عبارة عن أداة تعبئة قابلة للتنفيذ محمولة وقابلة للتمديد وعالية الأداء للعديد من الأنواع المختلفة
تنسيقات قابلة للتنفيذ. يحقق نسبة ضغط وعروض ممتازة *جداً* بسرعة
تخفيف الضغط. لا تعاني الملفات التنفيذية الخاصة بك من عبء الذاكرة أو عيوب أخرى لمعظم
التنسيقات المدعومة ، بسبب فك الضغط في الموضع.

بينما يمكنك استخدام ملفات UPX مجانًا لكل من الملفات التنفيذية غير التجارية والتجارية (على سبيل المثال لا الحصر
التفاصيل انظر الملف / usr / share / doc / upx-ucl / copyright) ، سنكون ممتنين للغاية إذا كنت
ائتمان UPX وأنفسنا في الوثائق ، وربما بما في ذلك إشارة إلى UPX
الصفحة الرئيسية. شكرًا.

[ استخدام UPX في التطبيقات غير مفتوحة المصدر بدون الاعتمادات المناسبة لا يعتبر كذلك
صحيح سياسيا ؛-) ]

إخلاء مسؤولية


UPX يأتي مع عدم وجود ضمان على الإطلاق ؛ لمزيد من التفاصيل انظر الملف
/ usr / share / doc / upx-ucl / copyright.

هذا هو أول إصدار لجودة الإنتاج ، ونحن نخطط لإصدارات 1.xx المستقبلية
تكون متوافقة مع الإصدارات السابقة مع هذا الإصدار.

الرجاء الإبلاغ عن جميع المشاكل أو الاقتراحات للمؤلفين. شكرًا.

الوصف


UPX عبارة عن حزمة متعددة الاستخدامات قابلة للتنفيذ مع الميزات التالية:

- نسبة ضغط ممتازة: ضغط أفضل من zip / gzip ،
استخدم UPX لتقليل حجم التوزيع الخاص بك!

- فك ضغط سريع جدًا: حوالي 10 ميغا بايت / ثانية على بنتيوم 133 قديمًا ،
حوالي 200 ميغا بايت / ثانية على Athlon XP 2000+.

- لا توجد ذاكرة محمولة للملفات التنفيذية المضغوطة لمعظم ملفات
التنسيقات المدعومة

- آمن: يمكنك سرد واختبار وفك ملفاتك التنفيذية
أيضًا ، المجموع الاختباري لكل من الملف المضغوط وغير المضغوط هو
تتم صيانتها داخليا.

- عالمي: يمكن لـ UPX حزم عدد من التنسيقات القابلة للتنفيذ:
* أتاري / توز
* bvmlinuz / 386 [نواة لينكس قابلة للتشغيل]
* djgpp2 / coff
* دوس / كوم
* دوس / إكس
* دوس / النظم
* لينكس / 386
* لينكس / elf386
* لينكس / sh386
* ps1 / exe
* rtm32 / pe
* تم / آدم
* vmlinuz / 386 [نواة لينكس قابلة للتشغيل]
* vmlinux / 386
* watcom / le (دعم DOS4G و PMODE / W و DOS32a و CauseWay)
* win32 / pe (exe و dll)
* ذراع / pe (exe و dll)
* لينكس / الفامد 64
* لينكس / elfppc32
* ماخ / elfppc32

- محمول: UPX مكتوب بلغة C ++ المحمولة المحايدة

- قابل للتمديد: من السهل جدًا دعمه بسبب تخطيط الفصل
تنسيقات جديدة قابلة للتنفيذ أو إضافة خوارزميات ضغط جديدة

- مجاني: يمكن توزيع UPX واستخدامه بحرية. ومن الإصدار 0.99
تم إصدار كود المصدر الكامل لـ UPX تحت GNU General Public
الترخيص (GPL)!

ربما تفهم الآن لماذا نتصل UPX ال "نهائي"باكر القابل للتنفيذ.

أوامر


ضغط
هذه هي العملية الافتراضية ، على سبيل المثال. UPX yourfile.exe سيضغط الملف المحدد في
سطر الأوامر.

أزال الضغط
الكل UPX يمكن فك حزم تنسيقات الملفات المدعومة باستخدام امتداد -d التبديل ، على سبيل المثال. UPX -d
yourfile.exe سيفك ضغط الملف الذي ضغطته للتو.

اختبار
إنّ كافة أنواع عهود الـ -t يختبر الأمر سلامة البيانات المضغوطة وغير المضغوطة ، على سبيل المثال. UPX -t
yourfile.exe تحقق مما إذا كان يمكن فك ضغط ملفك بأمان. لاحظ أن هذا الأمر
لا يتحقق من الملف بأكمله ، فقط الجزء الذي سيتم فك ضغطه أثناء البرنامج
تنفيذ. هذا يعني أنه لا يجب عليك استخدام هذا الأمر بدلاً من مدقق الفيروسات.

قائمة
إنّ كافة أنواع عهود الـ -l يقوم الأمر بطباعة بعض المعلومات حول الملفات المضغوطة المحددة في ملف
سطر الأوامر كمعلمات ، على سبيل المثال UPX -l yourfile.exe يظهر الملف المضغوط / غير المضغوط
حجم ونسبة ضغط yourfile.exe.

OPTIONS


-q: كن هادئًا ، وقم بإلغاء التحذيرات

-q -q (أو -Qq): كن هادئًا جدًا ، وقم بإيقاف الأخطاء

-q -q -q (أو -qqq): لا تنتج أي مخرجات على الإطلاق

--مساعدة: طباعة التعليمات

--الإصدار: طباعة نسخة UPX

- بالضبط: عند الضغط ، يجب أن تكون قادرًا على الحصول على ملف مطابق للبايت بعد ذلك
الضغط مع الخيار -d. [ملاحظة: هذا عمل قيد التقدم ولا يتم دعمه للجميع
الأشكال حتى الآن. إذا كنت تهتم ، كحل بديل ، يمكنك ضغط ملف
البرنامج للمرة الأولى - أي خطوات أخرى للضغط يجب أن ينتج عنها بايت-
نتائج متطابقة مقارنة بالإصدار الأول الذي تم فك ضغطه.]

[... يكتب ... - اكتب `UPX --مساعدة' في الوقت الراهن ]

COMPRESSION LEVELS & TUNING


UPX يقدم عشرة مستويات ضغط مختلفة من -1 إلى -9و --أفضل. الافتراضي
مستوى الضغط -8 للملفات الأصغر من 512 كيلوبايت و -7 غير ذلك.

· مستويات الضغط 1 و 2 و 3 سريعة جدًا.

· تحقق مستويات الضغط 4 و 5 و 6 أداءً جيدًا للوقت / النسبة.

· تفضل مستويات الضغط 7 و 8 و 9 نسبة الضغط على السرعة.

· مستوى الضغط --أفضل قد يستغرق وقتا طويلا.

لاحظ أن مستوى الضغط --أفضل يمكن أن يكون بطيئًا إلى حد ما بالنسبة للملفات الكبيرة ، لكنك
بالتأكيد يجب استخدامه عند إصدار نسخة نهائية من برنامجك.

معلومات سريعة لتحقيق أفضل نسبة ضغط:

· يحاول UPX - بغيض myfile.exe أو حتى UPX - غاشمة myfile.exe.

· حاول إذا - تراكب = شريط الأشغال.

لبرامج win32 / pe هناك --strip-relocs = 0. انظر الملاحظات أدناه.

OVERLAY معالجة OPTIONS


معلومات: يعني "التراكب" البيانات المساعدة المرفقة بعد النهاية المنطقية للملف القابل للتنفيذ ،
وغالبًا ما تحتوي على بيانات خاصة بالتطبيق (هذه ممارسة شائعة لتجنب ملف
ملف بيانات إضافي ، على الرغم من أنه سيكون من الأفضل استخدام أقسام الموارد).

UPX تراكبات المقابض مثل العديد من برامج الحزم القابلة للتنفيذ الأخرى: تقوم ببساطة بنسخ التراكب
بعد الصورة المضغوطة. هذا يعمل مع بعض الملفات ، لكنه لا يعمل مع الآخرين ،
اعتمادًا على كيفية وصول التطبيق فعليًا إلى هذه البيانات المتراكبة.

- overlay = نسخ أي بيانات إضافية مرفقة بالملف. [تقصير]

- Overlay = قم بإزالة أي تراكب من البرنامج بدلاً من
نسخه. كن حذرًا ، فقد يؤدي ذلك إلى ضغط
تعطل البرنامج أو غير قابل للاستخدام.

--overlay = skip رفض ضغط أي برنامج يحتوي على تراكب.

البيئة


متغير البيئة UPX يمكن أن تعقد مجموعة من الخيارات الافتراضية لـ UPX. هذه الخيارات
يتم تفسيره أولاً ويمكن الكتابة فوقه بواسطة معلمات سطر أوامر واضحة. ل
مثال:

لنظام التشغيل DOS / Windows: قم بتعيين UPX = -9 - ضغط الرموز # 0
لـ sh / ksh / zsh: UPX = "- 9 - أيقونات الضغط = 0" ؛ تصدير UPX
لـ csh / tcsh: setenv UPX "-9 - أيقونات الضغط = 0"

تحت DOS / Windows ، يجب عليك استخدام "#" بدلاً من "=" عند تعيين متغير البيئة
بسبب قيود COMMAND.COM.

ليست كل الخيارات صالحة في متغير البيئة - UPX سوف اقول لك.

يمكنك بشكل صريح استخدام ملف - لا-إنف خيار لتجاهل متغير البيئة.

الملاحظات لأي ال أيد تنفيذ صيغ


الملاحظات لأي أتاري / شروط الخدمة
هذا هو التنسيق القابل للتنفيذ الذي يستخدمه Atari ST / TT ، وهو جهاز شخصي يعتمد على Motorola 68000
الذي كان شائعًا في أواخر الثمانينيات. دعم هذا التنسيق فقط بسبب
مشاعر الحنين لأحد المؤلفين ولا تخدم أي غرض عملي :-). يرى
http://www.freemint.de للمزيد من المعلومات.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط. كل التصحيح
سيتم تجريد المعلومات ، رغم ذلك.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

الملاحظات لأي BVMLINUZ / I386
مثل vmlinuz / i386.

الملاحظات لأي DOS / COM
بوضوح UPX لن تعمل مع الملفات التنفيذية التي تريد قراءة البيانات من نفسها (مثل
بعض أدوات سطر الأوامر التي تأتي مع Win95 / 98 / ME).

تعمل البرامج المضغوطة فقط على 286+.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط.

الحد الأقصى للحجم غير المضغوط: ~ 65100 بايت.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

--8086 قم بإنشاء ملف تنفيذي يعمل على أي وحدة معالجة مركزية 8086.

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

- جميع المرشحات قم بضغط البرنامج عدة مرات ، باستخدام الكل
مرشحات المعالجة المسبقة المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
يعطي المرشح الافتراضي أفضل النتائج على أي حال.

الملاحظات لأي DOS / EXE
يشير دوس / إكس إلى كافة الملفات التنفيذية DOS ذات 16 بت "العادية".

بوضوح UPX لن تعمل مع الملفات التنفيذية التي تريد قراءة البيانات من نفسها (مثل
بعض أدوات سطر الأوامر التي تأتي مع Win95 / 98 / ME).

تعمل البرامج المضغوطة فقط على 286+.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

--8086 قم بإنشاء ملف تنفيذي يعمل على أي وحدة معالجة مركزية 8086.

- no-reloc لا تستخدم سجلات إعادة التوطين في رأس exe.

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

الملاحظات لأي DOS / SYS
تعمل البرامج المضغوطة فقط على 286+.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط.

الحد الأقصى للحجم غير المضغوط: ~ 65350 بايت.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

--8086 قم بإنشاء ملف تنفيذي يعمل على أي وحدة معالجة مركزية 8086.

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

- جميع المرشحات قم بضغط البرنامج عدة مرات ، باستخدام الكل
مرشحات المعالجة المسبقة المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
يعطي المرشح الافتراضي أفضل النتائج على أي حال.

الملاحظات لأي DJGPP2 / COFF
بادئ ذي بدء ، يوصى باستخدامه UPX *بدلاً من قطاع. الشريط لديه سيئة للغاية
عادة استبدال كعبك بإصداره الخاص (الذي عفا عليه الزمن). بالإضافة إلى ذلك UPX يصحح أ
علة / ميزة في الشريط v2.8.x: سيصلح محاذاة 4 كيلوبايت للكعب.

UPX يتضمن الوظائف الكاملة لـ stubify. هذا يعني أنه سيتم إيقافه تلقائيًا
ملفات COFF الخاصة بك. استخدم الخيار --قوف لتعطيل هذه الوظيفة (انظر أدناه).

UPX يعالج ملفات Allegro تلقائيًا.

تنسيق DLM (ملحق مكتبة مشتركة غريب نوعًا ما) غير مدعوم.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط. كل التصحيح
ومع ذلك ، سيتم تجريد المعلومات والقمامة الزائدة.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

--مقفل إنتاج COFF بدلاً من EXE. بشكل افتراضي
UPX يحتفظ بكعب الروتين الحالي.

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

- جميع المرشحات قم بضغط البرنامج عدة مرات ، باستخدام الكل
مرشحات المعالجة المسبقة المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
يعطي المرشح الافتراضي أفضل النتائج على أي حال.

الملاحظات لأي LINUX [عام]
المُقدّمة

يتكون دعم Linux / 386 في UPX من 3 تنسيقات مختلفة قابلة للتنفيذ ،
واحد مُحسَّن لملفات ELF التنفيذية ("linux / elf386") ، والآخر مُحسَّن
لبرامج shell النصية ("linux / sh386") ، وتنسيق عام واحد
("لينكس / 386").

سنبدأ بمناقشة عامة أولاً ، لكن من فضلكم
اقرأ أيضًا المستندات ذات الصلة لكل تنسيق من التنسيقات الفردية.

أيضًا ، هناك دعم خاص لنواة قابلة للتمهيد - راجع ملف
وصف تنسيق vmlinuz / 386.

نظرة عامة للمستخدم

يؤدي تشغيل برنامج مضغوط قابل للتنفيذ إلى استبدال مساحة أقل على ملف
وسيط تخزين `` دائم '' (مثل القرص الصلب ، القرص المرن ،
CD-ROM ، ذاكرة فلاش ، EPROM ، إلخ.) لمزيد من المساحة في واحد أو أكثر
وسائط التخزين `` المؤقتة '' (مثل ذاكرة الوصول العشوائي ومساحة التبديل / تمة، وما إلى ذلك).
يتطلب تشغيل ملف تنفيذي مضغوط أيضًا بعض وحدة المعالجة المركزية الإضافية
دورات لإنشاء ملف تنفيذي مضغوط في المقام الأول ،
وفك ضغطه عند كل احتجاج.

كم مساحة يتم تداولها؟ يعتمد ذلك على الملف القابل للتنفيذ ، ولكن الكثير
توفر البرامج 30٪ إلى 50٪ من مساحة القرص الدائمة. كم وحدة المعالجة المركزية
هل هناك؟ مرة أخرى ، هذا يعتمد على الملف القابل للتنفيذ ، ولكن
سرعة فك الضغط بشكل عام لا تقل عن عدة ميغا بايت في الثانية ،
وغالبًا ما تكون محدودة بسرعة القرص الأساسي
أو شبكة I / O.

حسب إحصائيات الاستخدام والوصول والنسب
سرعات وحدة المعالجة المركزية وذاكرة الوصول العشوائي ومساحة التبادل ، / تمة، وتخزين نظام الملفات ، ثم
يمكن أن يكون استدعاء ملف تنفيذي مضغوط وتشغيله أسرع من
تشغيل البرنامج غير المضغوط المقابل مباشرة.
قد يؤدي نظام التشغيل عمليات إدخال / إخراج أقل تكلفة
لاستدعاء البرنامج المضغوط. مناداة إلى أو من مساحة المبادلة
or / تمة قد يكون أسرع من الترحيل من نظام الملفات العام.
البرامج `` متوسطة الحجم '' التي تصل إلى حوالي 1/3 إلى 1/2 من ملفات
يمكن أن تعمل وحدات بايت البرنامج المخزنة بشكل جيد مع الضغط.
تميل البرامج الصغيرة إلى عدم الاستفادة بقدر كبير لأن المطلق
المدخرات أقل. تميل البرامج الكبيرة إلى عدم الاستفادة بشكل متناسب
لأن كل استدعاء قد يستخدم جزءًا صغيرًا فقط من البرنامج ،
ومع ذلك ، يقوم UPX بفك ضغط البرنامج بأكمله قبل استدعائه.
ولكن في البيئات التي يكون فيها تخزين القرص أو ذاكرة فلاش محدودة ،
ثم قد يفوز الضغط على أي حال.

حاليًا ، لا تشترك الملفات التنفيذية المضغوطة بواسطة UPX في ذاكرة الوصول العشوائي في وقت التشغيل
بالطريقة التي تقوم بها الملفات التنفيذية المعينة من نظام الملفات. ك
النتيجة ، إذا تم تشغيل نفس البرنامج في وقت واحد بواسطة أكثر من برنامج واحد
العملية ، فإن استخدام الإصدار المضغوط سيتطلب المزيد من ذاكرة الوصول العشوائي و / أو
مساحة المبادلة. لذلك ، برامج شل (bash ، csh ، إلخ) و `` make ''
قد لا تكون مرشحة جيدة للضغط.

يتعرف UPX على ثلاثة تنسيقات قابلة للتنفيذ لنظام التشغيل Linux: Linux / elf386 ،
Linux / sh386 و Linux / 386. Linux / 386 هو التنسيق الأكثر عمومية ؛
أنه يستوعب أي ملف يمكن تنفيذه. في وقت التشغيل ، يتم تشغيل UPX
كعب الضغط يعيد إنشاءه / تمة نسخة من الملف الأصلي ،
ثم يتم (إعادة) تنفيذ النسخة بنفس الوسيطات.
تفضل الملفات التنفيذية الثنائية ELF تنسيق Linux / elf386 افتراضيًا ،
لأن UPX يقوم بفك ضغطها مباشرة في ذاكرة الوصول العشوائي ، ويستخدم واحدًا فقط
exec ، لا تستخدم مساحة في / تمة، ولا يستخدم / proc.
برامج شل النصية حيث يقبل الغلاف الأساسي الوسيطة "-c ''
يمكن استخدام تنسيق Linux / sh386. يقوم UPX بفك ضغط البرنامج النصي للقذيفة
في ذاكرة منخفضة ، ثم يقوم بتعيين الغلاف وتمرير النص الكامل لملف
النصي كحجة مع "-c '' الرائدة.

الفوائد العامة:

- يمكن لـ UPX ضغط جميع الملفات التنفيذية ، سواء كانت AOUT أو ELF أو libc4 أو libc5 أو
libc6 ، Shell / Perl / Python / ... البرامج النصية ، فئة Java المستقلة
الثنائيات ، أو أيا كان ...
ستعمل جميع النصوص والبرامج تمامًا كما كانت من قبل.

- البرامج المضغوطة قائمة بذاتها تمامًا. لا حاجة الى
أي برنامج خارجي.

- يحافظ UPX على برنامجك الأصلي دون تغيير. هذا يعني ذاك
بعد فك الضغط سيكون لديك نسخة متطابقة البايت ،
ويمكنك استخدام UPX كضاغط ملفات تمامًا مثل gzip.
[لاحظ أن UPX يحتفظ بمجموع اختباري للملف داخليًا ،
لذلك فهو بالفعل بديل موثوق. ]

- حيث أن كعب الروتين يستخدم فقط syscalls وليس مرتبطًا بـ libc it
يجب أن يعمل تحت أي تكوين Linux يمكنه تشغيل ELF
ثنائيات.

- للسبب نفسه ، يجب تشغيل الملفات التنفيذية المضغوطة ضمن
FreeBSD والأنظمة الأخرى التي يمكنها تشغيل ثنائيات Linux.
[الرجاء إرسال ملاحظات حول هذا الموضوع]

عيوب عامة:

- لا ينصح بضغط البرامج التي عادة ما تحتوي على الكثير
المثيلات التي تعمل (مثل "sh" أو "make") لأن الأجزاء الشائعة من
لن تتم مشاركة البرامج المضغوطة بعد الآن بين مختلف
العمليات.

- لن يظهر 'ldd' و 'size' أي شيء مفيد لأنهما جميعًا
انظر هو كعب مرتبط بشكل ثابت. منذ الإصدار 0.82 القسم
يتم تجريد الرؤوس من كعب UPX ولا يصل حجم "الحجم" إلى ذلك
يتعرف على تنسيق الملف. يحتوي الملف / patch-elfcode.h على امتداد
تصحيح لإصلاح هذا الخطأ في "الحجم" والبرامج الأخرى التي تستخدم GNU BFD.

ملاحظات عامة:

- نظرًا لأن UPX تترك برنامجك الأصلي كما هو ، فمن المفيد
لتجريده قبل الضغط.

- إذا ضغطت برنامجًا نصيًا ، فستفقد استقلالية النظام الأساسي -
قد تكون هذه مشكلة إذا كنت تستخدم أقراص NFS المحملة.

- تم رفض ضغط برامج suid و guid و sticky-bit
بسبب الآثار الأمنية المحتملة.

- لنفس السبب لا معنى لعمل أي مضغوط
برنامج suid.

- من الواضح أن UPX لن يعمل مع الملفات التنفيذية التي ترغب في قراءة البيانات
من أنفسهم. على سبيل المثال ، قد تكون هذه مشكلة في نصوص Perl النصية
التي تصل إلى خطوط __DATA__ الخاصة بهم.

- في حالة وجود أخطاء داخلية ، يتم إلغاء كعب الروتين بكود الخروج 127.
الأسباب النموذجية لحدوث ذلك هي أن البرنامج لديه بطريقة ما
تم تعديله بعد الضغط.
سيخبرك تشغيل "strace -o strace.log compressed_file" بالمزيد.

الملاحظات لأي لينوكس / ELF386
يرجى قراءة وصف Linux العام أولاً.

يفك ضغط تنسيق linux / elf386 مباشرة في ذاكرة الوصول العشوائي ، ويستخدم exec واحدًا فقط ، ولا يستخدم
مساحة في / تمة، ولا يستخدم / proc.

يتم تحديد Linux / elf386 تلقائيًا لملفات Linux ELF التنفيذية.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط.

كيف يعمل:

بالنسبة لملفات ELF التنفيذية ، يتم فك ضغط UPX مباشرة على الذاكرة ، محاكياً
التعيين الذي تستخدمه نواة نظام التشغيل أثناء exec () ،
بما في ذلك مترجم برنامج PT_INTERP (إن وجد).
يتم تعيين brk () بواسطة مقطع PT_LOAD خاص في الملف المضغوط
الملف القابل للتنفيذ نفسه. يقوم UPX بعد ذلك بمسح المكدس نظيفًا باستثناء
الوسائط ومتغيرات البيئة وإدخالات Elf_auxv (هذا هو
مطلوب بواسطة الأخطاء في كود بدء التشغيل في /lib/ld-linux.so اعتبارًا من
مايو 2000) ، وينقل التحكم إلى مترجم البرنامج أو
عنوان الإدخال الإلكتروني للملف التنفيذي الأصلي.

يبلغ طول كعب UPX حوالي 1700 بايت ، وهو مكتوب جزئيًا في المجمع
ويستخدم فقط kernel syscalls. لا يرتبط بأي قانون.

عيوب محددة:

- بالنسبة لتنسيقات linux / elf386 و linux / sh386 ، ستعتمد على ملفات
ذاكرة الوصول العشوائي ومساحة التبديل لاستيعاب كل البرنامج الذي تم فك ضغطه أثناء
عمر العملية. إذا كنت تستخدم بالفعل معظم مقايضة السواب
مساحة ، فقد تنفد. نظام "نفاد الذاكرة"
يمكن أن تصبح هشة. العديد من البرامج لا تتفاعل برشاقة عندما
تقوم malloc () بإرجاع 0. مع نواة Linux الأحدث ، فإن kernel
قد تقرر قتل بعض العمليات لاستعادة الذاكرة ، وأنت
قد لا يعجبك اختيار kernel للقتل. جري
/ البيرة / بن / أعلى هي إحدى طرق التحقق من استخدام مساحة المبادلة.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

(لا يوجد)

الملاحظات لأي لينوكس / SH386
يرجى قراءة وصف Linux العام أولاً.

يمكن أن تستخدم برامج شل النصية حيث تقبل الصدفة السفلية الوسيطة "-c '' استخدام Linux / sh386
تنسيق. UPX يقوم بفك ضغط البرنامج النصي shell إلى ذاكرة منخفضة ، ثم يقوم بتعيين الهيكل وتمريره
النص بأكمله من النص كمتحدث مع بادئة "-c ''. لا يستخدم الفضاء
in / تمة، ولا يستخدم / proc.

يتم تحديد Linux / sh386 تلقائيًا لنصوص shell التي تستخدم قشرة معروفة.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط.

كيف يعمل:

بالنسبة إلى البرامج التنفيذية لبرنامج shell (الملفات التي تبدأ بـ "#! /" أو "#! /")
حيث يُعرف الغلاف بقبول "-c "، يفك ضغط UPX
الملف في ذاكرة منخفضة ، ثم يقوم بتعيين الغلاف (و PT_INTERP) ،
ويمرر التحكم إلى الغلاف مع الملف الذي تم فك ضغطه بالكامل
كالحجة بعد "-c". القذائف المعروفة هي sh ، ash ، bash ، bsh ، csh ،
ksh ، tcsh ، pdksh. القيود: لا يمكن لـ UPX استخدام هذه الطريقة
لنصوص shell التي تستخدم وسيطة سلسلة اختيارية واحدة بعد
اسم قذيفة في البرنامج النصي (مثال: "#! / بن / ش الخيار 3 \ n ".)

يبلغ طول كعب UPX حوالي 1700 بايت ، وهو مكتوب جزئيًا في المجمع
ويستخدم فقط kernel syscalls. لا يرتبط بأي قانون.

عيوب محددة:

- بالنسبة لتنسيقات linux / elf386 و linux / sh386 ، ستعتمد على ملفات
ذاكرة الوصول العشوائي ومساحة التبديل لاستيعاب كل البرنامج الذي تم فك ضغطه أثناء
عمر العملية. إذا كنت تستخدم بالفعل معظم مقايضة السواب
مساحة ، فقد تنفد. نظام "نفاد الذاكرة"
يمكن أن تصبح هشة. العديد من البرامج لا تتفاعل برشاقة عندما
تقوم malloc () بإرجاع 0. مع نواة Linux الأحدث ، فإن kernel
قد تقرر قتل بعض العمليات لاستعادة الذاكرة ، وأنت
قد لا يعجبك اختيار kernel للقتل. جري
/ البيرة / بن / أعلى هي إحدى طرق التحقق من استخدام مساحة المبادلة.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

(لا يوجد)

الملاحظات لأي لينوكس / 386
يرجى قراءة وصف Linux العام أولاً.

يتم إلغاء ضغط تنسيق linux / 386 العام إلى / تمة والاحتياجات / إجراءات دعم نظام الملفات. هو - هي
يبدأ البرنامج الذي تم فك ضغطه عبر ملف execve () com.syscall.

يتم تحديد Linux / 386 فقط إذا لم يتعرف linux / elf386 و linux / sh386 المتخصص
ملف.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط.

كيف يعمل:

بالنسبة للملفات التي ليست ELF وليست نصًا برمجيًا لقشرة "-c" معروفة ،
يستخدم UPX kernel execve () ، والذي يتطلب أولاً فك الضغط إلى ملف
ملف مؤقت في نظام الملفات. ومن المثير للاهتمام -
بسبب الإدارة الجيدة للذاكرة في Linux kernel - هذا
في كثير من الأحيان لا يؤدي إلى تأخير ملحوظ ، وفي الواقع هناك
لن يكون الوصول إلى القرص على الإطلاق إذا كان لديك ذاكرة خالية كافية مثل
تأخذ العملية بأكملها أماكن داخل المخازن المؤقتة لنظام الملفات.

يتكون الملف التنفيذي المضغوط من كعب UPX وتراكب
الذي يحتوي على البرنامج الأصلي بشكل مضغوط.

كعب الروتين UPX هو ملف تنفيذي ELF مرتبط بشكل ثابت ويفعل
ما يلي عند بدء تشغيل البرنامج:

1) فك ضغط التراكب إلى مكان مؤقت في / تمة
2) افتح الملف المؤقت للقراءة
3) حاول حذف الملف المؤقت وابدأ (execve)
البرنامج غير المضغوط بتنسيق / تمة استخدام / proc // fd / X كـ
تم تحقيقه من خلال الخطوة 2)
4) إذا فشل ذلك ، فقم بإيقاف عملية فرعية للتنظيف و
ابدأ البرنامج / تمة في هذه الأثناء

يبلغ طول كعب UPX حوالي 1700 بايت ، وهو مكتوب جزئيًا في المجمع
ويستخدم فقط kernel syscalls. لا يرتبط بأي قانون.

عيوب محددة:

- أنت بحاجة إلى مساحة قرص خالية إضافية للبرنامج غير المضغوط
في الخاص / تمة الدليل. يتم حذف هذا البرنامج بعد ذلك مباشرة
تخفيف الضغط ، ولكنك لا تزال بحاجة إليه طوال وقت التنفيذ
من البرنامج.

- يجب أن تمتلك / إجراءات دعم نظام الملفات حيث يريد كعب روتين فتح
/ proc // إكس والاحتياجات / proc // fd / X. هذا يعني أيضًا أنك
لا يمكن ضغط البرامج المستخدمة أثناء تسلسل التمهيد
قبل / إجراءات مركب.

- ستعرض الأدوات المساعدة مثل "top" القيم العددية في العملية
حقل الاسم. هذا لأن Linux يحسب اسم العملية من
الوسيطة الأولى من آخر syscall execve (والتي عادةً ما تكون
شيء مثل / proc // fd / 3).

- بسبب الضغط المؤقت للقرص سرعة فك الضغط
ليس بنفس سرعة التنسيقات الأخرى القابلة للتنفيذ. لا يزال بإمكاني أن أرى
لا يوجد تأخير ملحوظ عند بدء تشغيل برامج مثل بلدي ~ 3 MiB emacs (والتي
أقل من 1 ميغا بايت عند الضغط :-).

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

- فرض التنفيذ فرض استخدام لينكس العام / 386 "execve"
التنسيق ، أي لا تحاول استخدام لينكس / elf386 و
تنسيقات linux / sh386.

الملاحظات لأي PS1 / EXE
هذا هو التنسيق القابل للتنفيذ الذي تستخدمه Sony PlayStation (PSone) ، وهي Mips R3000
وحدة تحكم الألعاب المشهورة منذ أواخر التسعينيات. دعم هذا الشكل جدا
على غرار أتاري ، بسبب مشاعر الحنين لأحد المؤلفين.

ستكون البرامج المعبأة متطابقة للبايت مع النسخة الأصلية بعد فك الضغط ، حتى أبعد من ذلك
إشعار.

الحد الأقصى للحجم غير المضغوط: ~ 1.89 / ~ 7.60 ميبي بايت.

ملاحظة:

- ينشئ UPX افتراضيًا ملفًا تنفيذيًا مناسبًا لاتقان الأقراص المضغوطة
ونقل وحدة التحكم. بالنسبة إلى ملف تنفيذي رئيسي لـ CD-Master ، يمكنك أيضًا تجربة
الخيار الخاص "- التمهيد فقط" كما هو موضح أدناه.
تم الإبلاغ عن أن الملفات التنفيذية معبأة upx متوافقة تمامًا مع
سوني بلاي ستيشن 2 (PS2 ، PStwo) وسوني بلاي ستيشن محمولة (PSP) في
وضع محاكاة Sony PlayStation (PSone).

- عادةً ما تستخدم الملفات المحزومة نفس مناطق الذاكرة مثل الملفات غير المضغوطة
الإصدارات ، لذلك لن تتجاوز مناطق الذاكرة الأخرى أثناء التفريغ.
إذا لم يكن ذلك ممكنًا ، فسوف يتم إحباط UPX من إظهار "تداخل البيانات المعبأ"
خطأ. باستخدام خيار "--force" ، ستنقل UPX عنوان التحميل
للملف المحزوم ، ولكن هذه ليست مشكلة حقيقية إذا كان ملفًا واحدًا أو
الملف التنفيذي الرئيسي.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

--8 بت يستخدم ضغط حجم 8 بت [افتراضي: 32 بت]

- 8mib-ram PSone به 8 MiB RAM متوفرة [افتراضي: 2 MiB]

--boot-only هذا التنسيق مخصص لـ exes الرئيسي و CD-Mastering فقط!
قد يحسن بشكل طفيف نسبة الضغط ،
إجراءات فك الضغط أسرع من تلك الافتراضية.
لكن لا يمكن استخدامه لنقل وحدة التحكم!

- لا محاذاة هذا الخيار يعطل تنسيق قطاع بيانات وضع القرص المضغوط 2
تنسيق. قد يحسن قليلاً من نسبة الضغط ،
لكن الملف التنفيذي المضغوط لن يتم تمهيده من قرص مضغوط.
استخدمه لنقل وحدة التحكم فقط!

الملاحظات لأي RTM32 / بي و ARM / PE
مثل win32 / pe.

الملاحظات لأي TMT / آدم
يستخدم هذا التنسيق مترجم TMT Pascal - انظر http://www.tmt.com/ .

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

- جميع المرشحات قم بضغط البرنامج عدة مرات ، باستخدام الكل
مرشحات المعالجة المسبقة المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
يعطي المرشح الافتراضي أفضل النتائج على أي حال.

الملاحظات لأي فمينوز / 386
تأخذ تنسيقات vmlinuz / 386 و bvmlinuz / 386 نواة Linux قابلة للتشغيل مضغوطة بواسطة gzip
image ("vmlinuz" ، "zImage" ، "bzImage") ، قم بفك ضغط gzip وأعد ضغطها باستخدام UPX
طريقة الضغط.

vmlinuz / 386 غير مرتبط تمامًا بتنسيقات Linux الأخرى القابلة للتنفيذ ، وهو ليس كذلك
مشاركة أي من عيوبها.

ملاحظة:

- تأكد من عرض "vmlinuz / 386" أو "bvmlinuz / 386"
أثناء الضغط - أو تنسيق خاطئ قابل للتنفيذ
ربما تم استخدامها ، ولن يتم تمهيد النواة.

الفوائد :

- ضغط أفضل (لكن لاحظ أن النواة مضغوطة بالفعل ،
لذا فإن التحسين ليس كبيرًا كما هو الحال مع التنسيقات الأخرى).
ومع ذلك ، قد تكون البايتات المحفوظة ضرورية لذوي الاحتياجات الخاصة مثل
أقراص التمهيد.

على سبيل المثال ، هذا ما أحصل عليه لنواة 2.2.16 الخاصة بي:
1589708 فملينوكس
641073 bzImage [أصلي]
560755 bzImage.upx [مضغوط بواسطة "upx -9"]

- فك الضغط أسرع بكثير في وقت تمهيد kernel (لكن kernel
سرعة تخفيف الضغط ليست مشكلة في الحقيقة هذه الأيام).

السلبيات:

(لا يوجد)

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

- جميع المرشحات قم بضغط البرنامج عدة مرات ، باستخدام الكل
مرشحات المعالجة المسبقة المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
يعطي المرشح الافتراضي أفضل النتائج على أي حال.

الملاحظات لأي واتكوم / جنيه
UPX تم اختباره بنجاح باستخدام الموسعات التالية:
DOS4G ، DOS4GW ، PMODE / W ، DOS32a ، CauseWay.
موسع WDOS / X مدعوم جزئيًا (للحصول على التفاصيل
انظر ملف البق البق).

لا يتم دعم ملفات DLL وتنسيق LX.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

--le قم بإنتاج مخرجات LE غير منضم بدلاً من
حفظ كعب الروتين الحالي.

الملاحظات لأي WIN32 / PE
دعم PE في UPX مستقر تمامًا الآن ، ولكن ربما لا يزال هناك بعض
عدم التوافق مع بعض الملفات.

بسبب الطريق UPX (وبرامج الحزم الأخرى لهذا التنسيق) تعمل ، يمكنك أن ترى زيادة
استخدام الذاكرة للملفات المضغوطة لأن البرنامج بأكمله يتم تحميله في الذاكرة في
بدء. إذا بدأت عدة حالات من البرامج المضغوطة الضخمة ، فأنت بذلك تهدر الذاكرة
لأن الأجزاء المشتركة من البرنامج لن تتم مشاركتها عبر المثيلات. على ال
من ناحية أخرى ، إذا كنت تضغط برامج أصغر فقط ، أو تقوم بتشغيل مثيل واحد فقط من
برامج أكبر ، إذن هذه العقوبة أصغر ، لكنها لا تزال موجودة.

إذا كنت تقوم بتشغيل ملفات تنفيذية من الشبكة ، فسيتم تحميل البرامج المضغوطة بشكل أسرع ، و
تتطلب نطاقًا تردديًا أقل أثناء التنفيذ.

يتم دعم مكتبات DLL. لكن مكتبات DLL المضغوطة لـ UPX لا يمكنها مشاركة البيانات والرموز المشتركة عندما تكون
تم استخدامها من قبل تطبيقات متعددة. لذا فإن ضغط msvcrt.dll يعد إهدارًا للذاكرة ، ولكن ملفات
قد يكون ضغط ملحقات dll لتطبيق معين فكرة أفضل.

شاشات التوقف مدعومة ، مع تقييد أن اسم الملف يجب أن ينتهي بـ ".scr"
(حيث يتم التعامل مع حافظات الشاشة بشكل مختلف قليلاً عن ملفات exe العادية).

تحتوي ملفات PE المضغوطة UPX على بعض العبء الطفيف للذاكرة (عادةً في نطاق 10-30 كيلوبايت)
والتي يمكن رؤيتها من خلال تحديد مفتاح سطر الأوامر "-i" أثناء الضغط.

الخيارات الإضافية المتاحة لهذا التنسيق القابل للتنفيذ:

- ضغط الصادرات = 0 لا تقم بضغط قسم التصدير.
استخدم هذا إذا كنت تخطط لتشغيل الملف المضغوط
برنامج تحت النبيذ.
- ضغط الصادرات = 1 قم بضغط قسم التصدير. [تقصير]
يمكن أن يؤدي ضغط قسم التصدير إلى تحسين ملف
نسبة الضغط قليلا جدا ولكن قد لا تعمل
مع كافة البرامج (مثل winword.exe).
لا يضغط UPX مطلقًا على قسم التصدير في DLL
بغض النظر عن هذا الخيار.

--اضغط-أيقونات = 0 لا تضغط أي أيقونات.
- ضغط الرموز = 1 ضغط الكل ما عدا الرمز الأول.
- ضغط الرموز = 2 ضغط جميع الرموز غير الموجودة في ملف
دليل الرمز الأول. [تقصير]
- ضغط الرموز = 3 ضغط جميع الرموز.

- ضغط الموارد = 0 لا تقم بضغط أي موارد على الإطلاق.

--keep-Resource = list لا تقم بضغط الموارد المحددة بالقائمة.
أعضاء القائمة مفصولة بفواصل.
عضو القائمة لديه التنسيق التالي: .
أنا هو نوع المورد. الأنواع القياسية
يجب تحديدها كأرقام عشرية ، يمكن أن تكون أنواع المستخدمين
المحدد بواسطة المعرفات العشرية أو السلاسل. أنا هل
معرّف المورد. يمكن أن يكون رقمًا عشريًا
أو سلسلة. على سبيل المثال:

- صيانة الموارد = 2 / MYBITMAP ، 5,6،12345 / XNUMX

لن يقوم UPX بضغط مورد الصورة النقطية المسمي "MYBITMAP" ،
يترك كل مربع حوار (5) مورد غير مضغوط ، و
لن تلمس مورد جدول السلسلة مع المعرف
12345.

- فرض ضغط القوة حتى عند وجود ملف
قيمة غير متوقعة في حقل رأس.
استخدم بعناية.

--strip-relocs = 0 لا تجرد سجلات النقل.
--strip-relocs = قطعة واحدة من سجلات النقل. [تقصير]
يعمل هذا الخيار فقط على الملفات التنفيذية ذات القاعدة
العنوان أكبر من أو يساوي 0x400000. عادة
تصبح الملفات المضغوطة أصغر ، لكن بعض الملفات
قد يصبح أكبر. لاحظ أن الملف الناتج سوف
لا تعمل تحت Windows 3.x (Win32s).
لا يزيل UPX عمليات النقل من ملف DLL أبدًا
بغض النظر عن هذا الخيار.

- كل الطرق ضغط البرنامج عدة مرات ، باستخدام الكل
طرق الضغط المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
الطريقة الافتراضية تعطي أفضل النتائج على أي حال.

- جميع المرشحات قم بضغط البرنامج عدة مرات ، باستخدام الكل
مرشحات المعالجة المسبقة المتاحة. قد يتحسن هذا
نسبة الضغط في بعض الحالات ، ولكن عادة
يعطي المرشح الافتراضي أفضل النتائج على أي حال.

DIAGNOSTICS


عادة ما تكون حالة الخروج 0 ؛ إذا حدث خطأ ، فإن حالة الخروج هي 1. في حالة حدوث تحذير ، قم بإنهاء
الحالة 2.

UPXالغرض من التشخيصات هو أن تشرح نفسها بنفسها.

استخدم upx-ucl عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad




×
الإعلانات
❤️تسوق أو احجز أو اشترِ هنا - بدون تكلفة، مما يساعد على إبقاء الخدمات مجانية.