9 تغريدة 95 قراءة Feb 13, 2022
أول ماجبت كومبيوتر حديث عن صخر سنة ٩٩, كان مستهويني أعرف موضوع الكراكات بتاعة البرامج بتتعمل ازاي. كنت مابعرفش أكتب غير basic ودراستي كانت هندسة مكيانيكا فالموضوع كان خيال بالنسبالي اني اعرف أعمله. بس بعد شوية محاولات وقرايه طلع الموضوع ممتع وفيه فكر حلو:
🧵
قبل ما أبتدي ده شرح واحد هاوي من ذاكرة عدي عليها أكتر من٢٠ سنة فاللي عايز يعلي يعلي براحته, وأكيد الدنيا اتغيرت :)
١- أول حاجه هي ان البرنامج لما بتدخل فيه سيريال نمبر بيعمل مقارنه مع سيريال موجود في الكود أو بيطبق عليه ألجوريزم معين ويشوفه هيعدي ولا لأ, لو معداش بيطلع error
٢- ده يعرفك ان كود المقارنه هو أخر كود اتنفذ قبل مايطلعلك ال error, وهنا ييجي برنامج لطيف كان اسمه softice, قبل ماتدخل السيريال الغلط تظبط البرنامج انه يعمي freeze للجهاز أول ما في dialogue يبان عالشاشة.
٣- لما softice بيعمل freeze بيطلع كل ال instructions اللي في ال memory فتقدر بسهولة تعرف ال address بتاع ال instruction اللي طلعت ال dialogue
٤- بعد كده تفتح ال exe بتاع الأبليكشن في برنامج assembler وتدور علي ال instruction اللي حصل منها jump علي ال instruction اللي طلعناها من softice ودي في الغالب قبليها علي طول ال instruction اللي حصل فيها مطابقة السيريال نمبر واللي لما كان غلط عمل jump و error dialogue
٥- بعد ماتفهم انهي instruction اللي بتفعل الأبليكيشن أو تطلع error محتاجين نعكس أدائها, يعني بدل ماتطلع error لو السيريال غلط, تطلع error لو السيريال صح.
اللي فاكره اني كنت بغير
JNE ( Jump If Not Equal)
to
JE ( Jump if Equal)
وكده البرنامج كان بيكمل تفعيل في حالة السيريال الغلط
٦- التعديل ده كان بيحتاج برنامج تاني عشان أعمل بيه تعديل علي ال executable. وكان اسمه hexaeditor. كنت بعدل الفايل واعمله حفظ وكده البرنامج هيعدي أي سيريال غلط ويبقي مفعل :)
٧- بعد كده بونص ازاي أعمل ال patch file عشان بدل ما أنقل ال executable كله أنقل فايل صغير يعمل التعديل ده كأنه Setup. وده كان موضوع سهل, كان في برنامج تدخله الفايل الأصلي والمعدل وهو يعمل ال patch
٨- أخيرا الموضوع ده كان تجربة من أجل التعلم, ماكنتش باعمل كراكات لبرامج ولعب وأوزعها :)

جاري تحميل الاقتراحات...