05-12-2021, 10:08 AM
السلام عليكم ورحمة الله و بركاته,
كما هو ظاهر فى عنوان الموضوع, فى الفتره الاخيره كنت أمارس ما تعلمته فى الهندسه العكسيه على لعبة قهر اونلاين النسخه الانجليزيه (Conquer Online) و هى بإختصار لمن لا يعرفها لعبه اونلاين متعدده اللاعبين MMORPG اعتدت ان العبها و انا صغير. و الخمد لله استطعت عمل بوت للنسخه الاصليه بلغه السى ++.
اللعبه ليس لها اى حمايات تقريبا عدا عن system calls بسيطه يمكن تفاديها بسهوله.
البوت يعمل ك وسيط فى الذاكره (In-memory proxy) لاتجنب الهندسه العكسيه للبروتوكول المستخدم. يعمل البوت بصوره اساسيه بعمل (Hook) لدوال اللعبه الاساسيه للتحكم فى اللاعب بالاضافه الى (Hook) على الداله المسؤله عن فك تشفير ال(Packets) المرسله من السيرفر لمراقبه حاله اللعبه التى بناء عليها يعمل البوت.
البوت بسيط للغايه - كما قلت كان للممارسه لا اكتر- لكنه يعمل بصوره جيده و يمكن التعديل عليه بسهوله.
*ملحوظه: انتهيت من البوت من 5 اشهر تقريبا و لم استخدمه بعد ذلك و صدر عدة تحديثات للعبه غيرت عناوين الدوال و بالتالى يجب عمل بحث عن ال (Function signatures) من جديد و تعديلها فى البرنامج. كل ال (signatures) المطلوبه موجوده فى ملف (Artifacts.cpp)
فى حالة واجهتك صعوبه فى بناء البرنامج او اردت السؤال عن اى شئ فلا تردد فى السؤال.
Source code in github
كما هو ظاهر فى عنوان الموضوع, فى الفتره الاخيره كنت أمارس ما تعلمته فى الهندسه العكسيه على لعبة قهر اونلاين النسخه الانجليزيه (Conquer Online) و هى بإختصار لمن لا يعرفها لعبه اونلاين متعدده اللاعبين MMORPG اعتدت ان العبها و انا صغير. و الخمد لله استطعت عمل بوت للنسخه الاصليه بلغه السى ++.
اللعبه ليس لها اى حمايات تقريبا عدا عن system calls بسيطه يمكن تفاديها بسهوله.
البوت يعمل ك وسيط فى الذاكره (In-memory proxy) لاتجنب الهندسه العكسيه للبروتوكول المستخدم. يعمل البوت بصوره اساسيه بعمل (Hook) لدوال اللعبه الاساسيه للتحكم فى اللاعب بالاضافه الى (Hook) على الداله المسؤله عن فك تشفير ال(Packets) المرسله من السيرفر لمراقبه حاله اللعبه التى بناء عليها يعمل البوت.
البوت بسيط للغايه - كما قلت كان للممارسه لا اكتر- لكنه يعمل بصوره جيده و يمكن التعديل عليه بسهوله.
*ملحوظه: انتهيت من البوت من 5 اشهر تقريبا و لم استخدمه بعد ذلك و صدر عدة تحديثات للعبه غيرت عناوين الدوال و بالتالى يجب عمل بحث عن ال (Function signatures) من جديد و تعديلها فى البرنامج. كل ال (signatures) المطلوبه موجوده فى ملف (Artifacts.cpp)
فى حالة واجهتك صعوبه فى بناء البرنامج او اردت السؤال عن اى شئ فلا تردد فى السؤال.
Source code in github
يَا أَيُّهَا الَّذِينَ آمَنُوا اصْبِرُوا وَصَابِرُوا وَرَابِطُوا وَاتَّقُوا اللَّهَ لَعَلَّكُمْ تُفْلِحُونَ