السلام عليكم و رحمة الله
إخواني أعضاء المنتدى لي استفسار و أتمنى أن أجد عندكم إجابات تكون شافية و وافية لاستفيد و يستفيد غيري. .
بداية أحب أن أنوه إلى أنني تعبت كثيرا و أنا أبحث على النت لأصل إلى إجابات كاملة و واضحة على ما أبحث عنه
حتى أستمر في تنفيذ فكرة مشروعي أم أنسى ذلك و أتراجع عنه نهائيا. . لا أخفيكم أنني سألت نفس السؤال على facebook و من على الإيميل الخاص بي لبعض أعضاء هذا المنتدى و إجاباتهم و توضيحاتهم وضعتها مقتبسة
أسفل هذا الطلب. .
أولا أنا لا أعرف في البرمجة و لا شيء و مسجل جديد في هذا المنتدى بعدما بحثت عن منتديات عربية تهتم بالبرمجة. .
أنا الآن في طور إنجاز نظرية بسيطة تهم مؤسسات اقتصادية و تهم كذلك فئة معينة من الناس التي تتعامل مع هذه الأخيرة
و أنا أقترب على إنهاءها إن شاء الله و هي لا تصلح للتعامل معها و الاستفادة من خدماتها إلا من على طريق النت لسبب تجنب تنقل الأشخاص من مناطق عدة لإنهاء تعاملاتهم مع المؤسسة و لسبب آخر لا مجال لذكره الآن، و أريد برمجة برنامج بسيط يترجم هذه الفكرة إلى واقع تتعامل معه هذه الفئة المعينة من المجتمع مع المؤسسات و بالمقابل تتعامل معه أيضا تلك المؤسسات التي ستكون بطبيعة الحال مستهدفة بتخريب محتويات هذا التطبيق من المؤسسات المنافسة أو بتغيير
شيء من الشفرة في البرمجة تلك لتخريب الهدف المعمول لأجله
البرنامج يعرض على النت (عملية حسابات بحتة) و قاعدة بياناته ليست بالكبيرة أقصد حجمه قد لا يتجاوز الـ 20 ميجا
و هي تخص مؤسسات اقتصادية محددة كما أنه ليس مثل تلك البرامج الموجودة على النت التي تتطلب اشتراك و أسماء مستخدمين و كلمات مرور إنما تتم من خلال تحمل هذه البرمجة من على النت ثم يضيف إليها المتعامل (المشترك) التحديث لها كـ patch ثم ترفع على موقع المؤسسة مباشرة أو على أي موقع رفع و بعدها رفع الرابط على إيميل الموقع المذكور.
آسف على الإطالة سأدخل في المراد:
أريد حماية الكود المصدري لهذه البرمجة الصغيرة في حجمها و الكبيرة إن شاء الله في الحاجة إلى الهدف الذي ترمي إليه
محتوياتها من التلاعب بمحتوياتها و من التشويش عليها من أي طرف كان و يكون من الاستحالة الوصول إلى الكود المصدري لها حتى و إن كان هذا الطرف يملك هذا التطبيق (لأن النسخة ستكون معروضة للمتعاملين و لأي شخص يرغب في التعامل مستقبلا). .
قرأت أن احترافية التشفير (encryption) هي أضمن وسيلة في هذه الحال و لكنها على ما أذكر فيما اطلعت ليست طويلة المدى (أقصد الوقت) لأن هناك دائما من هم أعلى مستوى و بإمكانهم فك ذلك التشفير حتى و إن كان بعد فترة طويلة.
فكرت أن أتجاوز لغة الـ assembly و أبدأ من لغة الآلة (و لا يهمني الوقت الذي سأستغرقه) و بعدها أصنع له مترجما خاصا له للتنفيذ على أنظمة التشغيل الموجودة أو بشكل آخر أقوم ببناء لغة برمجة جديدة بكود جديد بدءا من لغة الآلة بمساعدة مبرمجين في المجال و بعدها ببناء نظام تشغيل بسيط لا يهتم لتعريفات الأجهزة و لا لواجهات الجرافيك و إنما لأجل تنفيذ برنامجي فقط و لكن هناك من ذكر لي أن بإمكانهم فك الشفرة من خلال كود الآلة نفسها لو وجدوا لبرنامجك أهمية لديهم (أقصد المؤسسات المنافسة). .
نداء إلى إخواني الأساتذة في المجال:
ما هو السبيل للحماية الكاملة و الآمنة لهذا المنتج (البرنامج) من الناحية البرمجية و ليس من الناحية القانونية و يجعل من الاستحالة الوصول إلى محتوياته و الكود المصدري له لأنه ضروري و ضروري جدا أن يكون مرفوع على النت و لا ينفع غير ذلك كما أنه لو لم يتحقق ذلك 100 بالـ 100 فسأعتبر الفكرة فاشلة و لا يسعني إلا أن أستسلم للواقع و أقدم خالص شكري و تقديري لكم
إقتباس لبعض الإجابات:
مبرمج إسمه هاني و هذا مقطع من كلامه:
"بخصوص عمل كومبيلر ما هيا صعبه هيا محتاجه وقت ومجهود فقط لانه نعمل كومبيلر بالاكواد الى هنحتاجها فى المشروع وبعدين نبدا فى المشروع نبرمجه بالغه الى انشانا بيها الكومبيلر و العلم سريع طبعا لانك لا تستطيع ان تتحدى جميع عقول البشر"
"انت تعمل شىء قابل للتطوير على المدى البعيد فمن سينشا الكموبيلر يستطيع ان يغير فى الكود فى اى وقت طالما معه الاساس والشفرة بل الازكى من ذلك يستطيع ان يعمل شفرة تتغير تلقائيا عشوائيا وتغير شفرة الكود تلقائيا لكن فى هذه الشفرة لن تستطيع انت او غيرك تعديل اى كود بعد الانتهاء لانه لن يرجع الى الاصل ابدا"
الأخ علاء هذا مقطع من كلامه:
"الصراحة أن تحميل الشيفرة عند الزبون هو مفتاح كل الاختراقات مادام يملك الشيء الذي يمكنه التشغيل فانسى الموضوع
تحتاج إلى شركة حماية خاصة متمرسة في الموضوع بعمق ولكي أكون صادق معك فالموضوع منتهي حتى مع وجود شركة الحماية لأنه وبساطة سيتم فك الحماية حتى لو قمت بأي شيء بالنسبة للشيفرة
على جهة الخادم فالوضع أن الشيفرة لدي وليست لدى الزبون والزبون يقوم بإعطائي المدخلات التي سيعمل عليها البرنامج وأقوم أنا بتشغيل البرنامج خاصتي على الخادم واستخراج النتائج مباشرة بدون أن أقوم بإعطائه الشيفرة"
الأخ الطيب بعض من ما كتبه لي:
"اخي في مثل هذا المجال الضخم, اعتقد انك تحتاج الى عدد من انظمة الحماية, و هي:
1 التشفير (encryption), و يجب ان يكون من الأنواع القوية جدا
2 الطريقة القديمة المتمثلة بوجود تصريح للدخول اسم مستخدم و باسوورد
3 حماية قانونية
4 حماية من نوع أخرى و هي إخفاء المشروع (كأن لا يعطى عنوان صفحة الويب إلا للمصرح لهم بإستخدام البرنامج),
ما عدا إذا كان موجه الى جمهور مستهلكين, فلا يمكن إستخدام هذه الطريقة
5 بناء قاعدة بيانات إحتياطية, حتى لو حصل أي اخطاء او مشاكل بالرئيسية يمكن إستبدالها
هذا ما اعتقد انه كافي لحماية مشروعك اخي, كما انها نفس الطرق المستخدمة بالمصارف و البنوك"
مقطع آخر تابع:
"ما اعرفه ان الإختراق نوعا هما:
1 نسخ البرنامج نُسخ غير مرخصة, و هذه ليست لها علاقة بتشفير البرنامج بل بتشفير نظام التشغيل (اي إذا نشرت برنامجك على نظام تشغيل ما (Win XP مثلا) و تم إختراق ذلك النظام (تم فك تشفيرة) فبذلك يمكن نسخ برنامج آلاف النسخ, لكن لا يمكن التوصل للكود المصدري على ما اظن
2 إختراق تطبيق (Back door) إن احتوى برنامجك عليه, و هذا كذلك لن يوصل الى الكود المصدري للبرنامج, بل سيعرض جهاز المستخدم للخطر من التجسس او السرقة
على ما اظن لا يمكن التوصل للكود المصدري إلا إذا نشرته انت مفتوحا و حرا (كما تفعل مؤسسات البرامج الحرة ببرامجها), و الدليل مثلا عندما تنشر موزيلا متصفحها فايرفوكس تنشر ايضا في صفحة تحميل مستقلة الكود المصدري للمتصفح لمن أراد ان يطلع عليه و يقوم بتعديله و لهذا نرى عدة متصفحات مبنية علي نظام فايرفوكس
و كما ذكرت في الأعلى, لن يتم التوصل لنواة النظام (الكود المصدري لنظام التشغيل) إلا إذا نشرتها انت مفتوحه حره"
الأخ محمود في آخر ما كتب:
"اما اذا كان المشروع بتاعك صغير زي مابتقول ومش محتاج سعة تخزينية كبيرة يبقي تستخدم قاعدة البيانات المجانية اكسس ودة علشان تقدر تحميها سهل جدا انك تحميها وابسط شيء اني لو عايز اعطي لك كود انك بعد ماتخلص الشغل في المشروع وتدوس علي زار تعمل عملية تعطيب لقاعدة البيانات بحيث اللي يجي بعدك ويجي يفك القاعدة البيانات لكي يشوف اللي بداخلها يكتشف انها بايظة ولما انت تيجي تسنخدمها هتدوس علي نفس الزار مرة اخري هترجع قاعدة البيانات لحالتها او اني اعمل لكي باس ورد لقاعدة البيانات بحيث مش في اي حد يقدر يفتح قاعدة البيانات دة الا لما ايكون عارف الباص ورد وانا تحت امرك في اي وقت وانت علي دماغي من فوق
وتحياتي"
يتبع لنفس الشخص و هذه رؤيته للموضوع: "و بعدين في شيء عايز اقولك علية انت لما بتعمل برنامج بتعمل حاجة بداخلة اني الانساناللي هيجي ياخد منك البرنامج لما يسطب البرنامج مش يفتح ولا يشتغل وهيظهر لية بعد الاحرف يقوم بالاتصال بك ويعطي لك الاحرف والارقام وانت تقوم باعطائة الاحرف والارقام المقابلة ويقوم باخذها ووضعها في البرنامج حتي يتم تشغيل البرنامج وايضا بتقوم عامل حسابك اني البرنامج دة مش يشتغل الا علي الجهاز اللي انت منزله علية فقط حتي لو صاحب الجهاز قام باخذ نسخة من البرنامج ونشغلها في برنامج اخر مش هيشتغل معاه"
الأخ محمد مهندس برمجيات:
"حماية البيانات والمعلومات موضوع كبيبر يؤرق الكثيرين ولا توجد اي ضمانات في هذا المجال لان الضمانات الوحيدة الموجودة هي ان اشد التقنيات الحالية امنا هي تلك التي لايمكن ان تخترق من ابدا ضمن التقنيات الحالية ولكن لا يضمن سلامتها من الاختراق ضد اي تقنيات مستقبليه او لم تكتشف بعد وهذا العلم كما تعلم في تطور مستمر وسريع جدا"
أخوكم أنيس من الجزائر و جزاكم الله كل خير


