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

نظم الحماية ،طرق و افكار "جديدة" ،دعوة لمشاركة الجميع باراءهم

مغلق
بدأه محمد سعيد في 20 يونيو 2001 · 22 رد · 3,620 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بعد التحية :)

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

1-الحماية ضد النسخ، و يكون بلآتي:

أ-تغيير معلومات سجل التجهيز في القرص ،بحيث يكون مساحة مقطع (مقاطع) البيانات اكبر او اصغر من 512 بايت، و حينما يحاول احد الاشخاص نسخ البرنامج يفاجأ بعجز نظام التشغيل عن ذلك ."بسبب ان القرص تالف في نظر نظام التشغيل"

و يمكن استخدام نفس الفكرة مع تغييرات طفيفة في كل من:

1-القسم الخاص بالنظام و يحوي:

أ-سجل التجهيز

ب-جدول تحديد الملفات

ج-الدليل الجذر

2-قسم البيانات

و ساحاول باذن الله اعداد شرح عن الاقراص و بنية المعلومات فيها، و كذلك محتويات الاقسام السابقة ،و بعض اوامر DEBUG الموجود في نظام DOS ..

ب-استخدام بعض البرامج ذاتية التفعيل حين النسخ ،و تقوم هذه البرامج بإلغاء عملية النسخ من نظام التشغيل ،و بذلك لا ينسخ القرص.

ج-ال Laser Louk و هو معروف ،و اعتقد انه يقوم عمليا بإتلاف بعض القطاعات " حيث ان بعض الملفات تنسخ بصورة طبيعية" :) و يا حبذا لو استطاع احد الاخوة المتمرسين اعطاءنا نبذه عن هذه الحماية :)

2-طرق لمعرفة النسخة الاصلية

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

ب-التأكد من الرقم التسلسلي للقرص "المرن او الصلب" و هي تعتمد على معلومات سجل التجهيز في قسم النظام للقرص.

ج- الرقم التسلسلي للبرنامج :و هو معروف تستخدمه معظم البرامج ، ويعتمد على بعض الحسابات.

3-بعد هذه النبذة البسيطة عن بعض اساليب الحماية ،احب ان ابدأ مباشرة بالموضوع ، ويقوم كل شخص بإعداد ما يستطيع اعداده من الآتي:

طرق او دوال او افكار تمكننا من:

أ-التعامل ب الأقراص " كل دالة او فكرة مهما كانت بسيطة قد تفيدنا،لذا ارجوا من الاخوة الكرام ان لا يبخلوا علينا بعلومهم"

ب-التعامل ب الملفات:سيفيدنا هذا لو استطعنا الكتابة على الملف دون ان نؤثر على عمله ، مثل تغيير حجم الملف او تاريخ انشاءه ((فقد رأيت عند احد الاخوة برنامج حجمه الاصلي حوال 1 ميجا ، لكن عند محاولة نسخه يتضاعف حجمه ليزيد عن حجم ال CD ، و بذلك لم نستطع نسخه ))"اليست فكرة طريفة"

3- نسخ البرامج المحمية ،كي نستفيد و لا نقع في ما وقع فيه صاحب هذا البرنامج "المسكين".

هذا ما اردت ان ادعوكم الى المشاركة فيه ،لكن قبل ذلك احب ان الفت نظركم للآتي:

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

و شكرا :) :) :)

#2

الله يقويك ومشكوريين على المعلومات الحلوه

جديد مدونتي الشخصية http://www.badwi.com

ادعو لنا بظاهر الغيب

MyBooksExchange.jpg

#3

الأخ محمد سعيد .

ما اكتبه مجرد فكرة ( أي أني لم أستفد منها ماديا ) لكني طبقتها على أكثر من جهاز - أيام الدوس والباسيك - ونجحت 100%

وهي تقوم على ما يأتي ( بالترتيب)

البرنامج الأول ( لدى الموزع فقط ) يقوم بما يأتي :

1- استخراج اسم القرص المرن ورقمه التسلسلي وتاريخ الفرمتة وحجم البيانات وأ بيانات يمكن أن تتغير بعد استخدام القرص ...

2- تحويل الحروف إلى أرقام ثم جمع تلك الأرقام

3- إضافة رقم معين ( يمثل كلمة المرور الخاصة بهذه النسخة من البرنامج ) يكتب هذا الرقم على القرص

4- إجراء بعض العمليات الحسابية الأخرى على الأرقام

5- تحويل الأرقام إلى حروف ثم حفظ تلك الحروف في ملف صغير ( عدد من البايتات ) داخل القرص المرن

البرنامج الاني : يوضع في القرص المرن ويتم تشغيلة آليا بواسطة ملف الـ autobox :

1- يطلب كلمة المرور المكتوبة على القرص

2- يعيد الخطوات السابقة ثم يجري مقارنة مع البيانات المخزنة في القرص للتأكد من أن التشغيل يتم من القرص الأصلي وليس من نسخة

3- يكرر خطوات البرنامج الأول لكن مع الهاردسك

4- يخلط معلومات الهاردسك مع معلومات القرص المرن ثم يغير ملف الحماية السابق وينقل نسخة منه إلى الهاردسك

البرنامج الثالث : ( برنامج التشغيل )

يقوم بتنفيذ الخطوة 4 من خطوات البرنامج الثاني ) وفي حال فإن كانت المعلومات صحيحة وإلا فسيتم عرض رسالة تأنيب ، وعند الضغط على أي مفتاح يتم الخروج من البرنامج

ملاحظة : إذا اختلفت معلومات الهاردسك أو القرص المرن أو كلمة المرور فلن تستفيد من البرنامج ، حتى ولو كان بسبب إعادة الفرمتة ، لذا فقيمة البرنامج يجب أن لا تزيد قيمة القرص + مبلغ ربحي زهيد لتسهيل الحصول على النسخة الأصلية

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

لاحظ : يمكن توزيع البرنامج بالمجان ، لكن يكون محميا بمعلومات لايمكن تكوينها إلا من موقع معين بعد دفع المبلغ المطللوب

ما الذي يمنع من تجربة هذا الأسلوب ؟

#4

الليزر لوك http://www.laserlock.com

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

تتألف عملية تصنيع الأقراص الليزرية الفضية من ثلاث مراحل

أولا- Mastering

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

بإعداد شيء يشبه القالب يسمى Master وتكلفة تصنيع الـ Master عالية جدا ولذلك فإن المعامل في المنطقة

العربية أغلبها إن لم يكن جميعها لا تستطيع إنتاج Master بل تستند بذلك على الشركات الغربية

ثانيا- Duplication

يتم أخذ الـ Master المصنوع من المرحلة السابقة ووضعة في مرحلة ثانية من الإنتاج وهي آلة لا يتجاوز حجمها

الغرفة الصغيرة ومهمتها إنتاج الأقراص الليزرية بالاستناد إلى Master معين وتعمل بسرعة حوالي كل ثلاثة ثواني

قرص

ثالثا- Printing & Packaging

حيث يتم طباعة الصورة المرغوبة على سطح القرص الليزري المعاكس لسطح القراءة

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

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

أقراصا معطوب بعض أجزاؤها

يتم تضمين Softeware خاص على القرص الليزري مهمته فحص الحماية وتتم عملية فحص الحماية كما يلي:

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

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

لكن:

ظهرت بعض البرامج مثل Clone CD ومهمته نسخ مثل تلك الأقراص الليزرية

فالمعلوم أن نسخ الأقراص الليزرية يتم بطريقة قراءة سطح المعلومات سيكتور سيكتور فإن فشلت عملية القراءة

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

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

لم يستطيع نظام التشغيل قراءة ذلك السيكتور فإن ذلك يعني أن هذا السيكتور تابع للسيكتورات المعطوبة ويتم

تجاوزه إلى السيكتور الذي يلي وهكذا حتى يتم قراءة كامل سطح القرص الليزري

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

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

أنا عندي فكرة

هنالك برنامج اسمه CD Identifier على ما أعتقد (إن لم يكن هنالك خطأ إملائي) المهم أن هذا البرنامج يقوم

بقراءة اسم المصنع الذي صنع القرص الليزري القابل للكتابة أي أنك تضع له أقراص imation فيقول لك أن هذا

القرص Imation من قبل أن تنسخ عليه أي شيء

الفكرة هي كيف يستطيع هذا البرنامج أن يقرأ تلك المعلومات من القرص الليزري وما هي التعليمات التي تمكننا من

ذلك

#5

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

بعد السلام و التحية،،

الى الأخ أنس ،و بقية الإخوان ..

اشكر الأخ انس نيابة عنكم اولا لقيامه باعطائنا معلومات قيمة عن ال Laser Lock،و ادخل بعد ذلك في صلب الموضوع مباشرة:

لفهم آلية عمل معظم الحمايات نحتاج لمعرفة البناء التفصيلي للقرص ،،و هو كالآتي بإختصار:

يقسم نظام التشغيل (DOS و خليفته Windows )القرص الى قسمين كالتالي:

1-قسم خاص بالنظام System Part:و يستخدم لحفظ سجلات خاصة بالنظام (DOS)

2-قسم البيانات Data Part :و يتم تخزين الملفات عليه،،

و يحوي سجل النظام نفسه ثلاثة اقسام هي:

1-سجل التجهيز Boot Record

2-جدول تحديد الملف FAT (File Allocation Table)

3-الدليل الجذر Root Directory

و اهم ما لدينا هنا (حسب ما اعتقد حاليا) سجل التجهيز و ساركز عليه . . .

سجل التجهيز Boot Record :و يوجد دائما في اول مكان على كل قرص،و هو كما نعرف ،يستعمل للإمساك ببرنامج صغير ،يبدا باعمال التشغيل التجهيزية ، و تستخدم اعمال التشغيل التجهيزية لجميع انواع الاقراص،سواء تلك التي تحمل ذاتيا او تلك التي لا تحمل ذاتيا (لانها لا تحوي ملفات النظام الثلاثة).

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

1-Start --- >Shut Down --- >Restart in MS_DOS Mode

2-اكتب في موجه دوس CD لتكون النتيجة C:

3-اكتب A:

4-اكتب DEBUG

5-اكتب L 0 0 0 1 ثم اكتب D 0 L200 و لاحظ النتيجة

سترى اشياء واضحة ،منها رسائل الاخطاء ، و اسمين من ملفات النظام ( IBMDOS.COM + IBMBIO.COM) هنا يمكن ان نستنتج ان برنامج التجهيز يختبر اسمي هذين الملفين ،ليعرف بأي نظام تشغيل شكلا ،،و بطريقة غير واضحة و لكن جديرة بالاهتمام ،نستتطيع ايجاد معلومات مهمة عن القرص و تشكيله ، مثل عدد البايتات في المقطع،و عدد المقاطع في المضمار"الابعاد الطبيعية للقرص"، و كذلك معلومات عن حجم جدول تحديد الملفات و الدليل الجذر،،،و توجد في نهاية السجل توقيع ختامي يجعلنا نقول تم بحمد الله ما كنا نريد قوله و هو 55 AA

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

و شكرا،، :)

#6

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

أخي العزيز محمد

كلامك على العين والراس وكل أفكارك جيدة ورائعة لكن وببساطة تستطيع أن تنسخ القرص كاملا بواسطة DiskCopy وإذا فشكل الـ Diskcopy فهنالك برامج تستطيع قراءة الفلوبي من وجهة نظر فيزيائية مثل برنامج DiskEdit الذي أخبرتك به أو برنامج Copy2PC

أنا عندي الفكرة التالية ولكنها ستكلفك الوقت لإنجازها وأنا مستعد لمساعدتك في البرمجة ومستعد أيضا لأن أتوكل كل البرنامج في حال موافقتك (بعد أسبوع من الآن لشي أخلص من هالامتحانات)

الفكرة هي:

1- صناعة برنامج لقراءة الرقم التسلسلي للقرص وتوليد ملف TXT مشفر فيه رقم القرص التسلسلي (هذه سهلة جدا)

2- تأتي بفلوبي جديد ودبوس (:):) لا تضحك هذه طريقة مجربة) وتقوم بإحداث ثقب في منتصف الجزء الحساس من القرص الأسود بداخل الفلوبي

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

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

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

يعني أنت بحاجة إلى الأدوات التالية:

1- برنامج يقوم بتوليد الملف المشفر الموجود في الخطوة الثالثة (يبقى عندك)

2- البرنامج الموجود في الخطوة الرابعة (يتم توزيعه على الفلوبي)

والآن:::::

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

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

بالنسبة لبرنامج Help PC فأعطيني إيميلك حتى أبعثه لك، وأفضل أن تبعث لي إيميل على عنواني anas@arabteam.nicmatic.com حتى أراك في أول مرة أفتح فيها الانترنت (وإلا سوف أطنش :) لأن أصلا ضميري عم يأنبني على هالوقت والأسبوع القادم مليء بالامتحانات)

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

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

#7

بعد التحية :)

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

يبقى البرنامج الثاني و هو "الاهم" ، و يمكننا التجسس على البرنامج ScanDisk حيث يقوم بتحديد السكترات التالفة ،، و بمجرد معرفتنا بال API الذي يقوم بهذا الامر يكون 90% من البرنامج قد اكتمل.

بالنسبة للملف النصي المشفر ،، نستطيع ايضا تطبيق ما ذكرته سابقا و هو "لكل ملف عناقيد لتحدد اسمه و نوعه ، مثل ملف للقراءة فقط Read-Only ،او ملف مخفي Hidden ،او ملف نظام System ، و هكذا،، لاحظ انه يمكنك تغيير بعض هذه الخصائص في الويندوز ،الا خاصية System ،ماذا يحدث لو اضفنا خاصية خامسة ،ستكون غير معرفة ،،و قد ينتج عن ذلك عدم عمل الملف عند نظام التشغيل "و هو المطلوب لدينا.

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

== اخوك:محمد سعيد == E.Mail:MS198451@Maktoob.com

#8

(شكرا لك يا اخ هاني ،"الموضوع التلي كتب قبل مشاركت القيمة")

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

بعد التحية و الاكرام ،،،

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

بخثت بعد ذلك عن ال API الذي يقوم بالتعرف على السكترات التالفة ،،و كالعادة في المواقع الاجنبية (( للفائدة :موقع http://www.vbapi.com ،، و لكن هذه المرة لم اجد الجواب ايضا لضيق الوقت لدي ((و اعلم يقينا ان في المنتدى اشخاص "عرب" يعرفون الجواب ،، و سوف اجعل لهم سبعين عذرا)) هذا و قد رايت في بعض المنتديات (من ضمنها منتدانا) اسئلة عن بعض المقترحات و الافكار التي طرحناها "موضوع تغيير حجم الملف" ،،و لا اريد منع احد من طرح ما يعجبه ،، لكن فليذكر لنا اين طرح الموضوع كي نستفيد "مع اني افضل ان يتم الاشارة في السؤال لهذه الصفحة كي تكون جميع الافكار مع بعضها،، :)

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

== للأخ انس:و صل البرنامج بعد الشكر الجزيل ،، و ساحاول تعلم الاسمبلي و ال C++ ==

#9

الأخ منصور ، آسف لإزعاجك وهذا هو الرابط لكني لم أحصل على شبء يذكر ، علما بأن هذا الموضوع كان نصب عيني منذ زمن

http://www.vb4arab.com/ubb/Forum1/HTML/004549.html

#10

بسم الله

عزيزي

أريد أن أخبرك بشيء قد اهتديت إليه منذ عدة أيام ولكن المشاغل والامتحانات تمنعني من المشاركة معكم

وهو:

لا تتعب نفسك بعملية تغيير حجم الملف ولا باستخدام الرقم التسلسلي للقرص

لماذا؟

للسبب البسيط التالي:

أولا بالنسبة لتحصيل رقم Serial Number فذلك عبارة عن تعليمة جاهزة في فيجوال بيسك وهي معتمدة على File System Object وتعطيك بشكل مباشر السيريل نمبر الخاص بالقرص

وإذا كنت تريد أن تعرف كيف تعمل هذه التعليمة فإنها تعتمد على تابع API وهو getvolumeinformation

ومشكور على موقع الانترنت الذي قدمته ولكن توجد ثلاثة أقراص من ميكروسوفت أسمها MSDN وفيها مرجع لتوابع API وكل ما تريد عن ذلك من معلومات وهذه الأقراص تعتبر جزءا من ميكروسوفت فيجوال ستوديو 6 أنصحك بشرائها فهي مرجع شامل وكافي عن البرمجة في Visual Basic و Visual C++ و API لأنها أصلا تعتبر كـ Help لهذه اللغات

أما عن مسألة تغيير حجم الملف أو تغيير صفاته (العناقيد كما تسميها أنت) فهذه فكرة جميلة وتزيد من تعقيد الحماية وبالتالي تزيد من فاعليتها ولكننا لسنا بحاجة إلى ذلك لأننا أصلا لن نضع على القرص ملفات!!!

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

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

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

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

وأخيرا: لا حاجة لا للرقم التسلسلي ولا لشيء آخر إذا اعتمدنا أن نكتب بشكل مباشر على سيكتورات القرص المرن متجاوزين بذلك النظام الذي يدعى (ملفات)

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

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

إلى اللقاء إلى الأسبوع القادم

#11

إلى الأخ هاني

فكرتك رائعة جدا ولكنها مخيفة جدا لأنني لا أملك أدنى معلومة للبدء في برمجتها

#12

أخ أنس،

مافي أحد يولد عالم ... :)

الفكرة تحتاج إلى أن نقرأ أي كتاب عن برمجة ال Device Driver أو WDM ل Windows2000 ... وبعدها مع معرفة كيفة بناء مثل ملفات النظام VXD فيمكن برمجتها ... وبصراحة هي فعلا معقدة ولكن لو فكرت فيها فهي فعلا عملية وتفيد جدا بالأخص إذ وضع روتين التأكد من القرص المرن في هذه المنطقة المشفرة بلغة الآلة الوهمية التي من صنعنا ...

ما رأيك نبلش الدراسة في الموضوع ... تحتاج فقط Device Driver SDK ....

أخ محمد سعيد أريد أن أعقب على ردك...

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

Coding on the Cloud and for the Cloud!

My Blog

#13

بعد التحية و الاكرام. :)

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

ادخل في الموضوع ،، بالنسبة للAPI فهناك احدها يقوم بالوضيفة المذكورة حسب قول احد الاخوة المبرمجين "كان مشرف سابقا في هذا المنتدى" ،و حسب ما اعتقد ان البرامج المرفقة مع الويندوز مصممة بالفيجوال بيسيك (مثل Disk Defragmenter و ScanDisk) و اذا كانت كذلك ،فانها تقوم بالتاكد من ان السكتر سليم او لا ، كيف، ارجح وجود دالة API لان نظام التشغيل(في اعتقادي)يحتاج لمثل هذه الامور في عمليات الوصول للبيانات.

فكرتك يا اخ انس جدا رائعة و جميلة (و ان شاء الله تكون سهلة) ،و اعتقد ان بناء نظام خاص بالقرص لا يحوي جدول الملفات FAT صعب المنال بالفيجوال ،و ان كان ممكن التحقيق في ال C و الاسمبلي ،،، لكن ساحاول البحث عما يفيد في MSDN بعد حصولي عليه ،،اما بالنسبة للاخ هاني ففكرتك جميلة ، و عملية ، لكن لا اعتقد انني ساستطيع المشاركة ،لان استعداداتي العلمية لن تسمح لي بذلك ، فانا مجرد طالب في اول ثانوي اهوى البرمجة ،"ضعيف نوعا ما في الانجليزي ، خصوصا المصطلحات ).

عموما ستنقطع مشاركتي معكم بعد يومين لمدة اسبوع تقريبا ،لاني سوف اسافر "ساحاول شراء الكتب (لاتعلم ال C )هناك لانها ارخص من عندنا" و سوف اشرككم بعد ذلك من الانترنت كوفي باذن الله.

#14

أخ محمد بس على السريع ... الScanDisk و الDisk Defragmenter وبرامج الويندوز كلها مبنية بالفيجوال سي و مافي شي مبني بالفيجوال بيسك ... سوف أحاول أن أساعد في كتابة كود من أجل معرفة هل السيكتور معطوب أم لا ... بالنسبة للقرص فالكتابة عليه من دون FAT يتم بالكتابة مباشرة وأنا كاتب برنامج يقوم بذلك بالفبجوال سي ...

Coding on the Cloud and for the Cloud!

My Blog

#15

بعد التحية :)

الى الاخ هاني،، ساكون لك من الشاكرين و لجهودك من المقدرين "ونحن كذلك الآن ايضا" لو ارسلت لي الشفرة للكتابة على القرص دون الكتابة في ال FAT و لا مانع لدي ان تكون بالسي و عائلته(C++ و V.C++ ) ،لاني افهم تقريبا بنيه البرنامج في هذه اللغات و لاني مقدم على تعلمها بالتفصيل ان شاء الله .

كما يسرني ان اشكرك مقدما على توجيهاتك لي في معرفة ان السكتور سليم ام لا ، علما باني لا احب ان اكون ثقيل جدا "و اطلب كل شئ جاهز" ، لذا سيكفيني ان شاء الله بعض الافكار و اسماء الدوال و البارامترات التي تستخدمها ،،، و على فكرة شفت في سيدي عندي في برامج قديمة ،، من ضمنها برنامج يطلب منك ادخال قرص مرن و تحديد موقع برنامج EXE ليقوم باضافة شفرة لهذا البرنامج ،، بحيث لا يعمل الا مع القرص الذي حددته ،،، و كذلك شفت برنامج ، في زر اذا ضغطت عليه يخبرك هل السوفت ايس منصب عندك والله لا،، و البرنامج يحتاج الى التسجيل لكي يعطوك الكود و الطريقة حسب ما فهمت من ال Read Me ،على العموم البرنامج اسمه Anti-Piracy Toolkit v1.00 Evaluation من شركة Digital Mage Designs و لا اذكر من اين نزلته ،،( اعتقد من VBCode ) "الموضوع لك يا حبيبي انس"

،و سيكون فهم عمل مثل هذا البرنامج و برامج ال Decompiler خطوة لانشاء نظام حماية عربي يكون ثمرة لمنتدانا الرائع ، و لكي لا يقع الكود الكامل لنظام الحماية في ايدي العابثين نستطيع انشاء برنامج EXE يضيف الحماية آليا لبرامج الاخوة اعضاء المنتدى (الذين افادونا بآراءهم ،و شجعوعونا خصوصا ،و البقية عموما) ،، و لكي نحقق هذا سنحتاج لفهم التركيب البرمجي للملفات التنفيذية ، و كيفية الاضافة اليها، و اعتقد ان جهود اخانا الكبير هاني الاتاسي في تشفير البرامج ستفيدنا كثيرا ... هذا و لدي في جعبتي من الافكار شئ كثير لا يسعني الوقت لطرحها الآن لاني مقدم على السفر غدا.. كما ارى ان نؤجل الفكرتان الاخيرتان لما بعد انشاء نظام الحماية المعتمد على السكتر الفاسد ،، و الكتابة على القرص دون ال FAT ، هذا و لكم جزيل الشكر و التقدير :)

#16

السلام عليكم

هل يوجد مثال لهذا الموضوع

#18

صراااااحة الكلام من حيث الفكرة

ممتاز جداً و خصوصاً فكرة الدبووووس .

و لكن الحكي عند البرمجة

#19

احى صاحب الموضوع على الموضوع الرائع هذا 002

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

سأحاول درس هذا الموضوع جيدا لعلى ابدء معكم فى هذا الموضوع

وَقُل رَّبِّ زِدْنِي عِلْماً

#20

لماذا الموضوع اصبح نائم هكذا ؟ ام مصيرة الفشل ؟

على العموم ان لن يهدئلى بال قبل إتمام هذا الموضوع بعون الله

راجع مشاركتى بألاسفل بهذا الرابط :

/index.ph...=0entry263645

وَقُل رَّبِّ زِدْنِي عِلْماً

#21

اتمنى من الاخوة المشرفين تثبيت الموضوع لاهميتة

واعتقد ان الموضوع سيكون به مناقشات حامية وستتفاعل معه كل الاعضاء

وَقُل رَّبِّ زِدْنِي عِلْماً

#22
أنس عبد الله كتب:
1- صناعة برنامج لقراءة الرقم التسلسلي للقرص وتوليد ملف TXT مشفر فيه رقم القرص التسلسلي (هذه سهلة جدا)

2- تأتي بفلوبي جديد ودبوس (:):) لا تضحك هذه طريقة مجربة) وتقوم بإحداث ثقب في منتصف الجزء الحساس من القرص الأسود بداخل الفلوبي

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

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

لقد جمعت خطواتك الثلاثة التى نوهت عنها انا بالاقتباس

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

شاهد الرابط التالى لترى البرنامج :

/index.ph...=0entry263858

وَقُل رَّبِّ زِدْنِي عِلْماً

#23

:rolleyes: السلام عليكم إخواني الكرام

توصلت لطريقة وهي:

الحصول على رقم الأسطوانة السريل نمبر الخاص بها . هذه الاسطوانة تحتوي على الملفات الخاصة بالتشغيل مشفرة .

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

وبهذه الطريقة البدائية تنسخ الأسطوانة الأصلية لكنها لا تعمل ...

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

الرجاء مراجعة هذا الرابط:

/index.php?showtopic=54074

هذا الموضوع مغلق.

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