برنامج حماية لمشروع بالدلفي
#1
السلام عليكم ورحمة الله

ضعت وانا ابحث بالمنتدى عن مكونات جاهزة للحماية والبحث لايعمل بهذا القسم
المطلوب مكون اعطيه رقم الهارديسك فيولد لي رقم تسلسلي بناء عليه استخدمه في برنامجي
ولو معه خوارزمية التحقق من الرقم المنتج تكود جنة وفيها الكعك كما نقول هنا
فقد ولد لي ولد جديد في البرمجة واريد تسويقه واريد له حماية جاهزة
وشكرا جزيلا
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • أبو معاذ
الرد
#2
و عليكم السلام و رحمة الله
إقتباس :مكونات جاهزة للحماية

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

إقتباس :المطلوب مكون اعطيه رقم الهارديسك فيولد لي رقم تسلسلي بناء عليه استخدمه في برنامجي

هذه تسمى آلية الــ licensing scheme
و ما فهمته من كلامك انك تريد حصر تشغيل البرنامج ببصمة من الجهاز تدخل في عملية توليد معلومات التسجيل...

- توجد عدة طرق للحصول على بصمة من الجهاز (هارد دسك او غيره من عتاد) مع خطر تزوير او تخطي البصمة في خالة عدم حماية "خوارزمية الحصول على البصمة" HWID bypass
- يوجد خطر اعادة توجيه سير اوامر فحص صحة معلومات التسجيل بالتعديل على القفزات "السحرية"

حماية البرامج بطريقة احترافية عملية معقدة و تلمس فروع متشعبة (من ناحية الأوامر البرمجية التي تكتبها، من ناحية بنية الملف الناتج و التعديل عليه و من ناحية محاولة منع ادوات التحليل و الحقن و غيرها)

ما ذكرته فوق محاواة توضيح ما تعلمه مسبقا لا اكثر Smile

ابدأ اخي فقط بالبحث على قوقل بادخال هذه الجملة:
PHP كود :
hwid+licensing+scheme+delphi+components 
[-] كل من 2 users say قال شكرا ل I3CT على المشاركة المفيدة
  • Delphi4Us, أبو معاذ
الرد
#3
إقتباس :و ما فهمته من كلامك انك تريد حصر تشغيل البرنامج ببصمة من الجهاز تدخل في عملية توليد معلومات التسجيل


بالضبط حماية للمنظومة بهذه الطريقة


إقتباس :توجد عدة طرق للحصول على بصمة من الجهاز (هارد دسك او غيره من عتاد) 


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



إقتباس :حماية البرامج بطريقة احترافية عملية معقدة و تلمس فروع متشعبة


اي حماية تفي بالغرض بالنسبة لي المهم كما يقال ( باب عن الكلاب او خلاص ) حاشا السامعين طبعا اي بمعنى المهم عدم ترك العمل بلا اي باب حماية
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#4
إقتباس :فقد فات علي مثل هذه المكونات بالمنتدى
اظنك تقصد مكون OnGuard
[-] كل من 1 user says قال شكرا ل I3CT على المشاركة المفيدة
  • Delphi4Us
الرد
#5
إقتباس :OnGuard

وجدته و ساجربه 

كود :
https://sourceforge.net/projects/tponguard/


اذكر ان هناك مكون اسمه Check Sum اعجبني فكرة عمله حيث انه يأخذ بصمة من كامل المشروع وبمجرد تغيير اي بايت فيه يتوقف
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#6
إقتباس :اذكر ان هناك مكون اسمه Check Sum اعجبني فكرة عمله حيث انه يأخذ بصمة من كامل المشروع وبمجرد تغيير اي بايت فيه يتوقف


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

- جعل البرنامج المحمي يتوقف خيار سيئ لانه سوف ينبه الكراكر على وجود آلية فحص الــ Integrity
من الأفضل ان يتم عمل طبخة محلية تجعل البرنامج لا يعمل بطريقة صحيحة (عملية حساب خاطئة او اظهار بيانات خاطئة من قاعدة البيانات و القائمة كبيرة حسب حيلة المبرمج) لاني لاحظت ان معظم الكراكر (الذين يعتمدون على الباتشينغ) لا يفحصون عمل مهام البرنامج المستهدف...

مثال من هنا:
https://delphi4arab.net/forum/showthread.php?tid=425

بخصوص OnGuard لم اجرب المكون، النسخة الأحدث التي تدعم Delphi 11:
PHP كود :
https://github.com/TurboPack/OnGuard-VCL 

و البحث هنا في المنتدى عن كلمة OnGuard 
[-] كل من 2 users say قال شكرا ل I3CT على المشاركة المفيدة
  • أبو معاذ, Delphi4Us
الرد
#7
بصمة الهارد دسك تتغير عند الفرمتة
رقم بطاقة الشبكة يمكن تغييره ايضا، لكن عن احتراقها ستعيد توليد رقم جديد.
حقيقتنا محفورة على الصخور..أكاذيبهم مكتوبة على الكتب
الرد
#8
إقتباس :بصمة الهارد دسك تتغير عند الفرمتة


"الفرمتة" تحدث رقم  Volume Serial Number فقط

[صورة: XHrdq8K.gif]
[-] كل من 1 user says قال شكرا ل I3CT على المشاركة المفيدة
  • Delphi4Us
الرد
#9
(30-12-2021, 04:40 PM)kerbadou كتب : بصمة الهارد دسك تتغير عند الفرمتة
رقم بطاقة الشبكة يمكن تغييره ايضا، لكن عن احتراقها ستعيد توليد رقم جديد.

بالنيبة الى سريال بارتشين يمكن حفظ سريال الخاص بها

[صورة: 267763414.png]
‏اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • Delphi4Us
الرد
#10
حسب علمي الرقم التسلسلي للقرص الصلب و بطاقة الشبكة لا يتغير وهو رقم وحيد (Physical number)
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم