السلام عليكم
لدي برنامج بالاسمبلي و لكن اريد حمايتة من الـ patch بحث لا يمكن التعديل عليه بالـ patch هل يمكن بالتحزيم فقط او يوجد طرق اخرى يمكن حماية البرنامج
السلام عليكم
لدي برنامج بالاسمبلي و لكن اريد حمايتة من الـ patch بحث لا يمكن التعديل عليه بالـ patch هل يمكن بالتحزيم فقط او يوجد طرق اخرى يمكن حماية البرنامج
لا شئ لا يمكن التعديل عليه، ففي النهاية برنامج patch هو محرر يقوم بتعديل بايتات ما .. من ... إلى ... وعلى مستوى التمثيل الست عشري للملف.
هل ما تقصده هو منع محاولات القرصنة ؟ كإزالة الحماية التجارية أو ما شابه ؟
يرجى التوضيح.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
ليس بالقصد الترخصيص فالترخيص مهاما كانت حمايتة في نهاية سوف يخترق انا اقصد ان بأمكان المبرمج عمل باتش لبرنامجة مثالاً لوضع زر جديد في البرنامج و لكن المبرمج لا يريد احد غيره يمكنه عمل باتش للتعديل على برنامجه
مثل اضافة زر جديد و الخ من التعديلات و لو كمثال طلب عميل ان تضيف الى قائمة File في برنامجك مثلا Open فالبتأكيد هذا شيئ مشهور راح يعمل المبرمج باتش لأضافة Open انا الذي اريده ان لا يستطيع احد عمل باتش للتعديل
على البرنامج مثل اضافة ازار جديدة و الخ فهل توجد طريقة لجعل البرنامج محمي من التعديل
وشكرا...
compression, packing.
كلها طرق تؤدي في النهاية إلى تحويل البرنامج إلى تطبيق يصعب تحليله والتعديل عليه مباشرة لأن أجزاؤه محمية قبل أن يتم تنفيذها في الذاكرة وحتى بعد التنفيذ تبقى أجزاء كثيرة مبهمة المعالم.
ما يحاول الـ reverse engineer عمله بالطرق التقليدية هنا هو فك الحماية عنه بالكامل وإعادة تشكيله بصورته الطبيعية بدقة كبيرة ومن ثم يقوم بتنفيذ التعديلات عليه.
أحياناً الطرق التقليدية تكون هي الطرق الوحيدة للوصول إلى هذا المبتغى أما إن كانت الحماية تقليدية مثل حماية UPX، فيمكن للـ REngineer أن يقوم بحقن كود في نهاية الجزء الخاص بخوارزمية UPX من شأنها أن تنفذ عند انتهاء فك الضغط وبالتالي أن الملف أصبح في صورته الأصلية فينفذ الجزء الخاص بالـ REngineer والذي يكون الهدف منه التعديل على أجزاء في البرنامج at runtime وإضافة أو مسح أجزاء من البرنامج، كمثال: زر، كما ذكرت.
هذه بصورة عامة ومبسّطة.
من النواحي التي يمكنك استخدامها قبل Compression and/or Packing هي التشويش Obfuscation وتدقيق الرماز Checksum فإن تمت إزالة الحماية السابقة الذكر يبقى أمام الـ REngineer فهم أجزاء البرنامج المشوشة والبحث عن أي حماية Checksum تقوم بكشف وجود تغييرات في البرنامج.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
Xacker كتب:compression, packing.
كلها طرق تؤدي في النهاية إلى تحويل البرنامج إلى تطبيق يصعب تحليله والتعديل عليه مباشرة لأن أجزاؤه محمية قبل أن يتم تنفيذها في الذاكرة وحتى بعد التنفيذ تبقى أجزاء كثيرة مبهمة المعالم.
ما يحاول الـ reverse engineer عمله بالطرق التقليدية هنا هو فك الحماية عنه بالكامل وإعادة تشكيله بصورته الطبيعية بدقة كبيرة ومن ثم يقوم بتنفيذ التعديلات عليه.
أحياناً الطرق التقليدية تكون هي الطرق الوحيدة للوصول إلى هذا المبتغى أما إن كانت الحماية تقليدية مثل حماية UPX، فيمكن للـ REngineer أن يقوم بحقن كود في نهاية الجزء الخاص بخوارزمية UPX من شأنها أن تنفذ عند انتهاء فك الضغط وبالتالي أن الملف أصبح في صورته الأصلية فينفذ الجزء الخاص بالـ REngineer والذي يكون الهدف منه التعديل على أجزاء في البرنامج at runtime وإضافة أو مسح أجزاء من البرنامج، كمثال: زر، كما ذكرت.
هذه بصورة عامة ومبسّطة.
من النواحي التي يمكنك استخدامها قبل Compression and/or Packing هي التشويش Obfuscation وتدقيق الرماز Checksum فإن تمت إزالة الحماية السابقة الذكر يبقى أمام الـ REngineer فهم أجزاء البرنامج المشوشة والبحث عن أي حماية Checksum تقوم بكشف وجود تغييرات في البرنامج.
شكراً لمجهودك
?? لم افهم ؟؟
لأنك تريد القفز بدل من التعلم درجة بدرجة !
أسف على صراحتي التي ربما تكون جارحة لكن هذا ما استنبطته من مشاركاتك في المنتدى .
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
مؤيد لرأي GamingMasteR
هناك أمور أساسية عليك بتعلمها قبل الخوض في مثل هذه المواضيع مباشرة.
خذ على سبيل المثال: موضوعك الذي طلبت فيه مجمعات الاسمبلي لـ 16,32,64 بت
هل حاولت التعامل معهم حتى الآن ؟
حاول أن ترتب أفكارك وتحدد ما تريد وتمشي عليه ولا ترمي نفسك في مواضيع كثيرة معلوماتها متقدمة عليك الآن.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
كم مرة قلت ما يصير اي شخص يبدأ من 100 هذا سؤال بسيط لازم اوضح اكثر انا ماذا اقصد هل يمكنني ان احفظ برامجي من التعديل اي شخص ثاني يتلاعب ببرامجي انا اجعل البرنامج closed source code فقط هذا سؤالي
طالما أنك لم تنشر الكود المصدري لبرنامجك فهو closed source وليس open source نضريا!!
أما إن كنت تقصد حماية برنامجك من تعديل الكراكرز فهو ما شرحه لك الأخوة... وعمليا لا يمكن تحقيق حماية 100 % ، ألا ترى معي كثير من الشركات العالمية تعاني من كسر برامجها!!