سؤال

عند نقطة واحدة كان الضغط قليلا الأداة التي حطم بلدي دلفي EXE مترجمة إلى أصغر حجم التحميل, ولكن الآن أنا لا يمكن العثور عليه.أي التوصيات ؟

أيضا, هل هناك أي سلبيات استخدام هذه الأنواع من المرافق ؟ (أنا أساسا استخدامها تقصير مرات التحميل الريفية / الهاتفي المستخدمين).


ذات السؤال: هل هناك أي سلبيات باستخدام UPX لضغط ويندوز للتنفيذ ؟

هل كانت مفيدة؟

المحلول

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

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

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

وهكذا أحصل على فوائد أصغر حجم التحميل، وذات مظهر احترافي السيناريو التثبيت في نفس الوقت.

وp.s. إعداد ابتكارات مجانا.

نصائح أخرى

التوصية هو أن لا:

  • EXE ضواغط يمكن أن تجعل التطبيق يبدو مثل فيروس (الذاتي تعديل)
  • gzip/الرمز البريدي مجرد فعالة في ضغط و لا العبث مع التطبيق الخاص بك
  • EXE ضواغط جعل مرات تحميل التطبيق الخاص بك زيادة (إلا إذا كنت فقط أتحدث عن برنامج الإعداد الذي هو مسألة مختلفة

هذا مجنون يبحث الموقع إحضار حجة سمعت في الماضي البعيد (سواء كان ذلك صحيحا أم لا يزال اليوم, لست متأكدا, الحديثة لتعبئة ربما يكون استراتيجية مختلفة اليوم) تشير هذه المقالة Win32! :)

http://topic.csdn.net/t/20000408/08/6785.html

الحديث تعدد المهام انظمة التشغيل مثل نظام التشغيل Windows 95/98 و NT استخدام ما هو يسمى "الذاكرة الظاهرية" النظام.عندما برامج تشغيل, جميع كود لا تحميلها في الذاكرة على الفور عند بدء التشغيل ، كما كان الحال مع DOS برامج.بدلا من ذلك, فقط أجزاء من رمز بنشاط تنفيذها هي المخزنة في الذاكرة.أقول على سبيل المثال ، البرنامج لديه خيار الطباعة على القائمة رمز وراء ذلك أن يعالج الطباعة.هذا الكود فقط تحميل إلى الذاكرة مرة واحدة الطباعة الميزة الأولى المحددة من قبل المستخدم.وإذا كان بعد رمز تحميلها في الذاكرة ميزة الطباعة لا يتم استخدام على حين أن نظام "تجاهل" رمز تحرير الذاكرة المحتلة ، إذا كان تطبيق آخر بحاجة ماسة الذاكرة.هذا هو الجزء من عملية تسمى "الترحيل" ، شفاف تماما إلى البرنامج.

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

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

ولكن هذا هو بالضبط ما الراهنة Win32 EXE ضواغط تفعل الخاص بك اكس/DLL!فإنها تذهب تماما ضد OS هو نظام ترحيل من قبل فك الضغط كل رمز في الذاكرة ، الحفاظ على ذلك حتى إنهاء.و لأنه رمز لم يتم تخزينها في "الخام" في شكل ملف EXE (أيعلى بنفس الطريقة التي يتم تخزينها في الذاكرة) ، نظام التشغيل غير قادر على الرمز بين مثيلات متعددة.

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

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

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

إذا أي شيء آخر يمكنك بناء أرشيف استخراج ذاتي مع تثبيت السلوك الأساسية مع 7ZIP مجانا. وهو تحميل منفصل لSFXs لتركيب.

استخدم UPX باستخدام الخيار LZMA للضغط كحد أقصى.

upx --lzma yourfile.exe

والإزعاج الرئيسي لEXE مضغوط أو DLL هو أن نظام التشغيل لا يمكن مشاركة التعليمات البرمجية بين مثيلات متعددة.
لذلك كنت إضاعة الذاكرة، وقد لضغط كل مرة تقوم فيها بتشغيل مثيل، يحمل سلوك مثل فيروس حتى دون ميزة تحميل أكثر من مضغوط تثبيت.
حالة إيجابية فقط هي عندما شن مباشرة من محرك أقراص الشبكة.

وأعتقد أن الخوادم الطرفية (مثل سيتريكس) استخدام نفس الذاكرة لكنت تطبيق ثنائي إذا كان غير مضغوط. يمكن أن يعني إكس مضغوط رائحة كارثة صغيرة في بيئة سيتريكس.

UPX يجب أن تعمل، على الرغم من انها ليست دلفي محددة.

وأنا استخدم صغيرتي: http://un4seen.com/petite/

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

وسألت سؤال حول يخدع استخدام UPX على التنفيذية دلفي هنا على SO في حين يعود، وحصلت على بعض الردود كبيرة.

هل هناك أي سلبيات ل باستخدام UPX لضغط قابل للتنفيذ ويندوز؟

ويمكنك استخدام PECompact لأن الناس لا يمكن فك تشفير بسهولة، وكما أظهر اختبار (أظهر على الصفحة الرئيسية، انتقل للتو الى اسفل قليلا) انها أفضل من ASPack أو UPX، لقد استخدامه على مشاريعي السابقة دلفي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top