Advanced Search

المحرر موضوع: التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!  (زيارة 2249 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

أبريل 01, 2007, 12:36:18 مساءاً
زيارة 2249 مرات

Electronic boy!

  • عضو مشارك

  • ***

  • 347
    مشاركة

    • مشاهدة الملف الشخصي
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« في: أبريل 01, 2007, 12:36:18 مساءاً »
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!

- المقدمة :-

الزمان 3/4/1997 ... المكان : المملكة العربية السعودية ، الرياض ...
لقد بدأت تجربتي الحقيقية مع ألعاب الكمبيوتر في بداية عام 1997 عندما رأيت جهاز الألعاب الخارق في ذلك الوقت ولأول مرة على الطبيعة وكان ذلك مصادفة عندما ذهبت إلى منزل صديق أخي الأصغر في ذلك الوقت ، حيث أنني ما زلت أستخدم جهاز الألعاب ذو الجيل الأقدم
 (!16 Bit, SEGA mega drive).
إن جهاز التسلية بالكمبيوتر ( بلاي ستيشن ) ذو معالج بيانات ( 32 Bit ) الثلاثي الأبعاد نقل تقنيات التسلية بالحاسوب إلى مجال واسع جداً ... نعم ، إلى مجال ليس له حدود ، حيث التقنية والإبداع المتجددين دائماً ،،، لقد انقسم مستخدموا جهاز الألعاب بلاي ستيشن إلى فريقين ...  (الفريق الأول) وهم الأشخاص العاديون الذين يستخدمون الجهاز كما هو ( وكما هو مفترض أن يستخدموه ) ، أي بالطريقة الإفتراضية حيث التسلية واللعب بألعابه المميزة ثم نسيانه إلى الأبد حينما تطرح الشركة المنتجة الجيل التالي الأحدث .
أما ( الفريق الثاني ) وهم الأشخاص الذين يحاولون الوصول إلى أبعد من مجرد النظر إلى الشاشة ... نعم هم الأشخاص المهتمون بتقنية الجهاز ومعرفة تفاصيله الدقيقة ، حيث يقومون بتحليل دوائره الإلكترونية تارة بغية تعديل الجهاز أو تطويره ، أو يقومون باستكشاف أقراصه الليزرية اللامعة في الخفاء تارة أخرى بغية تطوير برامجه ، أو حتى تحليلها وتفكيك مصادرها بغية الإستفادة مما تحتويه من ملفات ووسائط متعددة بالغة التطور !!!
إن الفريق الثاني ( حيث وجدت نفسي واحداً منهم ) لا يجد المتعة في اللعب على الجهاز أو استخدام برامجه مثل المتعة التي يجدها داخل الجهاز ... نعم ، إن ما يقوم به الفريق الثاني من المستخدمين هو ما يعرف في علم الحاسوب والإلكترونيات ( بالهندسة العكسية ).
إن محاولة تفكيك أو تحليل أو حتى فهم مبدأ عمل جهاز أو برنامج غير مألوف بصورة فردية عمل شاق ... ويوصف أحياناً بالعمل الخارق !!!
قد يسأل سائل ... وما هي الفائدة من محاولة عكس هندسة الجهاز أو البرنامج ؟؟ فأجيبه لو نظرت إلى أسباب نجاح جهاز البلاي ستيشن لعرفت الإجابة بنفسك ، وإن ما كتبته في هذا الموضوع هو أحد أسباب نجاح الجهاز ، لكنني في هذه المرة حاولت تطبيها بشكل مختلف وعلى جهاز مختلف أيضاً ... وبطرق مختلفة تماماً ، وقد استخدمت كل ما أستطيع الحصول عليه لإنجاح عملية عكس هندسة برامج ذلك الجهاز .

- لعبة ( Resident Evil 3 ) كانت البداية :-

 كانت البداية لعبة "بلاي ستيشن" لم أعطها اهتماماً عندما رأيتها لأول مرة في محل بيع ألعاب الكمبيوتر وكان ذلك عام 1998 ، لكنني لم أكن أعلم حينها بأنني على موعد لتحقيق حلم طال انتظاره ... نعم ، إنه تعريب لعبة بلاي ستيشن صنعت في اليابان ... فكيف كانت البداية ؟

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

أبريل 01, 2007, 12:44:45 مساءاً
رد #1

Electronic boy!

  • عضو مشارك

  • ***

  • 347
    مشاركة

    • مشاهدة الملف الشخصي
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« رد #1 في: أبريل 01, 2007, 12:44:45 مساءاً »
عندما شاهدت عرض المقدمة لهذه اللعبة ذهلت تماماً لروعة التصميم ودقة الرسوم ( بالمقارنة مع جهاز السيجا ميجا درايف ذو 16 بت  في ذلك الوقت ) ، فحينها لم أكن أملك جهاز البلاي ستيشن ، لكنني اشتريت القرص المدمج المسجل عليه هذه اللعبة وحاولت أن أقوم بتشغيله على حاسوبي الشخصي القديم ، لكنني فشلت بذلك ، فلم أستطع الوصول حينها لأي ملف أو حتى برنامج تشغيل اللعبة ( يسمى محرك اللعبة ) ، لأنها أساساً لم تكن مصممة لتعمل على الحواسيب الشخصية ، وثانياً لأنني لم أكن حينها أمتلك المعرفة اللآزمة للتعامل مع ملفات غير قياسية .
بقيت على ذلك الحال لمدة سنة تقريباً وأنا أفكر فقط كيف يمكنني تشغيل لعبة بلاي ستيشن على حاسوب شخصي يعمل بنظام Windows !!
لحسن الحظ ، كنت أتصفح ذات يوم " موقع الألعاب العربي :  www.games4arab.com " – وكان هذا الموقع حديث عهده بالإنترنت –  في بداية العام 2000 ، فوجدت صدفة مقال عن برنامج تجريبي يدعى ( Bleem! ) ، وكان هدف مبرمجي هذا البرنامج هو نفس هدفي تماماً !
( يا للحظ ) ،وهو تشغيل لعبة بلاي ستيشن على نظام ويندوز ، حيث ذكر المقال المكتوب بالموقع بأن هذا البرنامج يستطيع تشغيل 100 لعبة من ألعاب البلاي ستيشن على نظام ويندوز ، وكانت هذه اللعبة واحدة من الألعاب التي يستطيع تشغيلها برنامج Bleem ، فتوجهت مباشرة إلى موقع الشركة المنتجة وقمت بتحميل النسخة التجريبية من البرنامج ، وحاولت أن أشغل اللعبة ، فعملت بواسطة ذلك البرنامج وما كدت أن أصدق ... لكنني لم أصل إلى ما أريد !!
لقد كنت أقول لنفسي : (( بما أنني استطعت تشغيل برنامج ـــ أقصد اللعبة فهي تعتبر برنامج بالطبع ـــ غير قياسي على حاسوبي الشخصي ، فلماذا لا أحاول الوصول إلى ملفات ومصادر البرنامج ولو بشكل جزئي ؟! )) ، لكنني لم أستطع عمل شيء في ذلك الوقت ، لعدم معرفتي بالبرامج اللآزمة ، وقلة خبرتي بالتعامل مع البرامج .
عندما كنت أتصفح أحد منتديات ( أقصد ساحات الحوار ) الألعاب العربية ، لفت انتباهي موضوع بعنوان " تعريب لعبة ريزدنت إيفل " ، ففتحت ذلك الموضوع لأجد أحد الأعضاء يطرح فكرة لتفكيك مصادر البرنامج ، وقد وضع برنامج صغير لتحليل مصادر اللعبة وفصل ملفات الصوت والعروض عن محرك اللعبة ، فقمت بتجربة البرنامج ، فنجحت بتحليل البيانات ، لكنني لم أستطع الوصول إليها أو حتى تحريرها لأنها ما زالت مشفرة بنظام البلاي ستيشن ، فهي تحتاج لبرامج تحويل
( Converter ) بصيغة قياسية حتى يستطيع النظام ويندوز التعامل معها وتحريرها أمضيت أكثر من ستة أشهر وأنا أبحث عن برامج تحليل وتحويل فوجدت بعد عناء شديد موقع صيني يهتم بقرصنة البرامج والألعاب ، فـتـوجهت لقسم التحميل – Downloads – في الموقع ، وقمت بتحميل بعض البرامج التي تتولى عملية التحويل لأنساق ملفات الصوت والفيديو من نظام البلاي ستيشن ( STR ) و ( PSS ) و ( BIN ) إلى أنساق ويندوز المعروفة ( AVI ) للعروض والفيديو و ( WAV ) لملفات الصوت والموسيقى و ( BMP ) وهو النسق الأساسي لملفات الصور والخلفيات وخامات الإكساء ( Polygon Textures ) .
نعم ... لقد نجحت ولأول مرة ، بالتعامل مع ملفات الوسائط المتعددة ، الخاصة بجهاز التسلية بلاي ستيشن ، فقمت بتحرير العروض والأصوات والصور وترجمتها – بشكل جزئي – للغة العربية ، وإضافة النصوص أو التعديلات المرغوب بها ، ثم إعادتها إلى تنسيقها الأصلي ، حتى يمكن إعادة استعمالها على جهاز الألعاب البلاي ستيشن !!

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

أبريل 01, 2007, 12:50:35 مساءاً
رد #2

Electronic boy!

  • عضو مشارك

  • ***

  • 347
    مشاركة

    • مشاهدة الملف الشخصي
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« رد #2 في: أبريل 01, 2007, 12:50:35 مساءاً »
لكن كما يقال تجري الرياح بما لا تشتهي السفن ،، فقد واجهتني مشكلة كبرى مع جهاز البلاي ستيشن ، وهو أنني لم أستطع تعديل النصوص الإنجليزية أو اليابانية إلى اللغة العربية ، لأن جهاز البلاي ستيشن يتعامل مع النصوص بطريقة مختلفة ومعقدة أكثر من النظام ويندوز ، ولأن أغلب ملفات النصوص التوضيحية والتي لا تأتي على هيئة صور ، تكون مدمجة بمحرك اللعبة ، ومحرك اللعبة هو الجزء الوحيد الذي لم يستطع أحد ولحد الآن تحريره والتعديل عليه بشكل غير رسمي ، كما أن البلاي ستيشن لا يستطيع عرض الأحرف العربية بشكل صحيح على الشاشة !! نعم ... يبدو أنني استسلمت لتلك المشكلة ،، لكن لا بأس ، فهي مجرد محاولة شخصية ، قد تنجح أو تفشل .
===============================
إن جميع النصوص التي تظهر بالصور والتي تم التأشير عليها بالأسهم والدوائر الحمراء هي نصوص برمجية يولدها محرك اللعبة حسب المتغيرات التي تطرأ أثناء ثشغيل البرنامج ، وهي النصوص التي لم أستطع الوصول إليها بالطريقتي السابقة ، كما أن جهاز الألعاب ( بلاي ستيشن ) لا يستطيع التعامل مع الأحرف العربية بالشكل الصحيح .
أما الأصوات والعروض والخلفيات فيمكن التعديل عليها فقط وإعادتها إلى البرنامج بنفس الأسم الأصلي لها ، كما سبق توضيحه .
===============================
 لكنني كنت أفكر بشيء آخر قد يكون أكثر أهمية من عرض نص عربي على الشاشة ،، وهو إيجاد طريقة للتعديل على برنامج اللعبة ( محرك اللعبة ) ، فكما ذكرت بأنه لا أحد يمكنه الوصول للكود المصدري للعبة إلا عن طريق البرامج الأساسية التي تطرحها شركة سوني لشركات تصميم الألعاب ، وبالطبع ، فلا يمكن لشخص مثلي أن يحصل على تلك البرامج من الشركة الأساسية ،، فحاولت ابتكار أو بالأصح " محاكاة " طريقة غير مباشرة للتعديل على الكود المصدري فكيف كان ذلك ؟؟!
   لقد كان مستخدموا جهاز البلاي ستيشن يستخدمون طرق كثيرة للغش في اللعبة ، فمثلاً : إضافة حياة لا نهائية إلى الشخصية الأساسية !! أو جعل عدد طلقات سلاح ما في اللعبة يتجاوز العدد المحدد من قبل مبرمجي اللعبة ، أو حتى الوصول إلى أشياء لم تكن تخطر على بال المبرمجين أنفسهم ! ، فما رأيكم ؟؟
إن أغلب إن لم يكن جميع مستخدمي جهاز البلاي ستيشن يعرفون شيء يسمى ( جيم شارك Game Shark ) ، حتى وإن لم يستخدموه ، فإنهم على الأقل قد سمعوا بهذا الإسم ، ... لكن دعوني أشرح ماهو الجيم شارك ...
   الجيم شارك : هو جهاز غير رسمي يستخدم للغش في اللعب ، يحتوي على دائرة إلكترونية تتكون من ذاكرة وميضية تبرمج كهربائياً
( Flash Memory ) ومعالج تحكم ، يتم توصيله بجهاز الألعاب البلاي ستيشن عن طريق المنفذ المتوازي ( منفذ غير معياري يتكون من 40 دبوس خاص بشركة سوني ) في الجهة الخلفية اليمنى من جهاز البلاي ستيشن ، يتم في بداية تشغيل الجهاز وضع أكواد ( شيفرات ) خاصة
( يمكن الحصول عليها من موقع الشركة المنتجة لجهاز الجيم شارك ) ، وتخزينها في ذاكرة الجيم شارك ثم بعد ذلك توضع الإسطوانة التي عليها اللعبة ( والتي تم وضع الأكواد الخاصة بها مسبقاً ) فيقوم الجيم شارك بتغيير قيم معينة من الأسطر البرمجية الخاصة باللعبة مؤقتاً فيتم بذلك التحايل على برنامج اللعبة ( محرك اللعبة ) ، فمثلاً عندما تريد طاقة لا نهائية للشخصية أدخل الكود : 800CC33800C8 أو إذا أردت ذخائر لا نهائية أدخل الكود :D006D974FFFF  وهكذا... لاحظ أن جميع هذه الشيفرات هي عبارة عن قيم برمجية معبر عنها بنظام العد السادس عشر ، وذلك لسهولة التعامل معه ، تذكر أن العلاقة بين نظام العد الثنائي والسادس عشر هو أن كل رمز في النظام السادس عشر يمثل 4 بتات في النظام الثنائي ، أي نصف بايت أو ما يسمى بالنيبل
(Nibble) ، وبما أن جهاز الألعاب بلاي ستيشن يحتوي على معالج بيانات من نوع RISC اختصاراً للعبارة: ( Reduce Instructions Set Computing ) ، فإن المعالج يقوم بتنفيذ تعليمة واحدة لكل نبضة ساعة ، لذلك ، فإن الشيفرات يتم إدخالها بالنظام الثنائي أو نظام العد السادس عشر لسهولة التعبير وتجنب الأخطاء .
لقد حاولت أن أقوم بنفس العمل لكن دون استخدام الجيم شارك وعلى حاسوبي الشخصي ، وذلك عن طريق تحرير ملفات حفظ اللعبة ( Save game files )  بواسطة محرر سادس عشري ، مثل المحرر "Norton Commander" أو المحرر الإحترافي "Hex Workshop" ، فتظهر القيم التي يُنشؤها محرك اللعبة حسب المتغيرات الأخيرة التي طرأت على اللعبة عند آخر نقطة للحفظ ، فيتم تخزين هذه القيم البرمجية في ملف منفصل ، حتى يعطي محرك اللعبة القيم الأخيرة للمتغيرات والأوضاع التي كانت عليها اللعبة قبل إيقاف تشغيلها .
عند تحرير ملف الحفظ  تظهر أسطر معينة تحمل قيم الأدوات والأماكن والمتغيرات في اللعبة ، وأيضاً يتم تعريف الوقت والتاريخ ضمن ملف الحفظ في أسطر معينة .. لقد أطلقت على ملف حفظ اللعبة اسم (( الخريطة الجينية )) ، وذلك تشبيهاً لها بالجينات التي تحمل الصفات الوراثية ضمن الحامض النووي DNA ، فهذه الملفات تحمل القيم التي سيتم نقلها إلى محرك اللعبة على
أنها قيم غير أساسية – أي أنها لا تؤثر في الكود المصدري لبرنامج اللعبة –  ، لكن السؤال الأكثر أهمية هو كيف يمكن فهم أو التعرف على السطر الذي يحمل القيم التي أود تغييرها ؟
في الحقيقة ... لا أستطيع الإجابة على هذا السؤال بشكل محدد ، حتى أنني لا أعرف فكرة معينة
أو مباشرة للوصول للأسطر التي تقوم بتغيير القيم التي يريدها المستخدم ، أما عن نفسي ، فقد كنت أقوم بتجربة جميع الأسطر واحداً تلو الآخر ، أو حفظ اللعبة بملفي حفظ منفصلين وكل مرة
أقوم بتغيير أشياء في اللعبة ثم حفظها في الملفين ، ثم بعد ذلك أقوم بمقارنتها ببعضها وملاحظة الأسطر التي تغيرت قيمتها فأستدل بذلك على الأسطر الفعالة في كل ملف ، لكن أود التنبيه بأنه
لا يوجد أي إشارة أو دليل يمكن أن يشير إلى سطر معين يعرف قيمة معينة لأداة داخل اللعبة ، حتى أنه في بعض الأحيان قد لا يعمل الملف بعد تغيير قيمة محددة ، وذلك لأن المستخدم قد يضع قيمة أكبر من القيمة المعرفة داخل محرك اللعبة !
وبذلك ... فإن العملية تزداد صعوبة ، لكن الصبر والمحاولات العديدة هي الحل الوحيد لمثل هذا النوع من التحدي والتسلية !! يمكنني توضيح الفكرة أكثر عن طريق الصورة التالية ، ففي الشكل رقم (1) تعرف الأسطر المشار إليها قيم تمثل نظام تشغيل اللعبة – وهي معلومات خاصة بجهاز البلاي ستيشن – مثل نظام الألوان وتردد الصورة ورقم إصدار محرك اللعبة ونوعه ، في السطر الأول ، أما السطر الثاني يعرف قيمة المكان المتواجد به اللاعب عند آخر نقطة حفظ ، هذه الأسطر عادة لا يتم التعديل عليها لأن الخطأ في قيمة واحدة في هذه الأسطر سيتلف الملف كلياً ، أما الشكل رقم (2) فيوضح السطر الذي يعرف السلاح الإفتراضي في اللعبة ( وهو مسدس ذو 15 طلقة ) ، تم تغيير عدد طلقاته إلى 255 طلقة ، وعُدِلت القيمة في السطر إلى 00FF بالنظام السادس عشر .




=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

أبريل 01, 2007, 12:55:31 مساءاً
رد #3

Electronic boy!

  • عضو مشارك

  • ***

  • 347
    مشاركة

    • مشاهدة الملف الشخصي
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« رد #3 في: أبريل 01, 2007, 12:55:31 مساءاً »
وفي النهاية ، أرجو أن يكون القاريء الكريم ، قد استفاد من هذه التجربة الطويلة والممتعة ما أرجوه ، كما آمل أن أكون قد أشرت إلى فكرة جديدة ربما سيستفاد منها في المستقبل ، أو يتم تطويرها واستخدامها لأغراض تخدم علم الحاسوب في شتى مجالاته ، كما أنني أود أن أنبه بأن السبب الرئيسي لخوض هذه التجربة هو ليس تعريب اللعبة ، بل أنني قمت باستغلال هذا النوع من التقنية والثغرات الموجودة في ملفات اللعبة بوضع اللغة العربية كمحاولة جادة لإبراز أهمية اللغة العربية بجانب اللغات الأخرى وهو ما أعتبره تحدياً للحاسوب! ، وقد نجحت بعون الله بتحقيق حلم طال انتظاره ، رغم أنني لم أنجح تماماً إلا أن الشيء القليل أفضل من لا شيء إطلاقاً ... حتى لو لم أستطع وضع النصوص العربية ، فقد استطعت تغيير صفات البرنامج بطريقة أخرى ، والأهم من ذلك ، أنني تعلمت شيئاً جديداً في علم الحاسوب قد لا يخطر على بال أحد لمدة طويلة من الزمن ، وإني سعيد جداً بما كنت قد حققته . تم إعداد هذا الموضوع بواسطة: Electronic Boy.
The Arabian Electronics Development Team - 2005

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

أبريل 01, 2007, 01:08:14 مساءاً
رد #4

Electronic boy!

  • عضو مشارك

  • ***

  • 347
    مشاركة

    • مشاهدة الملف الشخصي
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« رد #4 في: أبريل 01, 2007, 01:08:14 مساءاً »
سوف يتبع هذا الموضوع بتوضيح عن استخدام الطريقة السابقة لكشف وتعديل الملفات مباشرة
باستخدام النظام الثنائي ( أي كأننا نبرمج باستخدام لغة الآلة ) ولكن بالطبع سيعبر عن القيم
الثنائية باستخدام نظام العد السادس عشر للسهولة '<img'>  .

لكن يجب على من يقرأ هذا الموضوع أن يكون على علم باستخدام النظام دوس !! نعم دوس وهو النظام المفضل لدي !!!  ':201:'  ( لا تضحكوا علي ، فأنا جاد !)، كما يفضل أن يكون على دراية جيدة بالأنظمة العددية لاسيما النظام السادس عشر .
==================
عنوان التعليق القادم:
يا مستعمل النظام دوس ، أعرنا إنتباهك ... ':cool:'

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

يونيو 23, 2007, 03:59:19 مساءاً
رد #5

deyamag

  • عضو مبتدى

  • *

  • 19
    مشاركة

    • مشاهدة الملف الشخصي
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« رد #5 في: يونيو 23, 2007, 03:59:19 مساءاً »
الله ينور عليك .
برافو.

يونيو 24, 2007, 04:32:57 صباحاً
رد #6

Vipera Palestina

  • عضو خبير

  • *****

  • 1539
    مشاركة

  • مشرف قسم الحاسوب

    • مشاهدة الملف الشخصي
    • http://ala.aburayyan.com
التسلية وتحدي الحاسوب، تجربة حافلة بالإبداع !!
« رد #6 في: يونيو 24, 2007, 04:32:57 صباحاً »
أخي العزيز.. تجربة ممتعة و مثيرة. لكن للأسف فهذا النوع من التجارب لا يوصلك للأهم و الأعظم على المدى البعيد.
شركات انتاج البرمجيات تتسابق كل يوم لإنتاج برامج أكثر تعقيدا و أصعب للفك (هذه العملية نطلق عليها فك الكود).
و لكني انصحك بالدخول الى المجال الأوسع و الأفضل لك.. و هو برمجة الألعاب.. و هذا الفرع من البرمجة يعد من أصعب الأفرع لأنه يتطلب مبرمج قوي جدا و متمرس و ذا حس قوي و صائب.

تقبل تحياتي..
علاء أبوريان
الحياة مزيج جميل مستعص على الادراك البشري من القوة و الحب و الكره و الضعف و لا نمسها بشيء .. بل هي من يمسنا بكل شيء و طريقنا الوحيد لتغييرها هي تغيير أنفسنا من الداخل. و هو أصعب ما يمكن لي أن أتصور حدوثه.
كل شيء في هذه الحياة قد رسم بخط أسود... و إن لم نره !

ألا كل شيء ما خلا الله باطل و كل نعيم لا محالة زائل