مشاهدة النسخة كاملة : كيف يتم ضغط الملفات التنفيدية ؟
taha_gh
20-02-2008, 03:43 PM
هل يمكن إفادتنا بطريقة ضغط الملفات التنفيدية و هل يوجد طريقة واحدة أم عدة طرق و ما أهمها ( نبذة )
شكرا
B.M.AbdelAziZ
20-02-2008, 04:45 PM
بسم الله الرحمن الرحيم
كيف يتم ضغط الملفات التفيذية ؟
الفكرة بسيط :
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 (http://www.delphi4arab.com/forum/showthread.php?p=184) كان فقط تجربة صغيرة
في الاصدار 0.0.2 استخدمت خواريزمية UCL
في الاصدار 0.0.3 استخدمت zlib
في الاصدار 0.0.4 قريبا ان شاء الله LZMA
والسلام عليكم ورحمة الله وبركاته
taha_gh
21-02-2008, 02:08 PM
شكرا على الإجابة الأستاذ deltaaziz
نعم أعلم أن الملفات التنفيذية لها بنية خاصة PE تختلف غلى الملفات العادية
هل من مكان أجد فيه شرحا مفصلا
بارك الله فيك :)
B.M.AbdelAziZ
21-02-2008, 02:23 PM
هل من مكان أجد فيه شرحا مفصلا
غالي والطلب رخيص :D
من عند من انشأه، مايكروزفت
احسن شرح للانطلاق من Matt Pietrek
http://msdn2.microsoft.com/en-us/library/ms809762.aspx
http://msdn.microsoft.com/msdnmag/issues/02/02/PE/default.aspx
http://msdn.microsoft.com/msdnmag/issues/02/03/PE2/default.aspx
احدث ملف شرح رسمي من مايكروزفت
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
والسلام عليكم ورحمة الله
S.FATEH
07-03-2008, 06:44 PM
السلام عليكم
انا عضو جديد
و لكن و الله لم أفهم شيئ
خوازميات والكثير
أضن الامر أبسط من هذا كله
حيث لاحظت في البرامج التي تضغط (برامج الاختراق) انها ترفق مع البرنامج برنامج ضغط ينوب عن كل ما ذكرتم فوق
سلامي
B.M.AbdelAziZ
08-03-2008, 08:45 AM
بسم الله الرحمن الرحيم
ترفق مع البرنامج برنامج ضغط ينوب عن كل ما ذكرتم فوق
نحن هنا نتحدث عن كيفية برمجة برنامج ضغط وليس استخدام برنامج جاهز
والسلام عليكم ورحمة الله
taha_gh
08-03-2008, 02:52 PM
السلام عليكم
خوازميات والكثير
أضن الامر أبسط من هذا كله
حيث لاحظت في البرامج التي تضغط (برامج الاختراق) انها ترفق مع البرنامج برنامج ضغط ينوب عن كل ما ذكرتم فوق
سلامة فهمك أخي
S.FATEH
08-03-2008, 06:02 PM
السلام عليكم
الى الامام
سلامي
مزيد من النقاش
vBulletin® , Copyright ©2008-2012