27-06-17, 07:22 PM
سلام عليكم
انا سويت برنامج مش مجاني
ولكن اخشي ان يقوم الشخص
ببيعية بعد شراءه مني
مالحل؟
[VB.NET] كيف اجعل برنامجي ما بشتغل الا لشخص واحد
|
27-06-17, 07:22 PM
سلام عليكم
انا سويت برنامج مش مجاني
ولكن اخشي ان يقوم الشخص
ببيعية بعد شراءه مني
مالحل؟
أولاً يجب عليك حماية البرنامج من الفك وهذا الأمر يصعب باستخدام VB.Net وغالبا بعض الأشخاص يقومون بضغط ال .exe وهذا خطأ في اعتقادي لأنه يسبب false positive لبرامج الحماية ويقوم بحذف البرنامج , أما بالنسبة للحماية من البيع بعد الشراء فهذا يصعب لكن يمكنك على سبيل المثال القيام باتصال بقاعدة بيانات بها codes تكون مربوطة بشئ ما بالجهاز المراد او عدة اجهزة مثل Hwid(Hardware ID) على حسب ال License code فيمكنك جعله لجهاز واحد او اثنان , الخ , اتمنى ان يكون هذا قد ساعدك قليلا .
28-06-17, 12:29 PM
(آخر تعديل لهذه المشاركة : 28-06-17, 12:59 PM {2} بواسطة silverlight.)
أي ملف علي الكمبيوتر مهما كان امتداده او نوعه له صفات والكمبيوتر يتعامل مع كل ملف حسب صفاته
حيث يقوم الكمبيوتر بقراءة Header الخاص بالملف و منه يسترجع صفات الملف ثم و بناء علي تلك الصفات يحدد البرنامج الذي يقوم بفتح الملف من خلاله هذا الاسلوب يتم في حالة الملفات العادية التي لها امتداد معروف مثل ملفات التكست و ملفات الصور و خلافه في حالة الملفات التنفيذية مثل ملفات exe وملفات dll الكمبيوتر هنا يقرأ صفات الملف مثلا ان كان الملف تنفيذي من النوع exe يقوم الكمبيوتر بتشغيلها مباشرة مثل اي ملف تنفيذي أما ملفات Dlll فهي تعمل بأسلوب مختلف قليلا لأن الكمبييوتر لا يستطيع تحديد اسم الملف Exe الذي يستخدم هذا النوع من الملفات و لذلك هذا النوع من الملفات يتم استدعاؤه و استخدامه فقط من داخل ملف EXE الفكرة كلها تنحصر في تحويل الملفات التنفيذية الي مصفوفة Byte و تشفير هذا المصفوفة عملية قراءة ملف تنفيذي وتحويله الي مصفوفةByte ممكن ان تتم باستخدام IO.File.ReadAllBytes لو قمت بحفظ المصفوفة في ملف بشكل مباشر فإن اي شخص محترف يستطيع معرفة نوع الملف بسهولة و قرائته لكن هذه المصفوفة عليك أن تشفرها بالطريقة التي تحلو لك و هناك مئات الطرق لكي تفعل هذا وحتي من الممكن أن تحفظها في ملف بأي امتداد تحدده أنت التشغيل هو عملية عكسية عندما تحتاج لتشغيل الملف التنفيذي تقرأ مصفوفة البايت من حيث حفظتها في ملف ثم تقوم بفك التشفير عن مصفوفة Byte ثم تعيد تحويلها الي ملف تنفيذي باستخدام IO.File.WriteAllBytes و تعطيها اسم ملف مناسب يكون امتداده حسب نوع الملف الاصلي قبل التشفير أيضا هناك طرق أخر لبناء ملف و قراءته من الذاكرة بدون أن تحفظ الملف علي الهارد ديسك عموما الفكرة كلها تنحصر في كلمتين Think Bytes أي فكر تتعامل مع كل شئ علي انه مصفوفة بايت و طبعا البايت تستطيع تحويلها الي اي نوع من الانواع الاخري أي تستطيع تحويلها الي Integer او string أو Hex String او اي نوع مناسب ستجد مثالا سريعا لك في الرابط التالي الرابط تم الشكر بواسطة: Ratchinko , ابو ابراهيم
|
|