وعليكم السلام
انتبه اخي ودود نقول "إن شاء الله" انتبه للمسافة قبل حرف الشين
بالنسنة لUPX هو من برمجة Markus FXJ Oberhumer و László Molnár وفي وقت ما انظم اليهما John F. Reiser
تم تصميمه ليكون اخر برنامج لضغط الملفات التنفيذية بخصائص تميزه عن غيره منها المحمولية وخوارزميات الضغط الخاصة NRV/UCL/LZO من امضاء Oberhumer الذي تستخدم خوارزمياته كثيرا مثل في انظمة Linux وحتى وكالة الفضاء الأميريكية NASA
24-04-2016, 11:45 PM (آخر تعديل لهذه المشاركة: 25-04-2016, 09:34 AM بواسطة محمد عبد العزيز.)
السلام عليكم
أشكرك أخي وأستاذي عبد العزيز, لقد كان خطا مطبعيا بحثا وقع وأنا أكتب على عجالة. بارك الله فيك على حرصك تصويبي.
أما فيما يخص سؤالك :
إقتباس : نعود لموضوعك اخي ودود لماذا استخدمت الخيار 1-؟
إستخدمت الخيار 1- لأنني بكل بساطة كنت على عجالة وإذا لاحظت لقد ذكرت ان هناك خيارات أخرى حتى الرقم 9- , فكما تعلم هي مستويات الضغط للمستعمل الخيار, و المستعمل حتما سيستنتج ان الخيار 1- يختلف عن الخيار -9 والصورة التالية توضح الفرق الكبير بين المستوى 1- و المستوى 9- :
اما الامر الملاحظ ان عملية الضغط تتم بشكل سريع جدا بالمستوى 1- , اما الاحسن ومن حيث المردودية طبعا هو المستوى 9-
وإذا سألتني أنت تستعمل المستوى 9-؟ أقول لك لا, بكل بساطة فهناك مستوى أحسن وهو يكتب على الشكل التالي:
upx -9 --best -v project1.exe كما توضح الصورة:
وقد يكون بطيء للملفات الكبيرة.
وهل هناك مستوى أحسن؟ نعم هناك مستوى أحسن ويكتب أمره كالتالي:
upx -9 --brute -v project1.exe
وذا سألت هل هناك مستوى ضغط أعلى من ذلك؟ أقول لك نعم ويكتب سطره كالتالي:
upx -9 --ultra-brute -v project1.exe.
ولكنني شخصيا أعتقد أن
upx -9 --best -v project1.exe هو الأحسن حسب المطورين لاحظ كلمة best.
السلام عليكم و رحمة الله.
الخوف من أي محاولة جديدة طريق حتمي للفشل.
كل من 1 user says قال شكرا ل wadoud على المشاركة المفيدة1 user says Thank You to wadoud for this post • invocker
نعم
الخيار -1 الى -9 تغير خواريزمية الضغط المستخدمة وخيارات بالخواريزمية مما يعطي نتيجة متغيرة والفرق هنا بثلاث
سرعة ضغط الملف
نسبة الضغط compression ratio اي حجم الملف بعد الضفط مقارنة بالحجم الاصلي
سرعة فك ضغط عند تنفيذ الexe
هناك عوامل اخرى مهمة في حالات خاصة مثل حجم الذاكرة المستخدمة (سواء عند الضغط او فك الضغط)، حجم أوامر فك الضغط بالذاكرة depacker code
عنذ ضغط ملف exe مبرمج بدلفي فهناك depacker خاص بدلفي او ما يسميه البعض delphi stub
الخيار -1 اسرع ضغط واسرع فك ضغط لكن ليس احسن نسبة ضغط و الخيار -9 العكس تماما
عندما تستخدم --best فانه يستخدم الخواريزمية NRV2E/10 انتبه لل10 فهي خيار بالخواريزمية
UPX يستخدم خواريزمياته الخاصة NRV2B، NRV2D، NRV2E وهي للخيارات -1 الى -9 يستخدم ايضا الخواريزمية الشهيرة LZMA يمكن استخدامها باضافة الخيار --lzma مثلا
UPX --lzma project1.exe
الخيار --lzma احسن من الخيار --best لكن من جهة اخرى يستهلك ذاكرة/وقت اكثر
الخيار --brute يستخدم كل الخواريزميات السابقة بمتغيرات ببعض الثوابت ايضا الخيار --ultra-brute فهو اكثر جنون ب72 متغير!
في كل الحالات احسن خيار هو --lzma خاصة في ايامنا والذاكرة الحية متوفرة ويمكن اهمالها! شخصيا استخدم الخيار -6
ملاحظة: عند استخدام خيارين من نفس الفئة فان واحد يلغي الثاني مثلا كتبت upx -9 --best -v project1.exe فان --best يلغي -9 اما الخيار -v فهو لاظهار معلومات أكثر أثناء عملية الضغط
السلام عليكم
أشكر الأستاذ عبد العزيز على ما تفضل به, أود أن أتم الموضوع بهذه الأسطر
هناك طريقة أسرع لضغط ملفك التنفيذي مع بقاءه تنفيذيا بالطبع و هو سحب الملف وافلاته مباشرة على UPX كما توضح الصورة التالية:
والملاحظ أن هذه الطريقة تنفذ الخوارزمية NRU2E/7 ولاتعطيك خيارا يعني هي قريبة مما يفضل أستاذنا عبد العزيز المهم لكم الصورة توضح ما ذكرت:
المهم هو أنك إذا أردت فك الضغط Decompress عن ملف تنفيذي مضغوط ب upx فما عليك إلا أن تكتب الأمر التالي:
uxp -d Project1.exe
وهكذا نأتي على خاتمة الموضوع وانوه أنه يمكن الإطلاع على help من خلال الامر
uxp --help
uxp -h
هذا مستعينا بالله أرجو توفيقه لى ولكم.
السلام عليكم.
الخوف من أي محاولة جديدة طريق حتمي للفشل.
كل من 1 user says قال شكرا ل wadoud على المشاركة المفيدة1 user says Thank You to wadoud for this post • invocker
إقتباس :إذا أردت فك الضغط Decompress عن ملف تنفيذي مضغوط ب upx
ان فشلت هذه يمكن فتح الملف بHeaventools PE Explorer ثم حفظه مفكوك، لان هذا الاخير به اضافة Plugin لفك UPX و UPack
ان فشل هذا الاخير يبقى الفك اليدوي هو السبيل.
للاشارة هناك الكثير البرامج التي تعمل كواجهة لUPX اذكر منها UPX Shell الذي يشبه واجهة ASPack
sourceforge.net/projects/upxshell
sourceforge.net/projects/upxshellv60
وايضا PureUPX المبرمج بPureBASIC rsbasic.de/backupprogramme/PureUPX113.zip