تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استفسار عن كسر حمايات الالعاب
#1
​​السلام عليكم جميعا

عندي سؤال مطروح للنقاش 
هل يوجد شروحات عن كسر الالعاب وخاصة المشهورة ؟  

اعرف ان بعض الالعاب استخدمت حمايات مثل vmp ولاكن اغلبها يكون غير معروف والكل يتهرب منها لان الحماية تسبب بطئ في اللعب وارهاق المعالج من  interpreter الحماية ، اذا عند اي احد شروحات للهندسة العكسية عن العاب مشهورة مثل العاب steam او Origin او اي دروس تخص طرق التعامل معها يتفضل يفيدنا باي معلومات، 
طبعا اي معلومة ستكون مفيدة  nice  لانه مجال خامل في المنتدى حسب ما ارى ولا يوجد نشاط في استكشافه
​​​​
​​
أعضاء أعجبوا بهذه المشاركة : xdvb_dz , Gu-sung18 , rce3033
#2
اخ محمد ممكن شوية توضح يعني كيف مثلا كسر اللعاب قصدك .... 
ومجال اللعاب اكثر الناس لاتدخلها لانها تحتاج كومبيوتر بواصفات عاليه وانا منهم ههه...
أعضاء أعجبوا بهذه المشاركة :
#3
اقصد الالعاب المتوفرة على منصات زي steam مثلا ، تقدر تتبث اللعبة عالجهاز وكل شي تمام ، ولاكن يجب ان يكون عندك حساب على المنصة وتعمل تسجيل دخول فيه قبل السماح لك باللعب ، ونحن هنا لا نتكلم على الالعاب الاونلاين . 

بالنسبة للجهاز لا تحتاج لجهاز قوي فقط تحتاج مساحة  والحماية تتركز في ما قبل فتح اللعبة  ، 
حسب ما فهمت من بعض الشروحات انهم يعدلون على ملفات مثل steam-api64.dll ووضعها بمجلد اللعبة لجعل اللعبة تضن انك سجلت الدخول
أعضاء أعجبوا بهذه المشاركة :
#4
قد يختلف الأمر من منصة إلى منصة, أو من لعبة إلى لعبة حتى.
(25-07-2020, 12:12 PM)mohamad كتب : حسب ما فهمت من بعض الشروحات انهم يعدلون على ملفات مثل steam-api64.dll ووضعها بمجلد اللعبة لجعل اللعبة تضن انك سجلت الدخول

ربما يكون الأمر عن طريق عمل باتش للملف بحيث يعتبرك قد سجلت الدخول.

بالنسبة لمنصة ستيم بالتحديد، قد يعتمد الأمر (جزيئاً أو كلياً) على SmartSteamEmu أو\و goldberg_emulator:
https://github.com/MAXBURAOT/SmartSteamEmu
https://gitlab.com/Mr_Goldberg/goldberg_emulator

ربما قد تحتاج أيضاً لكسر حماية مشغل اللعبة نفسه، ولكن مرة أخرى قد يختلف الأمر من لعبة إلى لعبة.
أعضاء أعجبوا بهذه المشاركة : mohamad , rce3033
#5
(25-07-2020, 01:34 PM)aijundi كتب : ربما يكون الأمر عن طريق عمل باتش للملف بحيث يعتبرك قد سجلت الدخول.

بالنسبة لمنصة ستيم بالتحديد، قد يعتمد الأمر (جزيئاً أو كلياً) على SmartSteamEmu أو\و goldberg_emulator:
https://github.com/MAXBURAOT/SmartSteamEmu
https://gitlab.com/Mr_Goldberg/goldberg_emulator

ربما قد تحتاج أيضاً لكسر حماية مشغل اللعبة نفسه، ولكن مرة أخرى قد يختلف الأمر من لعبة إلى لعبة.

ماشاء الله عليك اخي ، اذا كانت عندك معلومات اكثر عن طبيعة حمايات الالعاب ياريت تنورنا بشروحات موسعة اكثر عنها ،
اي شرح ولو كان بسيط سيكون مفيد للمحتوى العربي
أعضاء أعجبوا بهذه المشاركة :
#6
(25-07-2020, 08:42 PM)mohamad كتب : ماشاء الله عليك اخي ، اذا كانت عندك معلومات اكثر عن طبيعة حمايات الالعاب ياريت تنورنا بشروحات موسعة اكثر عنها ،
اي شرح ولو كان بسيط سيكون مفيد للمحتوى العربي

للأسف ليس لدي خبرة شخصية في الموضوع، لكن سبق لي أن اضطلعت وبحثت في المجال.
باختصار، قد يعتمد الموضوع على فهم واجهة برمجة التطبيقات الخاصة بالمنصة (ما يسمى بالAPI)، والتي تسمح للعبة بأخذ معلومات عن الحساب (مثل الاسم، معرف الحساب، الإنجازات، إلخ...)، ومن ثم عمل محاكاة لها بحيث يظهر للعبة أن كل شيء طبيعي، وقد يصل الشيء لإيهام اللعبة بوجود أدوات مرتبطة بالحساب (كالskins مثلاً).
في بعض الأحيان، قد تتفحص اللعبة الملفات الخاصة بالمنصة (مثل: steam_api.dll) للتأكد من عدم التلاعب فيها، بالتالي ستحتاج إلى تخطي هذا الفحص (بعمل باتش لمشغل اللعبة مثلاً) والذي قد يتطلب كسر حماية المشغل.
بعض الألعاب الكبيرة قد تلجأ إلى عمل حمايات خاصة بها، بينما ألعاب أخرى قد تستخدم حمايات شائعة (مثل Themida، قد صادفتها في أكثر من لعبة)
أعضاء أعجبوا بهذه المشاركة : mohamad
#7
وعليكم السلام
لا توجد العاب كثيرة تسخدم vmp بشكل مباشر وحالياً الالعاب المشهورة تستخدم DRM مثل حماية Denuvo والتي بدورها تعتمد على حماية vmp لتصعيب الهندسة العكسية لـ Denuvo.

الالعاب التي لا تستخدم  Denuvo بل تعتمد على Steam تستخدم Steam DRM لحماية نفسها من التلاعب بها. الـ DRM بشكل اساسي مهمته حفظ حقوق الملكية ومنع العبث بالنسخة كنسخها للعب بها على حاسوب ثاني.
يجدر ملاحظة انه يمكنك استخدام Steam DRM مع  DRM اخر كـ Denuvo ولكن بقيامك بهذا ستعطل ميزات الـ DRM حق Steam
إقتباس :Using the Steam Wrapper with Other DRM
The Steam wrapper can and should be used in combination with other DRM solutions. To do so, apply the Steam wrapper in compatibility mode first before applying any other DRM. Apply it first so that it does not interfere with the DRM solution. Compatibility mode will disable DRM capabilities of the wrapper.

Submit the exe in compatibility mode by either selecting it in the drop down on the Steamworks page or using the appropriate flags in the automated drmtool.

حماية Steam يمكن التخلص منها بسهولة وهذا ايظا مذكور على موقعهم الرسمي
https://partner.steamgames.com/doc/features/drm

حماية  Steam DRM او Steamworks Digital Rights Management  هي حماية تقوم بتغليف ملفك التنفيذي للتاكد بانك المالك الشرعي للعبة و تقوم بتشغيل Steam قبل اللعبة وكذلك تشفير ملف اللعبة الى حين موعد صدورها الرسمي لمنع اي تسريب قبل الموعد الرسمي لاطلاقها
إقتباس :
Steamworks Digital Rights Management wraps your game's compiled executable and checks to make sure that it is running under an authenticated instance of Steam. This DRM solution is the same as the one used to protect games like Half-Life 2 and Counter-Strike: Source. Steamworks DRM has been heavily road-tested and is customer-friendly.

In addition to DRM solutions, Steamworks also offers protection for game through day one release by shipping encrypted media to stores worldwide. There's no worry that your game will leak early from the manufacturing path, because your game stays encrypted until the moment you decide to release it. This protection can be added to your game simply by handing us finished bits or a gold master.

حماية Steam DRM تقوم بتعديل ملف اللعبه لكي اول ما تعمل اللعبة يتم تنفيذ كود Steam DRM والذي بدورة يقوم بالتحقق من شرعية حسابك وملكك للعبة اولاً وبعدما يتم فك تشفير الكود (في حال تم اختيار التشفير وهذا الخيار اختياري) ويتم تمرير التحكم لملف اللعبه وهذه الطريقة نحن نعرفها جيداً فأي packer يستخدمها.
الـ Steam DRM تقوم بتعديل الـ PE  وتضيف قسم جديد باسم (bind.) في نهاية الـ PE للملف التنفيذي ويتم تعديل الـ original start address (OEP)  لتشير لهذا القسم والـ checksum  يتم اعادة حسابة بعد استخدام الـ Steam DRM 

حالياً توجد اربع اصدارات لـ Steam DRM
  • Version 1.0 هذا الاصدار لـ Steam DRM صدر في 2007
    • يقدم تحقق بسيط من شرعية ملكك للعبة
    • لا يدعم خاصية تشفير كود اللعبة
    • لا يدعم 64 بت
    • برنامج ProtectionID  الخاص بفحص الالعاب لا يمكنه التعرف على هذه النسخة
  • Version 1.5
    • برنامج ProtectionID  يتعرف عليها باسم Steam Stub
    • يتحقق من مكتبة الـ Steam.dll بأن لديها شهادة رقمية صالحة لمنعك من تشغيل العاب لا تملكها
    • تم اضافة خاصية تشفير كود اللعبة، التشفير يستخدم odd block cipher  والذي يستعمل CBC mode
  • Version 2 صدر في  2008
    • برنامج ProtectionID  يتعرف عليها باسم Steam Stub (new #1)
    • يحتوي خاصية كشف المنقحات لمنع التنقيح ولا يعمد على دوال ويندوز في ذلك ما عدى PEB
    • يحوي مكتبة DLL مشفرة تقوم بالعمل الذي يخص الحماية وتحميلها للذاكرة لا يتم من قبل دوال ويندوز بل من قبل الـ stub  نفسة والـ DLL  لا يتم كتابتها على القرص الصلب مطلقاً
    • تحوي ثلاث مراحل للتشفير
      • الاولى فك تشفير الـ config والذي يحوي import pointers ، معلومات الكود، الـ app ID  ومعلومات عن المرحلتين التاليتين
      • الثانية تحوي معلومات عن المرحلة الثالثة ويستخدم نفس الـ odd block cipher المذكور اعلاه
      • الثالثة هي الـ DLL  والمشفرة بـ XTEA وبعدما يتم فك تشفيرها وتحميلها يتم الانتقال للمرحلة التالية
    • يستعمل public-key cryptography  للتحقق من التوقيع الرقمي، يتم التحقق من steamclient.dll وكذلك ملف اللعبة للتاكد انه موقع رقميا وسليم
    • يتم مقارنة الـ app ID  من Steam API مع الـ built in value  باستعمال (steam_appid.txt ) للتاكد انك مالك اصلي للعبه
    • كود اللعبة مشفر بـ AES-256
  •  Version 3  وصدر في 2013
    • برنامج ProtectionID  يتعرف عليها باسم Steam Stub (new #2)
    • مختلف عن الاصدار الثاني بانه لا يحوي مرحلتان للـ config والقيم المهمة لذلك لا حاجة لفك تشفير الـ DLL  لفك تشفير اللعبة
    • دعم 64 بت
حالياً  توجد اداة Steamless  من برمجة المهندس العكسي atom0s  والتي تقوم بازالة الـ Steam DRM
https://github.com/atom0s/Steamless

ولكن هذه الاداة حسب كلام المبرمج فقط تقوم بحذف الـ SteamStub DRM  واذا كانت اللعبه تستخدم steam_api.dll  عليك بالقيام بذلك يدوياً وحذف الاعتماد عليها

اداة Steamless تقوم بفك الضغط (unpack) عن اللعبه بالتخلص من SteamStub DRM وبذلك يمكنك تنقيح اللعبه باستخدام Ida pro او x64dbg.


--------
للـ Steam DRM يوجد شكلان او قسمان

احدهما هو الـ SteamStub DRM ويمكن التخلص منه عن طريق Steamless
اما الشكل الثاني فهو يستخدم الـ steam api المتمثل بالمكتبتين  steam_api.dll و steam_api64.dll ويمكن التخلص منه عن طريق عمل محاكاة للـ api تبع steam وافضل برنامج محاكاة حالياً هو  goldberg emulator
https://gitlab.com/Mr_Goldberg/goldberg_emulator

طبعاً الشكلان ليسا طريقتين منفردتين بل وجهان لعملة واحدة  ويستخدمان معاً
سبحان الله وبحمده، سبحان الله العظيم
أعضاء أعجبوا بهذه المشاركة : mohamad , Cyros , rce3033 , 0b3l1sk
#8
ماشاء الله ، اعجز عن شكرك على المعلومات الوافية اخي ادم وهي اكثر من كافية بالنسبة لي 
سيتم التجريب للادوات ان شاء الله واطلاعكم بالنتائج
أعضاء أعجبوا بهذه المشاركة : Gu-sung18


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم