Pirate Yemen كتب:قبل ان تصل الى هاذه النقطههنالك التشفير والضغط وغيرها الكثير
اما القفزات فلا تعتمد كليا على هاذا الشي
:wacko:
لم افهم ما الذي تقصده ...
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
Pirate Yemen كتب:قبل ان تصل الى هاذه النقطههنالك التشفير والضغط وغيرها الكثير
اما القفزات فلا تعتمد كليا على هاذا الشي
:wacko:
لم افهم ما الذي تقصده ...
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
أعجبتني هذه الطريقة المذكورة في المثال
_asm lea eax, Function1 _asm add eax, SN; If the sn is right _asm call eax; then it will call the good register
لكن في هذه الحالة يجب ان يكون ال sn ثابت بمعنى ان لا يختلف ال sn من جهاز الا جهاز او من مستخدم الى مستخدم بل يجب ان يكون موحدا
ويمكن تطوير ما سبق اذا ما أًريد تغيير ال sn بالطلب من الشخص المعني بالحماية بادخال كلمة المرور التي يريدها ثم يتم تطبيق خوارزمية معينة
ثم
_asm sub GoodFunction, NewPass;طرح الباسوورد الجديد من عنوان بداية تنفيذ الاجراء الخاص بتسجيل البرنامج بنجاح _asm mov Function1, GoodFunction; نقل النتيجة الى Function1 ليستخدم كما بالكود السابق
وايضا يمكن عمل الpass يختلف من جهاز الى آخر باخذ رقم الهارد الثابت او المذربورد وتطبيق خواريزمية معينة عليها ثم القيام بعمل السابق
وكما اشار Xacker بوضع handle لل exception في حالة ادخال المستخدم سيريال غير صحيح يمنع من حدوث خطأ ومع تشوشيش الكود السابق
ينتج حماية تودي في داهية :D
تم تعديل هذه المشاركة بواسطة AND في 12 مايو 2008 في 00:18
الموضوع قديم فلا اذكر تماما ما كان ردي فيه من عدة سنوات
باي حال ما اذكره عن موضوع الـ exception هو التحدي الذي كتبه اما fornix او BlueOrka (غالبا الأخير) ايضا لا اذكر.. الذي يستخدم فيه exception handler
اضطررت الى عمل bruteforce حتى حددت التعليمات الصحيحة وكشفت كلمة السر الصحيحة. لكن الطريقة لا تفيد دوماً في حال التطبيقات الكبيرة خصوصاً.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget