السلام عليكم ورحمة الله وبركاته
أولا ما هو ال Unity لمن لا يعرفه ؟؟ اليونتى هو محرك العاب يقوم ببرمجة الألعاب عن طريق لغات البرمجة مثلا C# و جافا سكربت
أنا اتعلم برمجة الألعاب لأن هدفى برمجة لعبة أون لاين MMO ووجدت أن أنسب برنامج هو Unity كما أنه مجانى
لكن مشكلة البرنامج هو أنه يمكن أظهار السورس كود الخاص به كمثل بررامج ال C#
ملفات ال DLL الموجودة معه والموجود بها السكرب يمكن فكها بكل سهولة وهذا يجعل خطر كبير على اللعبة
وكان كل همى بالنسبة لل Unity هو حمايته وواتتنى فكرة بالأمس عن حمايته ولا أعلم ان كانت صحيحة أم خطأ
ال Unity يمكن تشغيله على جهاز لا يوجد به .net framework وقد لاحظت أنه مدرج معله ملفات Mono أى أنه يستخدم ال Mono فى ترجمة السكربت الخاص به ومن هنا جأتنى الفكرة
مترجم ال Mono مجانى ومفتوح المصدر لماذا لا يتم التعديل عليه لتغير بعد المصطلحات الخاصة به وتغير الشفرة الخاصة به
يعنى مثلا نحول
ال Public إلى %mT%^G
وال Var إلى GHJs^7G
كمثال ومن ثم بعد بناء السكربت طبعا يكون C#
فهل هذا ممكن
هذا ما أفكر به الأن التشير عن طريق ال مترجم نفسه أظنها فكرة رائعة قد تجنن مهندسى الهندسة العكسية D:
فما رأيكم يا شباب بالفكرة وأنا ابحث وأرجم منكم البحث أيضا هل هى ممكنة أم لا
من قبل قمت بعمل شئ أجده جيد لحماية برامجى من السرقة وهو أن أقوم بقراءة سيريال البروسيسور الخاص بالجهاز ومن ثم تشفيره
يعنى مثلا السيريال الخاص بالبروسيسور هكذا
B00120F0021511230FD
يظهر للمستخدم العادى هكذا
ال B = HdH
وال 0 = HGB
وهكذا
وأنا أخذ منه الكود الذى ظهر له وأقوم بتحليله ليصبح برقم البروسيسور من جديد
ثم وضعت فى البرنامج مرة أخرى جملة ثانية وهى أن ال B = TRRT
والصفر شئ أخر وهجذا فيتم مقرانتهم برقم البروسيسور مع أزالة جزء منه مثلا ال F00 مثلا
فإذا كان متطابقا يتم تفعيل البرنامج وان لم يكن متطابق فيتم أغلاق البرنامج
هذا أشرح لكى أوضح أنى أدخلت مهندس البرمجة العكسية فى متاهة
فهو فى الأصل لا يعلم ما الرقم الذى ظهر له له هل هو رقم سيريال البروسيسور أم الهارد ام المازر بورد ام ماذا فهو رقم مشفر
ولو تم أكتشاف انه رقم البروسيسور فتأتى مرة أخرى فى محاولة فك تشفير السيرير اليه ليعرف كل حرف أو رقم ما يقلبله من الشفرة
وهنا تأتى اخفاء بعض ارقام السيريال فيواجة مشكلة أكبر فى المعرفة
وهنا تأتى الحماية كاملة
أسف على الاطلة ولكنها لفكرة أخى
هل تشفير ال String وال int كمثال لتحويله الى شفرة يصعب اكتشافها
يعنى مثلا
int 10 ;
يتم تفصيل العشرة لتصبح
1 = JHK*&
0 = KYOL
متاهى كبيرة
فما رأيكم فى الفكرة للمبرمجين أيضا
وهنا يأتى سؤالى وأنا أعلم أن هذا المنتدى به من الخبرات من سيفيدنى أن شاء الله
هل : يمكننا فعلا فعل ذلك أم أنها فكرة مجنونة
وأسف على الأطلة
وتقبلوا تحياتى
أخوكم فى الله خالد

