الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن برمجة الألعاب وتعريبها ؟

مغلق
بدأه (( عبدالله )) في 16 نوفمبر 2007 · 24 رد · 3,939 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ،

عندما اريد ان اعرب لعبة معينة ( Command & Conquer Generals ) ..

السؤال الأول :-

هل التعريب يكون في ملف الـ ( Setup ) او في ملفات اللعبة بعد تثبيتها على القرص الصلب ..؟

السؤال الثاني :-

في داخل مجلد اللعبة ( بعد تثبيتها على القرص ) يوجد كثير من انواع الملفات كيف افرق بين ملفات الرسومات وملفات الكلام اللي يحوي المعلومات اللي لازم اعربهـا ..؟

السؤال الثالث :-

في بعض العاب الأون لاين مثل ( سيلك رود ) كيف استطيع تعريب النصوص والكلام اللي يخرج لي اثناء التكلم مع العمال الموجودين في اللعبة ( اصحاب بيع الأدوات والأيتم ) ..؟

يمكن البعض يستغرب من اسألتي .... لكن اسأل الله العلي العظيم ان اجد على الأقل جواب واحد على اي سؤال .. اهم شيء اجد جـواب !!؟؟

لان بصراحة اخذت انطباع سلبي لدرجة ما تتصورونها على الأعضاء العرب في كل المنتديات العربية ؟.؟.؟

بمعنى لو اسأل سؤال بسيط الكل يجاوب لكن لما اجي الى السؤال الصعب ما القى احد يرد علي .؟.؟ ((( لا اريد تعلي على النقطة الأخيرة ))) ..

يمكن يقول البعض ان هذا منتدى برمجة وليس منتدى تعريب ... لكن ثقوا ان الأمران متداخلان ببعض .. يعني اللي يعرف برمجة يعرف تعريب ...

سؤال اخير :::: (( اهم سؤال ))

ما هو نوع الملفات اللي ممكن تحتويها اللعبة .. كيف افرق بين ملفات الرسومات وملفات المعلومات ( بيانات البرمجة ) ؟؟؟؟

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#2

معظم الألعاب تخزن المصادر أو assets في ملفاتها الخاصة بها (أقصد هيكلة الملفات) تكون في أغلب الأحيان مشفرة.

هناك ألعاب تتيح إمكانية modding يمكنك من خلالها عمل ما تشاء.

#3

السؤال الأول :-

هل التعريب يكون في ملف الـ ( Setup ) او في ملفات اللعبة بعد تثبيتها على القرص الصلب ..؟

أولاً التعريب يتم فى الملفات التى يتم تثبيتها على القرص الصلب

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

لذا فعندما تقوم بتعريب ملفات اللعبة (القوائم - الرسائل ... و ما إلى ذلك) فستجد ان الحروف العربية تم إستبدالها بحروف اخرى لاتينية او غيرها.

السؤال الثاني :-

في داخل مجلد اللعبة ( بعد تثبيتها على القرص ) يوجد كثير من انواع الملفات كيف افرق بين ملفات الرسومات وملفات الكلام اللي يحوي المعلومات اللي لازم اعربهـا ..؟

بناءاً على أسم الملف ستعرف ماذا يحتوى و لترى محتوى ذلك الملف لابد ان تعرف ما هو الإمتداد حتى تستطيع البحث عن برنامج ليعطيك القدرة على تصفح ذلك الملف فعلى سبيل المثال و فى حالتنا هذه سنتكلم عن لعبة Command & Conquer Generals

تحتوى اللعبة على العديد من الملفات منها :

Window.big : يحتوى ذلك الملف على تفاصيل رسم النوافذ التى تظهر لك اثناء تشغيل اللعبة و ايضاً بداخلها تفاصيل القوائم الموجوده باللعبة.

music.big : تحتوى على الموسيقات التى يتم سماعها أثناء اللعب.

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

audio.big : و يحتوى على المؤثرات الصوتية المستخدمة داخل اللعبة.

speech.big : و يحتوى على المحادثات التى تتم داخل اللعبة و التى تسمعها بالإنجليزية.

terrian.big : يحتوى هذا الملف على الخرائط التى تقوم باللعب عليها.

textures.big : و يحتوى هذا الملف على الخامات التى يتم إكساء كل شئ داخل اللعبة بها.

w3d.big : هذا هو الملف الذى يحتوى على المجسمات الخاصة باللعبة

قد تجد بعض الملفات التى تأخذ الإمتداد .bik هذا النوع هو عبارة عن أفلام يتم إستخدامها من داخل اللعبة ة لتراها من خارج اللعبة تحتاج لبرنامج أسمه RAD Game Tools .

السؤال الثالث :-

في بعض العاب الأون لاين مثل ( سيلك رود ) كيف استطيع تعريب النصوص والكلام اللي يخرج لي اثناء التكلم مع العمال الموجودين في اللعبة ( اصحاب بيع الأدوات والأيتم ) ..؟

قمت بالإجابة على هذا السؤال بالأعلى و بالنسبة للكلام الذى يخرج لك اثناء اللعبة ستقوم بسماع كل الملفات الخاصة بالكلام داخل اللعبة و تقوم بعمل مثيلها و بنفس نوع الملفات الموجوده باللعبة و بنفس الإسماء ثم تقوم بعمل استبدال للملفات الأصلية بالتى صنعتها.

يمكن البعض يستغرب من اسألتي .... لكن اسأل الله العلي العظيم ان اجد على الأقل جواب واحد على اي سؤال .. اهم شيء اجد جـواب !!؟؟

لان بصراحة اخذت انطباع سلبي لدرجة ما تتصورونها على الأعضاء العرب في كل المنتديات العربية ؟.؟.؟

بمعنى لو اسأل سؤال بسيط الكل يجاوب لكن لما اجي الى السؤال الصعب ما القى احد يرد علي .؟.؟ ((( لا اريد تعلي على النقطة الأخيرة ))) ..

انت فقط تحتاج ان تضع السؤال فى المكان الصحيح لتجد الإجابة التى تريدها

يمكن يقول البعض ان هذا منتدى برمجة وليس منتدى تعريب ... لكن ثقوا ان الأمران متداخلان ببعض .. يعني اللي يعرف برمجة يعرف تعريب ...

شتان ما بين الأمران البرمجة شئ و التعريب شئ أخر و عند تصميم اللعبة يتم عملها بأكثر من لغة لكن الكود واحد الإختلاف يكون فى مصادر اللعبة و بالتالى فليس شرط أساسى انه اللى يعرف برمجة يعرف تعريب

سؤال اخير :::: (( اهم سؤال ))

ما هو نوع الملفات اللي ممكن تحتويها اللعبة .. كيف افرق بين ملفات الرسومات وملفات المعلومات ( بيانات البرمجة ) ؟؟؟؟

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

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#4

الف شكر لك اخوي ib_doom على الجواب .. لكن انا كنت ابغى اكثر من كذا :blink: ..

على العموم جزاك الله خير ..

اخوي Game Expert ..

اولاً اسأل الله ان يغفر لي ولك ويحرم وجهي ووجهك على النار يوم لا ينفع مال ولا بنون ..

جزاك الله الخير الكثير الكثير الكثير اللي يغنيك فيه عن عبادة ولا يغينك فيه عن ربك ..

بارك الله فيك على التفصيل في الأجوبة وفعلاً مثل ما قلت لازم يكون السؤال في المكان المناسب ..

سؤال مستجد ::

يا اخوي انا قرأت في موقع الماني للعبة من الألعاب انه استطيع تغيير بعض خصائص الأوامر اللي تتم داخل اللعبة عن طريقة برنامج يتم تغيير فيه بعض القيم ليعطي ناتئج اكبر ..

بمعنى في لعبة اونلاين يتم فيها استخدام ايتم (item) معين ليعطي الشخصية سرعة معينة في الركض ( فمن خلال البرنامج اللي يتحكم في الميموري ) يتم تغيير هذه القيمة الى قيمة اكبر ليعطي ناتج اكبر ؟؟

ممكن تشرح لي طبيعة هذه البرامج وكيف يمكن من خلالها معرفة ان القيمة المعينة لنفرض (668) تحمل معنى الأمر الفلاني ؟؟ ((( اذا تبي توضيح اكثر انا حاضر )))

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

وبعض المرات يطلع لي اكثر من قيمة في الميموري فأحتار ايها يخص الأمر المطبق ؟

السؤال الأخير والشامل على هذه المسألة هو :

ما طبيعة العمل في برامج الميموري وما الذي ممكن ان استفيد فيه من هذه البرامج وما الذي يقتصر عليه عمل هذه البرامج .؟.؟ هل تتحكم في كل شيء في اللعبة او شيء معين فقط .؟؟؟؟

علماً ان البرنامج يكون شغال في نفس الوقت اللي تكون فيه اللعبة شغاله (( بحيث اختار ملف اللعبة من البروسسورات اللي شغاله ))؟؟

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#5

يوجد موضوعين كاملين فى المنتدى يتكلموا عن تلك النقطة

الموضوع الأول للأخ الشمري و عنوانه كيف تصنع Trainer ؟ ( موضوع كامل من مجلة f1 )

الموضوع الثانى لي و عنوانه كيف تصنع Trainer برمجياً, بإستخدام لغة الـ Visual Basic 6

موضوع الـ Trainer شيق و جميل بس محتاج انك تفهم كيفية التعامل معاه

من احد البرامج الجيدة جدا التى تستخدم فى التعامل مع الذاكرة برنامج Art Money و يمكنك تحميل النسخة المجانية منه من موقع ArtMoney

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

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#6

الله يعطيك الصحة والعافية اخوي .. والله يوفقني و يوفقك ان شاء الله لكل خير ....

انا طالعت الموضوع تبع الشمري وما شاء الله موضوع رائع وشارح كل شيء كمبتدأين في الترينر ...

لكن في بعض الأمور الغامضة ننتظر الجزء الثاني من السلسلة .. خاصة في العاب الأون لاين ...

انا وضعت رد في موضوع اخوي الشمري ولكن طلع انه ارسل لنا الموضوع ... يعني مو هو اللي متخصص فيه .. لذلك لدي الكثير من التساؤلات وضعتها في موضوعه لكن يمكن ما احصل رد إلا من المتخصصين ... هل من جواب على اسئلتي في موضوع الشمري !!؟؟؟

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

جزاك الله خير اخوي واسأ الله التو فيق لي ولك ولجميع المسلمين ..

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#7
! عبدالله ! كتب:
وبالنسبة لموضوعك انت تتكلم عن شكل الترينير بعد معرفة المعلومات من خلال برامج الميموري ... انا ما يهمني الآن الشكل ولا صنع البرنامج .. انا يهمني الآن هو كيفية تغيير القيم والمعلومات في اللعبة خاصة العاب الأون لاين ... ولابد ان نجد المزيد من التطبيقات على الألعاب في معرفة كيفية استخراج القيم وتغييرها خاصة في العاب الأون لاين ..

جزاك الله خير اخوي واسأ الله التو فيق لي ولك ولجميع المسلمين ..

بالنسبة للألعاب اللى بتتلعب اونلاين (إنترنت) بيتم تخزين قيم البيانات بتاعت عناصر اللعبة داخل مكانين فى الـ Memory بتاعت جهاز اللاعب و كذلك فى داخل Memory فى جهاز الشخص الـ Server و بهذا فعندما تقم بتعديل القيم داخل جهازك فهذا لا يقوم بتعديلها فعليا لإن القيم التى تقوم اللعبة بإخذها تأخذها من الـ Server وليس من جهازك (هذا لا يتم مع كل عناصر اللعبة و ايضا ليست كل الألعاب تعمل بذلك النمط و لكنه السائد)

و لتعلم انى لست خبير بالألعاب الأونلاين لإنى لم اقم بتصميم لعب اون لاين من قبل و كل معرفتى بهذا النوع من الألعاب نظرية فقط

و الله ولي التوفيق

مدونتي: C++ Tips and Tricks

#8

طيب اخوي يمكن معلوماتك النظرية كحد وصفك لها .. ممكن تفيدني في اشياء كثيرة فأسأل الله التوفيق لي ولك ..

وبالنسبة ان المعلومات تتخزن في جهازي وجهاز السيرفر ( معلومة جديدة علي ) ،، طيب ألا يوجد طريقة لتعديلها ..

لابد من ذلك .. انا استطعت في تغيير بعض المعلومات في اللعبة كعدد الأيتم وعدد الفلوس وعدد انواع معين من الأيتم ..

لكن يكون التغيير بشكل نظري فقط اي يصبح العدد الأصلي هو ما كان عليه قبل التغيير ولا يكون كما هو واضح بعد التغيير ...

واستطعت في تغيير سرعة اللاعب في اللعبة ولكنها صعبة بعض الشيء من بين اكثر من 10 محاولات تصيب واحد فقط ...

من طريقة للتخاطب مع السيرفر ببعض البرامج او غيرها من الأمور ... ألا يوجد طريقة لتغيير اعدادات اللعبة بفك ملفاتها وغيرها من الأمور اللي تعرفونهـا اكثر مني ..

وجزاك الله خيرا ..

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#9

السلام عليكم

كما قال لك الاخ معظم الالعاب الـOnline بتكون Server Side اي ان ما تراه على الشاشة هو Image لما هو موجود في السرفر

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#10
اقتباس
هو Image لما هو موجود في السرفر

فهمت انه صورة لما هو موجود بالسيرفر( يعني على شكل صورة او تقصد نسخة منه ) .. هذا ما فهمته هل فهمي صحيح ام لا ؟؟

واذا كان صحيح كيف يكون صورة لما هو موجود على السيرفر (( وضح اكثر )) وهل هذه مشكلة لعدم التمكن من الاخلال بمعلومات اللعبة وكيف يتم حل هذه المشكلة الجديدة ؟؟؟

يعني ابغى شرح لهذه النقطة اللي تطرقت لها ؟

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#11

سأعطيك مثال :

افتح الهوت ميل بتاعك - افتح اي ايميل اخر - ابعث رسائل للايميل الاول وتتبع تغير عدد الرسائل الى ان تحدد عنوانه بالذاكرة(كما تفعل بأي لعبة)

الان زد عدد الرسائل خليه 100 مثلا- اعد تشغيل الهوت ميل ستجد ان عدد الرسائل رجع للرقم الصحيح ببساطة لأنه مخزن "هناك في السرفر"

نفس الشئ يحدث مع الالعاب الـonline

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#12

طيب ما السبيل !! او ما الحل ؟ هل اقدر اغير هذه الطريقة بأي طريقة ممكن غير اختراق الموقع ^^ ..

لكن هنالك معلومات يتم التلاعب بها من قبل بعض الأشخاص ؟؟ فكيف استطاعوا !!!

ممكن توضيح اكثر ولو عندك شيء جديد اذا ممكن تضيفه حتى استفيد اكثر وجزاك الله خير

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#13

السبب في ضعف البرمجة لدى مطوري اللعبة ... مثلا انا العب لعبة اسمها SG تقريبا كل الـdata فيها بتكون ServerSide لو بحثت عن اي هاكات للعبة لن تجد

عند تحليلي للعبة لم تأخذ مني اكثر يومين وتوصلت الى تعدييل في الـClient يسبب ايهام للسرفر باني استحق Items اكثر ... الخ >>> اذن يوجد خلل في نظام برمجة اللعبة

اي ان الموضوع يتطلب فهم اكثر للهندسة العكسية

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#14

طيب حلو معلومات رائعة انا اللعبة اللي عندي في مجلد التثبيت يوجد مجلد كامل في كل محتويات الداتا ..

كيف يتم معرفة معلومات تخص بالهاكات ( على حد وصفك ) ومعرفة المزيد من المعلومات وبالنسبة للهندسة العكسية

كيف ابدأ فيها ومن وين البداية وما الذي يمكن ان ادرسه بالهدسة العكسية لأستفيد في موضوعي هذا ..

يعني انت ادخلت علي الآن مفهوم الهندسة العكسية ممكن تشرحه لي على بساطة كمقدمة حتى اعرف معنى هذه الهندسة ..

وجزاك الله خر وبارك الله في علمك ..

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#15

انقر على التوقيع ادناه

ولكن كن صبورا فالمعرفة لا تأتي على طبق من ذهب ولكن يجب من المثابرة والصبر لتأخذها كاملة والا اخذت قشورا من العلم لا تنفع

ربما تستطيع تحليل لعبتك هذه بعد اشهر وربما بعد سنة ... المهم هو التصميم والاراده القوية :calc:

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#16

طيب من وين ابدأ وكيف أأخذ العلم الخاص بالمعرفة اللي احب ان اصل اليهـا ..

بمعنى لا اريد ان أأخذ من العلم كله ولا استخدم إلا نصفه ^^ ( اعتقد فهمتني ) ..

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

هلا دللتني على ذلك ... ولك جزيل الشكر

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#17

الأخ GamingMasterR لما قال ان اللى بتشوفه هو Image من الموجود على السرفر ميقصدش انه صوره يعنى السرفر مبيبعتش صور بس هو يقصد ان قيم المتغيرات الخاصه بالعمليات الحيوية للعبة اللى انت بتلعبها موجوده على السرفر و بتتبعت للجهاز بتاعك مش اكتر

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#18

بالضبط اخي العزيز

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#19

طيب اخوي انا استوعبت هذه النقطة .. لكن كيف يمكن التغلب عليها واوهام السيرفر بمعلومات كما فعل اخوي GamingMasteR ...

الآن ابي اعرف كيف ممكن اوهم السيرفر بمعلومات مزيفة فتصبح حقيقية ... كما فعلت اخي الكريم GamingMasteR ...

وكيف اعرف المعلومات او بالأصح الأيتم Items اللي من الممكن تمشي على السرفر ويصدقهـا .. يعني كيف اعرف الأمور اللي اقدر اغير فيها !!!

وضح امطلوب اعتقد ؟؟؟ يعني يا اخي GamingMasteR ممكن تحكي لي تجربتك بالضبط وكيف استطعت ان تحتال على السيرفر !!! كيف ؟؟

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#20

عملت للعبة hex edit وليس mem edit كما تفعل برامج هاكات الالعاب

س : الان لماذا تريد ان تزيد قيمة النقود "في الذاكرة" لديك ؟؟

ج : لكي استطيع ان اشتري سلاح جديد , فاللعبة "تمنعني" من ذلك الا اذا كنت املك 500$

س : لماذا لا تستطيع من التعديل في "الذاكرة" واعطاء نفسك 500$ ؟

ج : لا يفيدني ذلك في شئ فالبيانات تتحدث قبل كل عملية من السرفر

الحل : اجعل اللعبة لا تتأكد من كمية النقود التي تملكها :-

proc:

check if Player's money => 500

yes:Player.AddNewItem+msg(done)+notify server with updates

no:msg(u've no enough money)

end proc

ما عليك فعله هو عكس العملية السابقة في اكواد اللعبة بحيث تتمكن من فعل معين بدون التحقق من صلاحياتك له ... لا اريد الاطالة لكن هذه العملية ليست سهلة فحجم اللالعاب كبير دائما وتأخذ وقت كبير جدا في عملية التحليل :wacko:

ربما يساعدك خبراء في الهندسة العكسية , اما انا فقد قلت ما عندي والسلام عليكم

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#21

بدلا من استخدام الهندسة العكسية يمكن اللجوء إلى حل بسيط و فعال وهو يعمل فقط مع الألعاب من نوع RPG أى الالعاب الأسترتيجية فقط .

يمكنك البحث عن الملف الذى يحتوى على قواعد وقوانين اللعبة و قم بالبحث عن محرر جيد يستطيع فتح ذلك الملف ثم بالبحث عن الـ Class الخاصة بالعنصر الذى تريده و ستجد كود يشبه الكود التالى :

salary = 100

فقط قم بجعل الكود السابق كالتالى :

salary = 0

و بالتالى فإن تكلفة العنصر ستصبح صفر و عند شرائها لن تكلفك اى مبلغ.

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

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#22

صحيح و قد جربت هذا مع Age Of Empire ونفع :lol:

لكن هذا يعتمد على هيئة تخزين البيانات لان المبرمج ممكن يخزن بيانات الـItems على شكل Structure كالاتي :

ITEM STRUCT
  ID	DWORD	  ?
  NAME	 BYTE  32 DUP(?)
  COST   DWORD	  ?
ITEM ENDS

عند فتح ملف الريسورس سيجد نفسه اما شئ مثل الاتي

50 00 00 00 47 65 6D 00 00 00 00 00 00 00 00 00  P...Gem.........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00 00 00 00 F4 01 00 00									....ô..

فالطريقة السابقة تقلل من حجم اللعبة وهي متبعة اكثر فيما رأيت

عندئذ لابد من صنع اداه (هذا اذا كنت تريد نشر الهاك) تقوم بتحليل كل Item على حده ثم اظهار الناتج : Encoding+Decoding

اخي عبدالله : هاكات الالعاب تمسخ اللعبة ... انصحك تعلمها ولا تطبقها (ألست معي يا GE) هههههه :lol:

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#23

اخواني بداية قبل لا ارد على ردودكم ابي اوضح لكم شيء ... انا لست خبير كما تظنون وعلمي قليل جدا ..

يعني انتم وضعتم كلام بالأنجليزي واوامر ووووالخ ما فهمت نصفهـا ... المهم

اقتباس
عملت للعبة hex edit وليس mem edit كما تفعل برامج هاكات الالعاب

ما الفرق وما الفائدة من الأول !!!؟؟ ال MEM جربتها وعرفته لكن ال hex ما الفائدة وممكن تعطيني مثال لمثل هه البررامج وما الفائدة من استخدامها

اقتباس
اجعل اللعبة لا تتأكد من كمية النقود التي تملكها

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

بمعنى كيف استخرج اكواد اللعبة ؟

اقتباس
يمكنك البحث عن الملف الذى يحتوى على قواعد وقوانين اللعبة و قم بالبحث عن محرر جيد يستطيع فتح ذلك الملف ثم بالبحث عن الـ Class الخاصة بالعنصر الذى تريده

طب كلا سليم 100% ... لكن كيف اعرف المل اللي يحتوي على قواعد وقوانين اللعبة !!! كيف يكون هذا وعاداً ما نوع مثل هذه الملفات ؟؟؟ او بالأحرى الـ TYPE حقها ؟؟؟

يعني كيف استخرج من ملفات اللعبة مثل هذه الملفات الخاصة باللعبة ؟؟؟والخاصة بالقوانين .. علماً ان كل ملفات اللعبة مشفرة ولا استطيع فتحها إلا ببرامج خاصة لها ..

اذاً كيف اعرف هذه البرامج او ( المحررات) الخاصة بمثل هذه الملفات ؟؟

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

اقتباس
اخي عبدالله : هاكات الالعاب تمسخ اللعبة ... انصحك تعلمها ولا تطبقها

انا خلنيالآن اتعلمها وبعدين يصير ان شاء الله خير ^^ ... يعني خلني اول ابدأ بالتعلم ثم ان شاء الله يصير خير ..

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

#24

أخى عبد الله

أمرك حيرنى فعلاً ؟؟؟ لدينا العديد من الأجوبه على أسئلتك بس المشكله لا تكمن بنا المشكله تكمن بك لإنك لم تجرب مرة واحدة تطبيق ما تعرف، و كما فهمت من كلامك فإنك لا تعرف كيف تطبق ما نقول لك؟

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

و السؤال الذى يطرح نفسه الأن ؟؟ كيف اعرف تلك المفاهيم؟ و ما هى تلك المفاهيم؟

سأبدأ بإجابة الشق الثانى من السؤال أولاً. ما هى تلك المفاهيم؟ و بمعنى أخر ماهى ماهية الألعاب و كيف تصنع تلك الألعاب من ناحية نظرية أى كيف تنظم مصادر اللعبة و كيف يتم أستخدامها.

ثانياً: كيف أعرف تلك المفاهيم؟ لن اضيع وقتك بالكثير من الكلام و لكنك لن تجد موضوع معين كامل يكلمك عن كيفية معرفة بناء نوع معين من الألعاب من ناحية نظرية، و بالتالى الحل الوحيد امامك هو التجربة مع البحث على الإنترنت.

بالنسبة بالتجربة، قم بتثبيت أى لعبة على جهازك ثم أعرف نوعية تلك اللعبة - إذا لم تستطع معرفة نوعها قم بالبحث على موقع GameSpot - و قم بفتح الفولدر الذى تم تثبيت اللعبة به و حاول معرفة ما وظيفة كل ملف منهم و ما إستخدامه عن تطريق البحث بإسم الملف و إمتداده على الإنترنت.

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

بالنسبة لأسئلتك فى المشاركة السابقة

الفرق بين الـ Hex Edit و الـ Memory Edit ؟؟

الـ Hex Edit يتم فى اكواد اللعبة بعد تحويلها للأسمبلى و يتم أستخدام ذلك الإسلوب فى تصنيع الكراك للعبة او تغيير شرط يتم تنفيذه عند اللعب و ما إلى ذلك. بمعنى هذا النوع من التعديل يقوم بالتعديل فى الملف الـ EXE و لن تحتاج بعدها للتحقق من قيم المكان الذى تم تعديله فى الذاكرة.

الـ Memory Edit يتم فى المساحة المخزنه للعبة فى الـ RAM و فيه يتم البحث عن قيمه معينه و عند إيجادها تقوم بتعديلها ليظهر التأثير داخل اللعبة.

بالنسبة للنوعين فإن الـ Hex Edit أصعب لإنه يتطلب معرفة جيدة بالأسمبلى و لكنه اسرع لإنك لن تحتاج فى كل مرة تعمل فيها اللعبة فى البحث داخل الذاكرة عن قيمة معينه، اما بالنسبة للنوع Memory Edit فهو سهل و بسيط و لكن يأخذ منك وقت حتى الوصول للقيمة و لكن تلك تظل أسهل.

بالنسبة لبرامج الـ Hex Editor يوجد برنامج أسمه Hex Workshop 4.2 هذا البرنامج درة برامج الـ Hex لما يحتويه من امكانيات.

بالنسبة لبرامج الـ Disassemble و الخاصة بالهندسة العكسية توجد برامج عديدة مثل SoftIce ، OllyDbg ، W32Dasm و غيرهم

أخى GamingMasteR

بالنسبة لكلامك أن الهاكات تمسخ الألعاب .. و لابد من تعلمها و لا نطبقها فأنا معك قلباً و قالبا فما المتعه من لعب لعبة معينه لا قوانين لها. سيصبنا منها الملل.

اما بالنسبة لكيفية تخزين البيانات داخل ملفات الألعاب فلى ملاحظة

لقد طبقت هذا الإسلوب مع العديد من الألعاب أخرهم لعبة Lord of The Ring The Battle of Middle Earth 2 و وجدت أن مبرمجيها قاموا بعمل Class عام لكل Wizard وبعد هذا قاموا بوراثة تلك الـ Class فى أخرين منهم DarkLord مثلا و بعد هذا قاموا بعمل Instance من Class DarkLord أطلقوا عليها أسم UrukHai واعطوا لها قيم تحدد امكانيات تلك الـ Instance وكذلك قاموا بعمل العديد من الـ Classes لباقى عناصر العبة بذلك الإسلوب.

الهدف من كلامى هو انه حتى لو قام المبرمجين من عمل هيكل معين للبيانات لابد من أن يقوم بعمل Instance منه داخل ملفات اللعبة و ليس داخل اللعبة و بالتالى فسنبحث عن الـ Instance و من ثم نقوم بتعديل بياناتها.

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#25

والله يا اخوي انا مشوش تفكيري الآن ... لكن مع ذلك برد عليك ..انا قاعد اطبق وانا عندي لعبة اعرف ما اريد لكن ما اعرف من وين ابدأ ...بمعنى انا جربت واشتغلت على لعبة واستطعت ان اغير في خصائصها لكن دائماً يكون التغيير شكلي من غير تغيير الأصل ... وطبعاً كل محاولاتي كانت عن طريق Memory Edit ..لكن تفاجئت بال Hex Edit ... واعتقد ان هذا ما كنت ابحث عنه ...

يعني عندك بعض الشغلات اللي تخص النقاط اللي تغير حالة الشخصية عندما يزيد مستوى جديد .. انا استطعت تغييرها وزيادتها اكثر من 300 نقطة علماً ان اصلها كان 5 نقاط لكن يعيقني شيء في اللعبة وهو ما يسمح لي بتجاوز الأمر يمكن يطبق امر مقارنة او شيء !!! لذلك وجد النقاط زايدة اكثر من 295 نقطة زيادة ...وطبعاً انا المحيرني واللي ابي اوصل له هو كيف اغير من خواص الأدوات بحيث اجعل خاصية اداة معينة تباع بمبلغ كبير بأداة اخرى تباع بمبلغ رخصي ( عند العامل ) هذه التغييرات كيف يمكن عملها وانا دايخ في مجلد اللعبةيوجد ملفات امتدادها GTX واعتقد هي للرسومات وفي امتداد PK ما اعرف شنو دوره وفي ملفات امتدادها dll وملفات امتدادها DAT وهي كثيرة وووووالخ

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

..للمعلومة ترى جربت برنامج Hex Workshop 4.2 لكن ما اعرف اهم مميزاته وكيف يمكن التعرف على استخدامه لانه جديد علي ...هل ممكن تدلني على شرح له !!! وما الأمكانيات اللي ممكن من خلالها ان اعمل بهذا البرنامج وما الخبرة المطلوبة للتعامل معه غير الأسمبلي ...وكيف يمكن التعرف على اوامر وشروط اللعبة من خلال اكواد الأسمبلي !!! لانها متداخله ولا يمكن فهمها بهذه السهولة ؟؟؟

تم تعديل هذه المشاركة بواسطة ! عبدالله ! في 22 نوفمبر 2007 في 21:21

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…