الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهي طريقه الحمايه في ملفات الوينرار

بدأه rewsh في 25 مايو 2009 · 8 رد · 1,935 مشاهدة · في قسم أمن المعلومات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

لقد رايت اكثر من موضوع عن ان حمايه ملفات الوينرار لا تفك لانها الجورزم بطريق واحد لا يمكن الرجوع له

طيب

هل كذلك لو حبينا نتخطى مرحله السؤال عن الباسورد ؟

ماهي الامكانيه ان نتخطى السؤال عن الباسورد مثل البرامج الاخرى التي يتم عمل لها كراك او باتشات

وان كان لا لماذا

مجرد بحاول استفيد من افكار الحمايه الموضوعه في البرامج القويه

--------

وهل المشكله في ملف المحطوط عليه باسورد ام في البرنامج هل مثلا لو فرضنا ان سوف نقوم بالتعديل على الاسمبلي الخاص به

هل سيكون في كل ملف عليه باسورد ام على البرنامج نفسه

اظن اصحاب الخبره ممكن يفدوننا بكيفيه شكل ملفات الوينرار سواء العليها باسورد او الاخرى

#2

باختصار شديد جداً لو راجعت مشاركات سابقة كان حصلت على الجواب.

الجواب ببساطة الخوارزمية ليست one way كما تعتقد لكنها خوارزمية "تشفير" يعني كتلة البيانات الخاصة بالملف المضغوط مشفرة بالتالي حتى لو قمت بتعديل البرنامج وجعلته يتخطى كلمة سر، ماذا ستكون حققت؟ سيقوم البرنامج باستخدام أي كلمة سر أو لا يستخدم كلمة سر بالمرة من أجل أن يقوم بفك تشفير هذه الكتلة من البيانات ومنها تحصل على كتلة garbage لأن كلمة السر الصحيحة لم تكتب.

البرامج التجارية لا تتبع هذا الأسلوب لأسباب عديدة خدلك 5 دقائق تفكير وكاسة شاي تعرف السبب وخلي تفكيرك two way حتى تصل للجواب.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

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

وفي عدم وجوده يشفر بالطريقه الثابته التي ايضا غير معروفه

----

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

#4

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

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

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

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5
اقتباس
يجب عليك تضمين كلمة السر فيها
!!!!!!!!!!!!????? :wink:

اظن انك فهمت قصدي يا X

تم تعديل هذه المشاركة بواسطة mohfa في 25 مايو 2009 في 21:07

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#6
Xacker كتب:
أقصد أن ملفات الـ Winrar وجميع برامج الضغط والحماية بكلمة سر قوتها في عدم كشف كلمة السر وقوة خوارزمية التشفير المستخدمة.

تمام عشان الفكره تكون كامله لانه يستخدم الباسورد في تشفير الملفات نفسها

فحتى لو تخطيت الباسورد : سوف توصل الى فك تشفير خاطئ

Xacker كتب:
يجب عليك تضمين كلمة السر فيها،

؟؟؟؟؟ أليس التشفير يتم بعمل ألجورزم على الكلمه الجديده التي يتم ادخالها كباسورد ويرى انها تحقق النتيجه او لا بدليل وجود اكثر من باسورد للبرنامج

اظن انهم لا يستخدمووا طريقه وضع باسورد ومقارنته

ام انا فهمت كلامك خطأ

#7
rewsh كتب:
؟؟؟؟؟ أليس التشفير يتم بعمل ألجورزم على الكلمه الجديده التي يتم ادخالها كباسورد ويرى انها تحقق النتيجه او لا بدليل وجود اكثر من باسورد للبرنامج

اظن انهم لا يستخدمووا طريقه وضع باسورد ومقارنته

ام انا فهمت كلامك خطأ

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

سأبسطها لك.. وبالمناسبة برنامج الحماية Armadillo يستخدم هذه الطريقة كإحدى خيارات حماية..

ما يحدث أن برنامجك التنفيذي يضاف إليه جزء لنسميه Arm

البرنامج الأساسي يتم تقطيعه إلى 1000 بايت لكل جزء، لنفرض أنه يتألف من 3 أجزاء A, B, C

عندما تفتح البرنامج فإن ما يتم تنفيذه في البداية هو Arm، سينتهي تنفيذ Arm لينتقل بعدها إلى OEP والتي تكون مثلاً موجودة في الجزء A

عندما يصل التنفيذ إلى أول تعليمة في A يحدث خطأ في التنفيذ لأن هذه الكتلة مشفرة والتعليمة خاطئة، Arm قام سلفاً بزرع debugger في الذاكرة يستلم هذه الأخطاء (وتسمى استثناءات exceptions) - كـديبغر Arm يعلم أن الاستثناء جاء من الجزء A، فيقوم بفك تشفير هذا الجزء ويرسل التحكم إلى أول تعليمة فيه ليتابع البرنامج التنفيذ بشكل طبيعي..

الآن انتهى تنفيذ A ووصلنا إلى الجزء B، سيحدث استثناء مرة أخرى، Arm ينتبه، يقوم بـ 1. إعادة تشفير A ثم 2. يفك تشفير B وينقل التنفيذ إلى أول تعليمة في B ليتابع التنفيذ وهكذا..

ربما لا يتم طلب C لأن B تحوي على كل الوظائف الحيوية للبرنامج، لكن لنفرض أن قائمة About تقوم باستخدام وظيفة موجودة في C، سيتم 1. تشفير B ثم 2. فك تشفير C ثم 3. تنفيذ C ثم 4. تشفير C ثم 5. فك تشفير B وإعادة التنفيذ لـ B التي تحوي على وظائف البرنامج الحيوية الأساسية..

بهذه الطريقة أنت قمت بحماية أجزاء البرنامج من التتبع لأنك دوماً في جزء مفكوك التشفير وأجزاء باقية مشفرة يتم فك تشفيرها فقط عند الطلب وتشفير كل شئ قبلها.

* القراصنة تابعوا هذه الحماية وقاموا بإيجاد طرق كثيرة لكسرها وأصبحت من المسلّمات الآن في الحماية وفك الحماية :D

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

تم تعديل هذه المشاركة بواسطة Xacker في 26 مايو 2009 في 19:14 — السبب: تعديل طفيف

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8
اقتباس
القراصنة تابعوا هذه الحماية وقاموا بإيجاد طرق كثيرة لكسرها وأصبحت من المسلّمات الآن في الحماية وفك الحماية

حماية رائعة كلمتني عنها في السابق, هل من الممكن ان توضح كيف قاموا بكسر هذه الحماية؟!

كيف استطاعوا استدعاء جميع الاجزاء في البرنامج و من ثم فك تشفيرها و إعادة تجميعها من جديد ليعود الExe سالم بدون تشفير؟!

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#9

1. نقل التنفيذ قصراً إلى الأجزاء هذه مثلاً، ومن ثم التنفيذ، فيقوم الـ debugger بفك تشفيرها، فتقوم بنسخ هذه الكتلة بدون تشفير كـ hex. وهكذا لبقية الأجزاء بشكل يدوي.. لكن مع البرامج الكبيرة..

2. مراقبة دوال ReadProcessMemory و WriteProcessMemory فهي المسؤولة عن القراءة والكتابة في هذه الأجزاء كما ورد في Armadillo.

3. إيجاد الجزء المسؤول عن تشفير وفك تشفير الأجزاء وتعطيله بحيث يقوم بفك التشفير لكن لا يقوم بالتشفير.

الطرق كثيرة التي يمكن التفكير بها

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة