delphi4arab منتديات دلفي للعرب

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

شكرا

بسم الله الرحمن الرحيم

كيف يتم ضغط الملفات التفيذية ؟
الفكرة بسيط :
1- ضغط الملف حسب خواريزمية ضغط مختارة
2-اضافة اوامر/كود لفك الضغط بالذاكرة + التنفيذ

طبعا الضغط هو تحويل الملف من شكل الى شكل اخر اصغر حجما باستخدام خواريزمية معينة
وهناك الكثير من الخواريزميات المعروفة والمشهورة والمستخدمة في شتى الميادين
مثلا عائلة الخواريزميات المشتقة من اعمال Lempel-Ziv اختصارا LZ او LZ77 باضافة سنة 1977
LZW المستعملة في الصور من صيغة GIF
LZX المستخدمة في ملفات التصيب من مايكرزفت بصيغة CAB
LZMA المستخدمة في برنامج الضغط 7Zip
DEFLATE دمج بين LZ77 و Huffman والمستخدمة في Zip وايضا في الصور PNG
خواريزميات اخرى مثل:
RLE المستخدمة في الصور BMP
NRV المستخدمة في برنامج الضغط UPX
PPM التي هي اصل PAQ المستخدمة في KGB و غيره...
عدد الخواريزميات وخاصة المتغيرات و التعديلات على الخواريزميات السابقة وجعل نسبة الضغط احسن


فك الضغط يتم حسب الخواريزمية بالذاكرة ثم يتم تنفيذ البرنامج اي بالذاكرة
طبعا هناك طرق كثيرة وتختلف حسب المبرمج وحسب طبيعة الملف التنفيذي المراد ضغطه وهذه قصة اخرى يطول شرحها وتتطلب معرفة بنية الملف التنفيذي Win32 PE وكيفية عمل مترجمات لغات البرمجة المنتشرة...

بريمجي الصغير mPack كان فقط تجربة صغيرة
في الاصدار 0.0.2 استخدمت خواريزمية UCL
في الاصدار 0.0.3 استخدمت zlib
في الاصدار 0.0.4 قريبا ان شاء الله LZMA

والسلام عليكم ورحمة الله وبركاته
شكرا على الإجابة الأستاذ deltaaziz

نعم أعلم أن الملفات التنفيذية لها بنية خاصة PE تختلف غلى الملفات العادية

هل من مكان أجد فيه شرحا مفصلا

بارك الله فيك Smile
taha_gh كتب :هل من مكان أجد فيه شرحا مفصلا
غالي والطلب رخيص Big Grin
من عند من انشأه، مايكروزفت
احسن شرح للانطلاق من Matt Pietrek
http://msdn2.microsoft.com/en-us/library/ms809762.aspx
http://msdn.microsoft.com/msdnmag/issues...fault.aspx
http://msdn.microsoft.com/msdnmag/issues...fault.aspx
احدث (تاريخ كتابة الرد) ملف شرح رسمي من مايكروزفت
http://www.microsoft.com/whdc/system/pla...ECOFF.mspx
والسلام عليكم ورحمة الله
السلام عليكم
انا عضو جديد
و لكن و الله لم أفهم شيئ
خوازميات والكثير
أضن الامر أبسط من هذا كله
حيث لاحظت في البرامج التي تضغط (برامج الاختراق) انها ترفق مع البرنامج برنامج ضغط ينوب عن كل ما ذكرتم فوق
سلامي

بسم الله الرحمن الرحيم

hacker_dz كتب :ترفق مع البرنامج برنامج ضغط ينوب عن كل ما ذكرتم فوق
نحن هنا نتحدث عن كيفية برمجة برنامج ضغط وليس استخدام برنامج جاهز

والسلام عليكم ورحمة الله
hacker_dz كتب :السلام عليكم
خوازميات والكثير
أضن الامر أبسط من هذا كله
حيث لاحظت في البرامج التي تضغط (برامج الاختراق) انها ترفق مع البرنامج برنامج ضغط ينوب عن كل ما ذكرتم فوق

سلامة فهمك أخي
موضوع في المستوى يا أصدقاء، لكن يجب علينا تطوير برامجنا العربية لمنافسة الأجنبية بدل التركيز على التشفير