تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيف اجعل برنامجي ما بشتغل الا لشخص واحد
#1
سلام عليكم
انا سويت برنامج مش مجاني 
ولكن اخشي ان يقوم الشخص
ببيعية بعد شراءه مني
مالحل؟
الرد }}}
تم الشكر بواسطة:
#2
أولاً يجب عليك حماية البرنامج من الفك وهذا الأمر يصعب باستخدام VB.Net وغالبا بعض الأشخاص يقومون بضغط ال .exe وهذا خطأ في اعتقادي لأنه يسبب false positive لبرامج الحماية ويقوم بحذف البرنامج , أما بالنسبة للحماية من البيع بعد الشراء فهذا يصعب لكن يمكنك على سبيل المثال القيام باتصال بقاعدة بيانات بها codes تكون مربوطة بشئ ما بالجهاز المراد  او عدة اجهزة مثل Hwid(Hardware ID)  على حسب ال License code فيمكنك جعله لجهاز واحد او اثنان , الخ , اتمنى ان يكون هذا قد ساعدك قليلا .
الرد }}}
تم الشكر بواسطة:
#3
أي ملف علي الكمبيوتر مهما كان امتداده او نوعه له صفات والكمبيوتر يتعامل مع كل ملف حسب صفاته
حيث يقوم الكمبيوتر بقراءة Header الخاص بالملف و منه يسترجع صفات الملف
ثم و بناء علي تلك الصفات يحدد البرنامج الذي يقوم بفتح الملف من خلاله
هذا الاسلوب يتم في حالة الملفات العادية التي لها امتداد معروف مثل ملفات التكست و ملفات الصور و خلافه

في حالة الملفات التنفيذية مثل ملفات exe وملفات dll الكمبيوتر هنا يقرأ صفات الملف
مثلا ان كان الملف تنفيذي من النوع exe يقوم الكمبيوتر بتشغيلها مباشرة مثل اي ملف تنفيذي
أما ملفات Dlll فهي تعمل بأسلوب مختلف قليلا لأن الكمبييوتر لا يستطيع تحديد اسم الملف Exe الذي يستخدم هذا النوع من الملفات و لذلك هذا النوع من الملفات يتم استدعاؤه و استخدامه فقط من داخل ملف EXE

الفكرة كلها تنحصر في تحويل الملفات التنفيذية الي مصفوفة Byte و تشفير هذا المصفوفة
عملية قراءة ملف تنفيذي وتحويله الي مصفوفةByte ممكن ان تتم باستخدام IO.File.ReadAllBytes
لو قمت بحفظ المصفوفة في ملف بشكل مباشر فإن اي شخص محترف يستطيع معرفة نوع الملف بسهولة و قرائته

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

التشغيل هو عملية عكسية
عندما تحتاج لتشغيل الملف التنفيذي تقرأ مصفوفة البايت من حيث حفظتها في ملف ثم تقوم بفك التشفير عن مصفوفة Byte ثم تعيد تحويلها الي ملف تنفيذي
باستخدام IO.File.WriteAllBytes
و تعطيها اسم ملف مناسب يكون امتداده حسب نوع الملف الاصلي قبل التشفير

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


عموما الفكرة كلها تنحصر في كلمتين
Think Bytes
أي فكر تتعامل مع كل شئ علي انه مصفوفة بايت

و طبعا البايت تستطيع تحويلها الي اي نوع من الانواع الاخري
أي تستطيع تحويلها الي Integer او string أو Hex String او اي نوع مناسب

ستجد مثالا سريعا لك في الرابط التالي
الرابط
الرد }}}
تم الشكر بواسطة: Ratchinko , ابو ابراهيم


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيف يمكنني استظافة سوفت وير برنامج ادارة جهاز السي بي سي في المختبر الى برنامجي الحزين اليماني 2 274 15-01-24, 10:39 PM
آخر رد: الحزين اليماني
  كيف ارسل مجموع 3 تكست بوكس إلى واحد بالترتيب ؟ أبووسم 3 323 18-12-23, 05:17 PM
آخر رد: أبووسم
  كيف اجعل قيمة dateTimePicker2 تساوي dateTimePicker1 Adel27213 2 274 09-11-23, 09:07 PM
آخر رد: Adel27213
  كيف اجعل البرنامج في بداية الشهر ينفذ حدث معين بالاصح اريد البرنامج في تاريخ واحد من Adel27213 3 472 05-11-23, 01:45 AM
آخر رد: justforit
  [VB.NET] كيف اجعل البرنامج يحدد اخر يوم من كل شهر Adel27213 2 351 03-11-23, 06:50 AM
آخر رد: Adel27213
  تشغيل برنامج خارجي ضمن شاشة برنامجي strongriseman 1 337 13-09-23, 10:14 PM
آخر رد: anes
  [VB.NET] برنامجي يتصل بالشبكة flawer69 0 219 07-09-23, 07:41 PM
آخر رد: flawer69
  مساعده في تشغيل اكثرمن فورم في وقت واحد maherhaddaf 5 526 19-07-23, 03:28 PM
آخر رد: Taha Okla
  هل ممكن اجعل عناصر ال LISTBOX بشكل افقي ismaeel 0 380 01-05-23, 11:26 PM
آخر رد: ismaeel
  [سؤال] كيف ضغط على زر برنامج اخر من خلال برنامجي mac9 2 530 03-04-23, 01:26 AM
آخر رد: أبووسم

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


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