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

هل ممكن نبذة عن طرق حماية البرمجيات المعروفة كالسيريال والكى جن والتشفير ---

بدأه vbm في 3 أغسطس 2008 · 11 رد · 4,720 مشاهدة · في منتدى تحليل التطبيقات البرمجية وحمايتها
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء

---------------------

أولا ألف مبروك القسم الجديد

--------------------------------

ولى طلب عندكم

--------------

هل يمكن عمل موضوع عن الحمايات التجارية المنتشرة

ك s\n - keygen - التشفير

وهل توجد طرق حماية أخرى للبرمجيات

---------------------------------------

- نريد فقط أولا نبذة مختصرة عن الحماية

- طريقة صناعتها

-أمثلة تجارية لها أو أمثلة لو أمكن

--------------------------

-- بشرط أن يكون الشرح موجة للمبتدئين ويكون سلس

-------------------

وشكرا لكم حسن تعاونكم معنا

أصفق أو لا أصفق فخلفي كتلة شحم تصفق وبعض المساحيق كانت تصفق وجاري يصفق وأسأل .. هل أعجبته الرواية؟ يبحلق ثم يلكز جنبي ويمضي يصفق أصفق أو لا أصفق أمامي كل الرؤوس تصفق وخلفي كل الصفوف تصفق أتى مارد شدني من يدي وتساءل لم لا تصفق تصايح كل الحضور اطردوه تحسست عقلي اطردوه أفقت لنفسي طريداً طريد فصفقت حتى انقطاع الوريد حتى انقطاع الوريد أصفق من أجل ذاك الذي لايصفق

#2

في الواقع من الصعب أن تحصل على شروحات من البداية عن هذا الموضوع,

الأمر بسيط

لديك برنامج لا تريد من أحد استخدامه بدون ادخال كلمة سر، هذه حماية.

قام أحد بتحليل الخوارزمية ووجد كلمة السر موجودة ضمن الـ strings الخاصة بالبرنامج، أمر بسيط على منقح ممتاز مثل Olly

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

قام شخص آخر بتحليل البرنامج فلم يجد كلمة السر، لكنه وجد دوال برمجية API يمكنه مراقبتها ومن خلالها وصل للمكان الذي يتم فيه قراءة كلمته الخاطئة وبالتتبع البسيط وصل إلى مكان المقارنة، اوه انتظر هناك دوال أيضا للمقارنة لو استخدمتها لجعلت الأمر أسهل بالنسبة له.

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

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

هذا النوع من الحمايات ليس ما تراه فعلياً في "برامج الحماية" كما تسميها، برامج الحماية التجارية تقوم باستخدام طرق أخرى تتمثل في حماية كتل البرنامج التنفيذي, تشفيرها، ازالة الـ imports واعادة انشاءها ضمن الملف التنفيذي بعد تنفيذه في الذاكرة، اعتماد الذاكرة العشوائية لتجميع قطع خاصة بالبرنامج وربطها مع بعضها "في الذاكرة" بحيث يكون من الصعب الحصول على كتلة كاملة للبرنامج بدون تشفير مثلا من خلال اسقاطها من الذاكرة كبيانات على القرص، هذه البرامج تعتمد أيضا على خدع لزيادة صعوبة تحليل الكود على برنامج التنقيح, او خدع تقوم باكتشاف وجود برامج التنقيح وتمنع التنفيذ او تغير سير التنفيذ الى طريق مسدود في نهايته.

هذا بشكل عام

Do as I say, not as I do

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

#3

شكرا لك على الشرح المستفيض يا اخي Xacker

#4

شكرا لك على الشرح المستفيض يا اخي Xacker

------------------------

لكن هل يمكن التحدث عن فكرة السيريال والكجيجن مثلا

-----

- لدى سؤال قام مبرمج بعمل برنامج وإستخدم السيريال فى حمايتة

- ثم قام بتوزيع البرنامج - ببساطة لأنى مبتدئ فى هذة الأمور - المستخدم الذى إشترى البرنامج معة سيريال وبذلك يستطيع إعطاؤة لغيرة ويعطية نسخة من البرنامج ويعمل معة

-- هل ما أفهمة صحيح أم خاطئ - أرجو التعقيب -

-- أعرف أن كل شئ يسير وفقا للمبدأ الشهير " كل فعل لة رد فعل مساو لة فى القوة ومضاد فى الأتجاة " ولكن كنت أريد نبذة عن فكرة السيريال والكيجن وبالنسبة لفكرة التشفير أفهمها لحد ما

-----------------------------

فهل يمكن نبذة بسيطة عن هذة الأمور كبداية لموضوع الحماية وليس كسر الحماية

شاكر جدا لك أخى Xacker

أصفق أو لا أصفق فخلفي كتلة شحم تصفق وبعض المساحيق كانت تصفق وجاري يصفق وأسأل .. هل أعجبته الرواية؟ يبحلق ثم يلكز جنبي ويمضي يصفق أصفق أو لا أصفق أمامي كل الرؤوس تصفق وخلفي كل الصفوف تصفق أتى مارد شدني من يدي وتساءل لم لا تصفق تصايح كل الحضور اطردوه تحسست عقلي اطردوه أفقت لنفسي طريداً طريد فصفقت حتى انقطاع الوريد حتى انقطاع الوريد أصفق من أجل ذاك الذي لايصفق

#5

كل ما قيل يعتبر الان Classic في مجال الحماية

اقوى الحمايات البرمجية الحالية هي تتوفر بها النقط

1- تغيير وتحويل الكود من شكل الى شكل اكثر تعقيد واصعب للتحليل

2- تغيير اوامر البرنامج الى اوامر جديدة يتم تنفيذها في معالج CPU افتراضي جديد

3- التشفير - وهنا لايتم التشفير الى عند الحاجة واعادة التشفير بعد الاستعمال واحسنها لايتم فك التشفير الا OnLine

4- استخدام بصمة من الجهاز او FingerPrint تميزه عن غيره من الاجهزة مما يجعل البرنامج لا يعمل الا بوجود البصمة

5- استخدام قوة المعالج كمثال MutiThreading والHyperThreading تصميم الحماية يكون خصيصا لمعالج معين!

...

ايضا يجب الانتباه ان الحماية ليست فقط برمجيات ولاتزيد قوتها الا باستعمال حمايات فيزيائية

اقراص خاصة صعبة النسخ مثل TAGES و StarForce وغيرها

Donles مختلفة اختلاف الشركات والChip المستعمله بها

هناك موضوع قديم كمدخل لها

الطرق الفيزيائية في الحماية, Physical Protection

والسلام عليكم ورحمة الله

d4baa0.gif
#6

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

----------

فهل يمكن نبذة عن

اقتباس
لدى سؤال قام مبرمج بعمل برنامج وإستخدم السيريال فى حمايتة

- ثم قام بتوزيع البرنامج - ببساطة لأنى مبتدئ فى هذة الأمور - المستخدم الذى إشترى البرنامج معة سيريال وبذلك يستطيع إعطاؤة لغيرة ويعطية نسخة من البرنامج ويعمل معة

-- هل ما أفهمة صحيح أم خاطئ - أرجو التعقيب -

-

على فكرة الرابط المشار إلية منك جميل جدا وبة معلومات جيدة جدا

تم تعديل هذه المشاركة بواسطة vbm في 3 أغسطس 2008 في 12:17

أصفق أو لا أصفق فخلفي كتلة شحم تصفق وبعض المساحيق كانت تصفق وجاري يصفق وأسأل .. هل أعجبته الرواية؟ يبحلق ثم يلكز جنبي ويمضي يصفق أصفق أو لا أصفق أمامي كل الرؤوس تصفق وخلفي كل الصفوف تصفق أتى مارد شدني من يدي وتساءل لم لا تصفق تصايح كل الحضور اطردوه تحسست عقلي اطردوه أفقت لنفسي طريداً طريد فصفقت حتى انقطاع الوريد حتى انقطاع الوريد أصفق من أجل ذاك الذي لايصفق

#7
vbm كتب:
قام مبرمج بعمل برنامج وإستخدم السيريال فى حمايتة

- ثم قام بتوزيع البرنامج - ببساطة لأنى مبتدئ فى هذة الأمور - المستخدم الذى إشترى البرنامج معة سيريال وبذلك يستطيع إعطاؤة لغيرة ويعطية نسخة من البرنامج ويعمل معة

-- هل ما أفهمة صحيح أم خاطئ - أرجو التعقيب -

صحصح وخطا

الحماية برفم او Serial تختلف حسب المبرمج

1- مبرمج وضع خواريزمية او مجرد التحقق من سلسلة ارقام

هنا اي رقم صحصح بالخواريزمية يعمل باي جهاز ومع اي شخص

2-مبرمج وضع خواريزنية تتحقق من سلسلة ارقام انطلاقا من اسم

هنا لدينا Name و Serial وستعمل باي جهاز فقط الاسم لايتغير

ويمكن عمل هندسة عكسية للخواريزمية لتوليد Serial لاسماء مختلفة وهدا ما يسمى Keygen

3-مبرمج وضع خواريزنية تتحقق من سلسلة ارقام انطلاقا من اسم شخص+ قطعة بالجهاز

القطعة بالجهاز يمكن ان تكون ID المعالج او رقم كرت الشبكة MAC او الرقم التسلسلي للقرص الصلب HDD Firmware Serial Number او اي شيئ

في هذه الحالة الSerial يعمل فقك في الجهاز الذي به القطعة

واعطائه لشخص اخر لا ينفع

طبعا هناك حالات واضافات كثيرة...

فهمت ؟

d4baa0.gif
#8
اقتباس
فهمت ؟

--------------

نوعا ما

ولكن لى عندك سؤال أخير

برنامج مثلا مثل الفوتوشوب لة سيريال - ولا أعتقد أنة يعتمد على قطعة هاروير - لتوليد السيريال

--------

السؤال كيف يضمنون أن السيريال سوف يتم تداولة بعيدا غن التنشيط على موقع adobe

---

بمعنى قمت بعمل برنامج وقمت بعمل سيريال لة بطريقتك 2 ( كيجن ) بناءا على الأسم مثلا

وقمت ببيعة ل س من الناس

ولكن س أهداة ل ص وأعطاة السيريال وإستخدم ص إسم س

---------------

هنا سيعمل معة البرنامج صحيح ؟ وستكون هناك نسختين تعملان ؟

هل هذا صحيح

------------------------

أصفق أو لا أصفق فخلفي كتلة شحم تصفق وبعض المساحيق كانت تصفق وجاري يصفق وأسأل .. هل أعجبته الرواية؟ يبحلق ثم يلكز جنبي ويمضي يصفق أصفق أو لا أصفق أمامي كل الرؤوس تصفق وخلفي كل الصفوف تصفق أتى مارد شدني من يدي وتساءل لم لا تصفق تصايح كل الحضور اطردوه تحسست عقلي اطردوه أفقت لنفسي طريداً طريد فصفقت حتى انقطاع الوريد حتى انقطاع الوريد أصفق من أجل ذاك الذي لايصفق

#9
vbm كتب:
--------------

نوعا ما

ولكن لى عندك سؤال أخير

برنامج مثلا مثل الفوتوشوب لة سيريال - ولا أعتقد أنة يعتمد على قطعة هاروير - لتوليد السيريال

--------

السؤال كيف يضمنون أن السيريال سوف يتم تداولة بعيدا غن التنشيط على موقع adobe

---

بمعنى قمت بعمل برنامج وقمت بعمل سيريال لة بطريقتك 2 ( كيجن ) بناءا على الأسم مثلا

وقمت ببيعة ل س من الناس

ولكن س أهداة ل ص وأعطاة السيريال وإستخدم ص إسم س

---------------

هنا سيعمل معة البرنامج صحيح ؟ وستكون هناك نسختين تعملان ؟

هل هذا صحيح

------------------------

نعم صحيح لكن شركات مثل Adobe لا تفكر كثيراً بالحماية لدرجة تصرف آلاف الدولارات عليها لتقوم باستخدام Dongle أو سواه.

خوارزمياتهم قد تكون صعبة تعيق الكثيرين لكن كما ترى كل إصدار يطرح يتم تداول keygen له و Adobe لا تقوم بفعل الكثير لأنها تعتمد على نشر المنتج لا الحد منه، كما الأمر مع شركة مايكروسوفت.

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

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

أما بخصوص سؤالك فبرمجياً كلما ازدادت صعوبة تتبع عملية توليد السيريال وكان خاصاً بجهاز واحد كلما ازدادت صعوبة كتابة keygen له لذلك ربما يتم اللجوء إلى عملية التعديل على الملف نفسه وكتابة patch، في هذه الحالة يجب أن يحوي البرنامج على أماكن عديدة تقوم بفحص وثوقيته authenticity بمعنى أنه لم يتم التعديل عليه، وفي هذه الحالة عليك بإخفاء هذه الأماكن قدر الأمكان وتوزيعها في كل مكان بشكل مختلف بطريقة الكتابة حتى كي يصبح من الصعب إيجادها والتعديل عليها.

تمام؟

Do as I say, not as I do

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

#10

لا

في الامثلة السابقة هناك فقط Name و Serial

في السؤال الاخير هناك شيئ ثالث هو Activation Code او كود التفعيل

-

غالبا وليس دائما ما ياخذ معلومة من الجهاز سواء قطعة من القطع السابقة او اسم الجهاز او اي FingerPrint

هذه المعلومة ترسل للشركة التي تضعها في خواريزمية معينة تنتج Activation Code

-

لدينا 3 خواريزميات او معادلات

واحدة موجودة بالبرنامج للتحقق من Serial

واحدة موجودة عند الشركة تنتج Activation code

واحدة موجودة بالبرنامج تتحقق من Activation code

فهمت ؟

d4baa0.gif
#11

شكرا لكم إخوتى جميعا على المعلومات القيمة

------------------

وبإنتظار الجديد دوما فى هذا القسم

-----------------------

أصفق أو لا أصفق فخلفي كتلة شحم تصفق وبعض المساحيق كانت تصفق وجاري يصفق وأسأل .. هل أعجبته الرواية؟ يبحلق ثم يلكز جنبي ويمضي يصفق أصفق أو لا أصفق أمامي كل الرؤوس تصفق وخلفي كل الصفوف تصفق أتى مارد شدني من يدي وتساءل لم لا تصفق تصايح كل الحضور اطردوه تحسست عقلي اطردوه أفقت لنفسي طريداً طريد فصفقت حتى انقطاع الوريد حتى انقطاع الوريد أصفق من أجل ذاك الذي لايصفق

#12

فعلا مشكورين إخواني على هذا الشرح , وفي إنتظار المزيد ان شاء الله

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…