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

حان الوقت لحماية برامجك من النسخ الغير قانونى!

رائج
بدأه hanysaad في 20 يوليو 2005 · 317 رد · 89,133 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#52

السلام عليكم

أخى ELKING

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

أما إذا كنت احد مبرمجينها فلا مانع :)

وهذا موقع الشركة

http://www.syriansoft.com/products/product.php?id=1

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

تحياتى ،،،

thekr.gif

لا مستحيل مع إصرار ، ولا يأس مع إيمان ، ولا جهل مع نور الرحمن

Nothing is impossible with this

www.apcTrust.com

#53

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

#55

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

المعزرة لتحرير المشاركة و حذف الرابط ,

إلا إذا كنت مالك للبرنامج فلا مانع من إعادة وضع الاربط مرة آخري

:)

gaza3-3.jpg
#56
اقتباس
لكن سوف اضع ما تريده لكن ليس الان

نحن ننتظر بفارغ الصبر البرامج

127gq4.png
#57

السلام عليكم

انا اسف جدا على التغيب فى اليومين السابقين ولكننى كنت مسافر ( وما زلت) وان شاء الله ساكون فى المنزل من غدا واتابع الموضوع

فى الواقع انا سعيد جدا ان الموضوع حظى بهذا الاهتمام

الاخ prof_1982

اقتباس
الي متى ؟

انا اسف جدا اخى المشرف ولكننى من يومين الهارد عندى تعيش انت وضاعت كل البيانات اللى عندى ثم اضطريت ان اسافر (الى القاهرة) بعدها مباشرة وسارجع غدا ان شاء الله تعالى فارجو ان تعذرنى

الاخ khaledmedra

اقتباس
اشكر كل من قام علي هذا المنتدي الرائع واشكر الاخ واضع الدرس لقيمة درسة العاليه

شكرا لك ومرحبا بك فى المنتدى

الاخ abu sabreen

اقتباس
اعذرني اخي هاني ولكني اعتقد انك فاهم الطريقة خطا 

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

وعند شراء البرنامج يرسل المشتري رقم الهارد بتاعه على سبيل المثال الى الشركة ومن ثم هم يضعوه في البرنامج ال (Generator)

ومن ثم يرسلوا له الرقم

وحقيقة هذه الكريقة طبقت في الphotoshop8 والذي تباع منه ملاايين النسخ

مبروك اخى abu sabreen

لقد قرأت افكارى اقتربت جدا من الطريقة التى اتحدث عنها وحرقت الفكرة :D

بالفعل انا اعتمد على طريقة ال (Generator) ولكن ليس وحدها بل استخدم معها عدة وسائل لتقويتها وجعلها عملية اكثر وتلافى عيوبها

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

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

وعندما تكلمت عن عمل نسخ مختلفة لكل هارد كنت اقصد هذه الطريقة ذاتها ولم اكن اقصد طريقة ال(Generator) لان هذه الطريقة على فكرة تعتبر اصعب فى الكسر من من طريقة ال(Generator) ولكنها غير عملية على الاطلاق

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

وان شاء الله الشرح المفصل قريب جدا واعتقد انكم كدة عرفتوا الفكرة الرئيسية

الاخ yasserstars

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

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

فارجو من الاخ هاني صاحب الفكرة اذا كان لديه تطوير لذلك أو اذا كان فكرته مختلفة عن ما اتحدث عنه فارجو ان يفيدنا بذلك

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

الاخhichamchak

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

فى الواقع انا اعتمد بالفعل على اخذ السيريال لعدة قطع اساسية بالاضافة لبعض الاشياء الاخرى

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

وعموما لوتعرف الاكواد لاستخراج سيريال كل قطع الجهاز فضعها لكى يستفيد الجميع

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

وشكرا لك

الاخ هشام علام

اقتباس
أنا اتبع طريقة تشبة طريقة أحد الأخوة هنا إلى حد كبير فى الحماية ولكن

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

فى الواقع طريقتى تشبه طريقتك الى حد كبير

يبدوا انك قرأت افكارى ايضا :D

ولكن ما هى طريقة التشفير التى تستخدمها؟

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

الاخELKING

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

أما إذا كنت احد مبرمجينها فلا مانع

شكرا لك

وانا اتفق مع الاخ هشام علام فى رأيه

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

فارجو ممن عنده برنامج مثل ذلك ان يضعه لان كل شى ضاع من عندى مع الهارد كما قلت

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

لذلك اريد منكم ارفاق برنامج ( بالكود طبعا) بالمواصفا الاتية :

1- البرنامج يكون كبير وبه اكثر من form

2- يكون الكود بتاع البرنامج كبير ومعقد

3- حجم البرنامج يكون معقول طبعا

عموما اى برنامج ان شاء الله هاينفع ولكن انا مش عايز مجرد برنامج مكون من فورم واحد وكود بسيط وبالتالى يكون كود الحماية واضح فيه مثل الشمس

وانا فى انتظاركم

وان شاء الله ساتابع الموضوع من غدا

تم تعديل هذه المشاركة بواسطة hanysaad في 27 يوليو 2005 في 22:17

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#58
اقتباس
انا اسف جدا اخى المشرف ولكننى من يومين الهارد عندى تعيش انت وضاعت كل البيانات

اولا اقول لك عندى انا لم يضع شيء فى الهارد ... اذا اردت استرجاع كل محتويات الهارد منذ ان اشتريته و لو فرمته 1000 مرة

ساعطيك الطريقة

اقتباس
وعموما لوتعرف الاكواد لاستخراج سيريال كل قطع الجهاز فضعها لكى يستفيد الجميع

فعلا عندى كل الاكواد التى استخرج بها كل معلومات قطع الجهاز و السيريال و كل ما تود معرفته عن كل قطعة

و ساضع برنامج مع الاكواد ان شاء الله

127gq4.png
#59

أخي العزيز هاني سأسألك سؤال قد يحدد مصير طريقة حمايتك ؟

كيف تتأكد من صحة الباسوورد او السيريال في برنامج يعني ما هي الجملة التي تضعها للتأكد من صحة السيريال ؟

اذا أمكن ضعها

و شكرا

#60

السلام عليكم

الاخ hichamchak

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

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

وفى انتظار برنامج الاكواد بتاعك

الاخ crazy-man

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

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

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

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

فعلى سبيل المثال انا اخزن السيريال الذى ادخلها المستخدم فى الRegistry واعلم انه من السهل الوصول اليها ولكن هذا ليس مشكلة على الاطلاق لان السيريال لا يخزن فى الRegistry الا بعد ان يدخله المستخدم ويكون قد عرفه بالفعل

وانا حاليا اجهز فى البرنامج المحمى بهذه الطريقة كما قلت وان شاء الله ساضعه قريبا والمشكلة الوحيدة الى الان اننى لم اجد البرنامج الذى اطبق عليه الحماية كما قلت وطلبت اكثر من مرة ان ارفاق مثال لاى برنامج بالكود لاننى حاليا لا يوجد عندى اى امثلة ولكن لم اجد ردا حتى الان

انا فقط احتاج اى مثال جاهز لاى برنامج سواء كان من عمل احدكم او حتى اذا كان مثال من اى موقع

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

وكما قلت اكثر من مرة هذه ليس بهدف حجب المعلومات ولكن فقط لاعطاء فرصة لاختبار البرنامج عمليا

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

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#61

لا أخي لن تكشف طريقتك

انا فقط سؤاليهو هل تستعمل في التأكد من السيريال على "IF" أم شئ آخر ؟ يعني لو كان IF قل نعم و اذا كان غير ذلك فقل "غير ذلك" فهمت قصدي ؟؟

#62

السلام عليكم

اقتباس
لا أخي لن تكشف طريقتك

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

ارجو ان تكون هذه النقطة واضحة لاننى لا افكر اطلاقا فى حجب اى معلومة اعرفها عن اعضاء هذا المنتدى الرائع

اقتباس
انا فقط سؤاليهو هل تستعمل في التأكد من السيريال على "IF" أم شئ آخر ؟ يعني لو كان IF قل نعم و اذا كان غير ذلك فقل "غير ذلك" فهمت قصدي ؟؟

اجابتى هى : غير ذلك

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

يعنى انا مضطر استعمل if ولكن لعمليات اخرى تؤدى فى النهاية الى التأكد من صحة السيريال

ارجو ان يكون كلامى واضح

وانا تحت امرك فى اى سؤال

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#63

المهم اذا كنت تستعمل ال IF فيمكن بكل سهولة عمل Jump عليها و جعل البرنامج يقبل اي سيريال (بغض النظر عن الخوارزمية المستعملة في تكوين السيريال) لأن ال Jump تقوم بعكس الشرط مثلا (اذا أدخل المستعمل السيريال الصحيح أظهر رسالة الخطأ اما اذا أدخل غير ذلك فادخل للبرنامج) و هذه العملية تحصل حتى عند استعمال APIs التي تعطيك ناتج 0 اذا كان السيريال المدخل و السيريال الأصلي متطابقين اذا يتم بطريقة بسيطة بالأسمبلي او برنامج Olly اعطاء قيمة 0 للناتج في كل الحالات ...

#64

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

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

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

امنياتي للجميع بقضاء اجمل وقت ممتع :lol: :rolleyes: :lol: :rolleyes: :lol: :rolleyes:

حمل من هنا

تم تعديل هذه المشاركة بواسطة ELKING في 28 يوليو 2005 في 21:09

#65

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

يمكننا تعريف الحماية الفيزيائية بأنها عبارة عن نظام حماية يعتمد على معدات إضافية (لها وجود مادي) .

ومن الأمثلة على طرق الحماية الفيزيائية نذكر:

1- الدونجل The Dongle :

كمثال عليه نذكر 3D Studio MAX، والدونجل هو عبارة عن دارة صغيرة توضع على المدخل التفرعي LPT للحاسب وهو يحمل بداخله دارة متكاملة صغيرة مبرمجة بحيث تعطي استجابة معينة عند إشارة دخل معينة، ويجب على دارة الدونجل أن تؤمن توصيل الطابعة إلى منفذها الذي احتله الدونجل وبالتالي يتكون الدونجل من طرفين الأول يدخل في جهاز الكمبيوتر والثاني ليسمح لكبل الطابعة بالدخول عبره، وهو نظام حماية فعال جدا وفي بعض الأحيان يتم تخزين بعض الأكواد الضرورية لاستمرار عمل التطبيق المحمي وبالتالي لا يمكن أن يستمر البرنامج بالعمل إلا بوجود الدونجل الخاص به.

محاسن هذه الطريقة:

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

مساوئ هذه الطريقة:

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

2- البطاقة التوسعية:

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

محاسن هذه الطريقة:

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

مساوئ هذه الطريقة:

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

3- إحداث عطب فيزيائي على القرص الليزري Laser lock:

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

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

ثانيا- Duplication : يتم أخذ الـ Master المصنوع من المرحلة السابقة ووضعه في مرحلة ثانية من الإنتاج وهي آلة لا يتجاوز حجمها الغرفة الصغيرة ومهمتها إنتاج الأقراص الليزرية بالاستناد إلى Master معين وتعمل بسرعة حوالي كل ثلاثة ثوان قرص.

ثالثا- Printing & Packaging: حيث يتم طباعة الصورة المرغوبة على سطح القرص الليزري المعاكس لسطح القراءة.

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

- تتم محاولة القراءة من قطاع سليم معين يكون مزروعا بين تلك القطاعات المعطوبة

- إن نجحت عملية القراءة فهذا يعني أن القرص أصلي ويتم فك تشفير الملف وتنفيذه

الليزر لوك يكون غالبا حوالي 3 قطاعات أو 19 قطاع أو 27 قطاع معطوب وطبعا هذه القطاعات تكون متوضعة على مساحة حوالي 39 قطاع بحيث أن القطاعات المزروعة في أحضانها تكون سليمة وهي التي يتم فحصها عند تفحص الحماية

محاسن هذه الطريقة:

ذات تكلفة منخفضة إذا ما قارناها بالطريقتين السابقتين.

مساوئ هذه الطريقة:

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

كيفية اختراق الطرق الفيزيائية السابقة:

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

#66

السلام عليكم

الأخ الكريم crazy-man

اقتباس
و انا في انتظار البرنامج يا هشام

أخى انا لم اعد بوضع مثال للتحدى ولكنى قلت ايضاً

اقتباس
وعلى كلٍ فإن قول الأخ crazy-man فعلا ( كل شئ يكسر )

ثم إنه لم يوجد مثال عندى جاهز الآن

الأخ hanysaad

اقتباس
ولكن ما هى طريقة التشفير التى تستخدمها؟

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

شرح التشفير موجود ومشروح بإستفاضة ، يمكنك ان تبحث عن كلمة تشفير أو incode داخل المنتدى

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

والصورة التالية توضح اهمية حماية كل اجزاء البرنامج وليس المدخل فقط

28_07_05_01_21_11_1122582071Hisham.gif

ملاحظة : اخوانى الشرح التالى منقول

عند الخطوة رقم واحد قام البرنامج بتخصيص الثابت بقيمة 1 ويجب ان تكون 3.14 والا ستكون النتائج خاطئة عند الخطوة رقم 2 قام البرنامج بالكشف عن الدنجل فلم يجده لان البرنامج غير اصلي فانتقل الى الخطوة رقم 5 متخطيا الخطوة رقم 4 والتي فيها تصحيح القيمة الى 3.14 والتي يجب ان تكون كذلك وعليه فهي مازالت تساوي 1 البرنامج دخل مرة ثانية في الكشف عن جهاز الحماية فلم يجده فانتقل الى الخطوة رقم 7 وهي الخروج من البرنامج لعدم وجود الدنجل الهاكر هنا انتبه لان البرنامج يخرج فقام بتعديل مساره بدلا من الذهاب الى الخطوة 7 فجعله يذهب الى الخطوة 6 ليستكمل مساره الطبيعي فيقوم بعمل الحسابات وتظهر النتائج ولكن خاطئة لان القيمة لم تصحح الى 3.14 لعدم المرور بالخطوة 4 وبالتالي يعطيك نتائج خاطئة والظاهر ان البرنامج يعمل وتخيل كم من ثوابت ومتغيرات ببرنامج ضخم

الكلام في هذا الموضوع كثير ويحتاج الى صفحات وصفحات.

على فكرة ، رأئيت اليوم وانا فى احد المصانع لصديق لى مهندس تابع لشركة تتراباك العالمية Tetra Pak نظام حماية يمكن بلورته إلى حماية البرامج وهو SecurID ولمن يريد معلومات اكثر http://www.rsasecurity.com وهو يعتمد على التغيير كل نصف دقيقة ولكن هذا موضوع خارجى الامر غريب سيتسأل الأغلبية وما علاقة ذلك بالحماية :) واتمنى ان ما خطر ببالى يكون خطر ببال الخبراء هنا :)

مع تحياتى ،،،

وعذراً للتأخير لظروف العمل

thekr.gif

لا مستحيل مع إصرار ، ولا يأس مع إيمان ، ولا جهل مع نور الرحمن

Nothing is impossible with this

www.apcTrust.com

#67

السلام عليكم يا شباب :)

هل أداء البرنامج المنسوخ هو نفسه اداء البرنامج الاصلي

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

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

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

نعود الى موضوعنا

هناك نوع من البرامج تكون حمايتها فقط بموجب قوانين حماية الملكية الفكرية وهي قوانين قوية جدا في الدول المتقدمة وامتد شئ من اثار هذه القوانين اللى بلادنا في الاعوام القليلة الاخيرة

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

النوع الثاني هي برامج صغيرة يتم حمايتها برقم سري تقوم بشراءه من منتج البرنامج طبعا بجانب حماية القانون للبرنامج ويكون شكل الحماية عبارة عن مدة زمنية يعمل فيها البرنامج بكامل قدراته في تلك المدة الزمنية حتى تنتهي واثناء تلك المدة تظهر لك رسائل في اول البرنامج

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

ولنجيب على السؤال المطروح مع النوع الثاني

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

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

من يدريك ان هذا الرقم صحيح

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

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

كيف يتم استنتاج الرقم

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

لنرجع الى سؤال كيف تتم هذه العملية وسأجيب عليه بسرعة البرق وربما اسرع قليلا

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

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

النوع الثالث من الحماية الحماية بالهاردلوك او الدنجل او علامة مميزة على القرص الاصلي

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

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

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

هذا النوع من الحماية اذا تم تجاوزه فسيعمل البرنامج تماما مثل الاصلي لماذا لان الحماية منفصلة عن البرنامج بمعنى انها اضيفت بعد تمام عمل البرنامج اما الشكل الآخر من هذا النوع وهو الاغلى والاصعب هو ان الشركات المنتجة للدنجل تقوم بتزويد منتج البرنامج بكود يضيفه داخل برنامجه اي انها حماية مدمجة تماما وبالتالي يقوم منتج البرنامج بالمبالغة في نثر هذا الكود داخل برنامج وفي وسط العمليات وبالتالي اذا اكتشف الهاكر هذا الكود وقام بحله وتحويل المسار بعيدا عنه فلن يكتشف اجزاء اخرى منه وهذا يفسر ان بعض البرامج لاتعمل بكفاءة كاملة لانه لم يكتشف كل اجزاء الكود اذن ننتهي الى ان مع هذا النوع من الحماية البرنامج الاصلي لا يطابق المنسوخ نهائيا ولكن كيف يمكن ان يخرج البرنامج نتائج خاطئة اذا لم يفك جيدا سوف اعطيك مثال تابعه جيدا هو ليس شيفرة برمجه او كود ولكنه منطق برمجة وقريب من بعض الحالات ممكن ان تحدث تابع مايلي جيدا لنفرض ان هناك برنامج لحساب مساحة الدائرة عودة الى المرحلة الابتدائية من التعليم مساحة الدائرة تساوي نصف قطر الدائرة مضروب في نفسه ومضروب في ثابت يساوي 3.14 ويسمى PI او ط

اخوانى هذا الموضوع منقول من المهندس دوت نت

تحياتى ،،،

thekr.gif

لا مستحيل مع إصرار ، ولا يأس مع إيمان ، ولا جهل مع نور الرحمن

Nothing is impossible with this

www.apcTrust.com

#68

السلام عليكم

رابط له صلة

1- الرقم التسلسلي Serial Number

تحياتى ،،،

thekr.gif

لا مستحيل مع إصرار ، ولا يأس مع إيمان ، ولا جهل مع نور الرحمن

Nothing is impossible with this

www.apcTrust.com

#69

ما شاء الله .. الى الامام اخي العزيز

#70

اقترح تجميع الموضوع في ملف بصيغه pdf في النهاية

#71

السلام عليكم

شكرا جزيلا اخى هشام علام على هذا الشرح الرائع

وجزاك الله عنا خيرا

ولكن لو تفضلت وشرحت كيف يتم عمل هذا بالاسيمبلى ( اقصد بالاكواد ) فسيكون هذا رائع جدا ومفيد لنا كلنا

وكلنا فى انتظار برنامج قراءة السيريالات لكل القطع الذى وعد به الاخ hichamchak

تم تعديل هذه المشاركة بواسطة hanysaad في 30 يوليو 2005 في 01:40

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#72

السلام عليكم

اولا اود ان اشكر كل من ساهم فى اضافة معلومة فى هذا الموضوع وانا سعيد جدا باهتمامكم ومتابعتكم

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

اولا: شرح الطريقة:

كما عرفتم من قبل تعتمد هذه الطريقة على برنامج اخر صغير غير البرنامج الاساسى يسمى الgenerator

بمعنى اننا مع كل برنامج نعمل برنامج صغير ال(generator) وظيفة هذا البرنامج هى انه عند تشغيله على جهاز معين يقرأ السيريال نمبر لبعض الاجزاء على سبيل المثال السيريال نمبر للبروسيسور وللبوردة (و ذلك عن طريق دوال API وساشرح هذه الدوال فيما بعد فى المثال)

هكذا نكون حصلنا على متغيرين (x ,y على سبيل المثال) نقوم بادخال هذين المتغيرين فى معادلة معقدة جدا و على فكرة فعالية الطريقة كلها تعتمد على هذه المعادلة فعلى سبيل المثال انا لا اقصد معادلة كهذه Z=X2+5Y+X5Y7

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

عموما انا لا اريد ان اشرح المعادلة بالتفصيل قبل وضع برنامج محمى بهذه الطريقة كما وعدتكم (ونشوف هتكسروه ولا مش هاتقدروا :rolleyes: ) لاننى لو شرحت المعادلة سيكون من السهل جدا كسر البرنامج الذى ساضعه

وهذه المعادلة ليست ثابتة او منزلة ولكنها تعتمد على تفكير المبرمج وكلما زاد فكر المبرمج و مهارته وخبرته كلما كانت المعادلة معقدة جدا وصعبة الكسر

بعد ادخال المتغيرين الذين حصلنا عليهما فى المعادلة ( او المعادلات) سنحصل على متغير او متغيرات اخرى تكون هى السيريال نمبر للبرنامج

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

وهكذا تكون وظيفة هذا الgenerator هى توليد سيريال نمبر مختلف لكل كمبيوتر يوضع عليه

بعد ذلك نضع فى البرنامج الاصلى Built-in Generator اى نفس الكود الذى يقرأ السيريلات ويدخلها فى نفس المعادلة وهذا ال Built-in Generatorوظيفته هى قراءة السيريالات واجراء نفس العمليات عليها ومقارنة الرقم (او الارقام) الناتج بالرقم الذى يدخله المستخدم الذى حصل عليه من الgenerator

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

تكمن نقاط الضعف(وكذلك مدى قوة الحماية) لهذه الطريقة فى ثلاث نقاط اساسية :

1-المعادلة المستخدمة فى الgenerator ومدى تعقيدها وتشعبها

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

2-الطريقة ( الكود) المستخدمة للكشف عن صحة السيريال الذى يدخله المستخدم

انا اقصد هنا انك مثلا لا تستخدم كود كالتالى

If (txtpass.text = pass)then 
'password is true
frmmain.show
else 
'password is wrong
msgbox("Password is not true, Please insert true Password")
end 
end if

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

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

مثل هذا الكود ايضا يمكن كسره ووضع هذه القيمة فى الريجيسترى حتى ان ادخل المستخدم باسوورد خطأ او حتى لو لم يدخلها اصلا وبالتالى سيعتبر البرنامج انه registered(لانه وجد هذه القيمة فى الريجيسترى) ولن يسأل عن الباسوورد

عموما لا تعتمد فى اختبار صحة الباسوورد على جملة If او الريجيسترى او التخزين فى ملف خارجى

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

3-اخفاء كود ال Built-in Generatorداخل البرنامج الاصلى بصورة تجعل الوصول اليه مستحيل عند فتح البرنامج بالاسيمبلى

لابد ان يكون كود التشفير (المعادلة) غير واضح فى البرنامج الاساسى لانه لو كان واضح سيكون من السهل جدا فتح البرنامج بالاسيمبلى ومعرفة المعادلة وبالتالى يستطيع عمل برنامج generator لهذه المعادلة وبالتالى يستطيع توليد باسوورد لاى جهاز (بمعنى اخر كأنه استطاع ان يسرق الgenerator الذى تستخدمه لتوليد الباسوورد)

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

ثانيا : دراسة عامة عن مدى امكانية استخدام هذه الطريقة فى الشركات الكبرى ومدى كونها عملية:

قد يسأل سائل انه لابد تشغيل الgenerator على كل جهاز لكى يستطيع ان يقرأ السيريالات المطلوبة منه وهذا بالطبع غير عملى بالمرة؟

لحل هذه المشكلة نجعل ادخال سيريالات القطع التى نريدها اما ان يقرأها الgenerator او يمكن ادخالها manual عن طريق text box

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

اولا : نكون كشفنا جزء من طريقة الحماية للمستخدم

ثانيا : ليس كل مستخدم عادى يستطيع معرفة هذه السيريالات

لحل هذه المشكلة توجد طريقتين :

الطريقة الاولى :

نعمل برنامج صغير جدا كل وظيفته قراءة السيريالات التى نريدها واظهارها للمستخدم ( فى Label) وامكانية طباعتها على ورقة دون توضيح طبيعة هذه الارقام للمستخدم فمثلا يكون بالبرنامج command له caption =Get ID required for buying Cyber manager باعتبار ان Cyber manager هو اسم البرنامج و يعرض له فى label نص كالتالى ID =656546-544-545 ورسالة اخرىYou must have this ID when you go to buy Cyber manager

بعد ذلك نتيح هذا البرنامج مجانا عبر الانترنت او عبر مقر الموزعين

الطريقة الثانية :

ان نضع البرنامج الاصلى(نسخة تجريبية) محمى بهذه الطريقة ونتيحه مجانا على الانترنت عبر موقع الشركة المنتجة طبعا وعند تشغيل البرنامج تظهر رسالة register بالضغط على command button له caption = get registration ID يقوم البرنامج بقراءة السيريالات المطلوبة وطباعتها للمستخدم بالصورة السابقة ليأخذ المستخدم هذا الرقم الى مقر الموزع ويدفع ثمن البرنامج وبالتالى يقوم الموزع بادخال هذا الرقم الى generator وتوليد الباسوورد واعطائها للمستخدم لكى يستخدمها فى تشغيل البرنامج

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

بل ويمكن ايضا شراء البرنامج عن طريق الانترنت وذلك بعمل موقع يقوم المستخدم بانزال البرنامج الذى يقرأ السيريالات من خلاله ثم يدخل الارقام التى حصل عليها بالاضافة لرقم الcredit card الى الموقع ويقوم الموقع بتطبيق المعادلة بعد التأكد من الرصيد ويقوم باعطاء السيريال نمبر النهائى للمستخدم ( اى ان الgenerator يكون موجود فى الموقع)

هكذا اكون قد انتهيت من شرح الطريقة بالتفصيل ولم يبقى غير ان اضع برنامج محمى بهذه الطريقة (ونشوف هاتقدروا تكسروه ولا مش هاتقدروا :D ) وهذا كما قلت ليس بهدف التحدى ولكن فقط لاختبار هذه الطريقة عمليا ثم بعد ذلك ساضع هذا البرنامج المحمى (سواء تم كسره او لا) بالكود واضع ال generator بالكود ايضا واشرح الثلاث نقاط السابقين(نقاط ضعف البرنامج التى اجلت شرحها) بالتفصيل وبالامثلة

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

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

تم تعديل هذه المشاركة بواسطة hanysaad في 30 يوليو 2005 في 02:16

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#73

حلوووو بس لا يدري جاااااااااز

460.gif

#74

السلام عليكم

انتوا فين ياجماعة؟؟؟

فى انتظار ارائكم :rolleyes:

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#75

السلام عليكم

شكرا جزيلا لاخوانى المشرفين على تثبيت الموضوع

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

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

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

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

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

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

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