موضوع: كيف تصنع باتش لبرنامج او للعبة بنفسك : طريقة سهلة 08/09/10, 09:36 pm
اولا لازم تحمل هذا البرنامج ـ اسف و لكن لم يتم بعد رفعه باسم المنتدى في القريب العاجلانشاء الله Acoustica V2.25a مستوى هذا البرنامج : سهل( X ) متوسط( ) صعب( ) محترف( ) الأدوات المستخدمة : Hview * w32dasm
قم بعمل نسخة إحتياطية من الملف التنفيذي
شغل البرنامج وإضغط على "...Register" وأكتب البيانات التالية:-
Name: ashraf cracker
Company: assem-------------------->This is my Brother
Key code: 123456
وبعد ذلك إضغط "Register" ستظهر الرسالة التالية:-
خذ هذه الرسالة وإذهب إلى الW32Dasm وإضغط على "String data references" وإبحث عنها وعندما تجدها إضغط عليها
Double Click ستذهب إلى الشكل التالي :-
بعد الضغط ستذهب إلى أمر قفز خذ الأوفست لهذ الأمر ثم إذهب إلى الHview وإعكس هذا الأمر من Je إلى Jne ثم إضغط F9
لحفظ التغييرات وF10 للخروج وشغل البرنامج وأكتب البيانات التي تختارها وإضغط Register ماذا حدث البرنامج لم يعطى رسالة
الشكر وذلك لأن مكان الرسالة ليس هو المكان الصحيح لذلك عند الضغك على هذه الرسالة مرة ثانية سترى الشكل التالي :-
ستذهب إلى الشكل التالي :-
وبعد ذلك خذ الأوفست للشريط الأخضر المشار إلية في الصورة وهو طبعاً أمر قفز وبعد ذلك وإذهب للHview وإختار هذا الملف
وإضغط F4 ثم إختار Decode ثم إضغط F5 وأكتب الأوفست الخاص بأمر القفز وإعكس أمر القفز من je إلى jne ثم إضغط F9
لحفظ التغييرات ثم إضغط F10 للخروج.
وشغل البرنامج وأكتب البيانات التي تختارها وإضغط Register مبروك لكسر حماية هذا البرنامج أغلق البرنامج وشغلة ثاني مرة ماذا
حدث لقد ظهرت الشاشة المزعجة ثاني مرة في هذه الحالة أنظر أعلى أمر القفز المشار إلية في الصورة السابقة بسطرين حتى
ترى .... Call تتبع أمر النداء هذا عن طريق الW32Dasm وعند تتبع أمر النداء سترى الأتي:-
:0044B130 55 Push ebp
:0044B131 8BEC mov ebp* esp
:0044b133 81C4BCFEFFF add esp* FFFFFEBC
إذهب للHview وإختار الBackup وأكتب رقم الأوفست الخاص بأول كود وهو
Push ebp
ثم إضغط F3 ثم F2 وأكتب هذا الكود وبعد كل عملية إضغط Enter
Push 00000001
pop eax
ret
ثم إضغط Escape
وبعد ذلك إضغط F9 للحفظ ثم F10 للخروج من Hview. ومعنى هذا الكود أن القيمة Push ندفع بها بقيمة تساوى "1" ومعنى ذلك
أن القيمة "0" تعنى عدم التسجيل والقيمة "1" تعنى التسجيل فالأسمبلى يعتمد على "01010101" ومعنى القيمة pop أن نضع
قيمة Push وهى "1" في "eax" أي نخزنها فيها لأنة يتم المقارنة بين "eax = 0" * "eax = 1" فإذا كانت قيمتها "1" يتم عمل
البرنامج على أنة مسجل وأخيراً القيمة Ret ومعناها معاودة قراءة هذه القيم عند فتح البرنامج حتى لا تظهر الشاشة المزعجة وتخبرك
بأن البرنامج ليس مسجل. وبعد هذه التغييرات سوف لا تظهر الشاشة المزعجة مرة ثانية وبذلك يكون تم تسجيل البرنامج.