تقييم الموضوع :
  • 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 , ابو ابراهيم


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] اريد خانة تعديل فقط عامود واحد من الجدول مجـ متعلم ـرد 7 175 23-10-21, 02:47 AM
آخر رد: ابراهيم ايبو
  [سؤال] برنامج يبحث بالعديد من النصوص داخل ملف واحد maio_do 1 272 22-08-21, 01:49 PM
آخر رد: asemshahen5
  [VB.NET] استفسار تعبئة اثنين DataGridView في فورم واحد من جداول مختلفة bilgacim 3 496 08-08-21, 11:16 PM
آخر رد: ابراهيم ايبو
  كيفية حفظ واستدعاء أكثر من Text box من ملف واحد Yasser_Abuelhassab 1 319 27-07-21, 03:13 AM
آخر رد: سعود
Sad [VB.NET] كيف اجعل برنامجي يفتح المتصفح الافتراضي ؟؟ ana ali 4 350 24-07-21, 04:00 PM
آخر رد: trakktour
  كيفية حفظ باسورد برنامجي ؟ 4545Mohamed 6 564 08-07-21, 04:30 PM
آخر رد: 4545Mohamed
  اريد طريقة لاتقاط سكرين شوت وحفظها تلقائي في مجلد من ملفات برنامجي 4545Mohamed 2 514 08-07-21, 01:00 PM
آخر رد: 4545Mohamed
  [كود] جعل التاكست بوكس يكتب في سطر واحد zazasami 3 447 30-06-21, 09:31 AM
آخر رد: ابو انس
Exclamation [سؤال] كيف اشغل برنامجي على جميع الفريموروك mudz 40 41,832 23-05-21, 07:43 PM
آخر رد: soufiane souissi
  مشكلة تحديث برنامجي عن تحزيمه ببرنامج Smart Install Maker alfaiz678 2 604 18-04-21, 12:42 PM
آخر رد: alfaiz678

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


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