تأمين أعلى الدرجات على الانترنت قوائم غير الألعاب على شبكة الإنترنت

StackOverflow https://stackoverflow.com/questions/25999

  •  09-06-2019
  •  | 
  •  

سؤال

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

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

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

هل كانت مفيدة؟

المحلول

في نهاية اليوم كنت تعتمد على ثقة العميل.إذا كان العميل يرسل الاعادة الملقم, فإنه من السهل بما فيه الكفاية قابلة للتكرار أو تعديل ناجحة playthrough وإرسال ذلك إلى الملقم.

أفضل رهان هو أن رفع الغش فوق ما لاعب سوف نرى يستحق التغلب.أن تفعل ذلك ، هناك عدد من ثبت (ولكن كثيرا ما غير مذكورة) الأساليب التي يمكنك استخدامها:

  1. ترك القائمة السوداء الغشاشين في مصيدة.أنها يمكن أن نرى عشرات الخاصة بهم, ولكن لا أحد آخر يمكن.إلا إذا تحقق من خلال تسجيل الدخول باستخدام حساب مختلف ، يعتقدون أنها نجحت في اختراق اللعبة الخاصة بك.
  2. عندما يقوم شخص ما هو علامة على أنها خائنة إرجاء أي حساب تداعيات من الرشح حتى نقطة معينة في المستقبل.جعل هذه النقطة العشوائية ، في غضون يوم إلى ثلاثة أيام.عادة ، الغشاش محاولة أساليب متعددة و سوف تنجح في نهاية المطاف.من خلال تأجيل وضع الحساب ردود الفعل إلى موعد لاحق ، فشلوا في فهم ما حصلت عليها القبض.
  3. التقاط كل لعبة أوامر المستخدم وإرسالها إلى الملقم.تحقق لهم ضد عشرات أخرى في الدلتا.فعلى سبيل المثال ، إذا كان لاعب يستخدم تبادل لاطلاق النار العمل 200 مرة ، ولكن الحصول على نقاط من 200 ، 000 ، ولكن المجاورة اللاعبين في لعبة اطلاق النار 5,000 مرات للحصول على النتيجة من 210 ، 000 ، فإنه قد يؤدي إلى عتبة أعلام الشخص أو الإنسان التحقيق.
  4. إضافة قيمة الثبات إلى حسابات المستخدمين.إذا كان لديك حسابات المستخدمين نلوكابليس على اللعبة الخاصة بك ، أو إذا كانت اللعبة تتطلب شراء وزن الحظر أكبر كما لا يمكن للمستخدم استعادة حياته السابقة حالة الحساب ببساطة عن طريق إنشاء حساب جديد من خلال الإنترنت الوكيل.

نصائح أخرى

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

  • إرسال بعض المعلومات الإضافية مع درجة عالية الطلبات للتحقق من واحد جانب الملقم.إذا كنت تحصل على 5 نقاط عن كل X و اللعبة يحتوي فقط على 10 Xs, ثم كنت قد حصلت على المزيد من الأطواق جعل القراصنة إلى القفز من خلال الحصول على درجة مقبولة صحيحة.
  • قد الملقم إرسال عشوائي التحدي الذي يجب أن يكون اجتمع مع عدد قليل بايت من اللعبة الثنائية من أن الإزاحة.هذا يعني أن القراصنة يجب أن نضع البكر نسخ الثنائية حول (فقط قليلا أكثر صعوبة).
  • إذا كان لديك مفاتيح الترخيص ، تتطلب درجات عالية تشمل عليها, بحيث يمكنك حظر شخص اخترق النظام.هذا يتيح لك أيضا المسار غير صالح المحاولات كما هو معرف أعلاه ، بان الناس اختبار من البروتوكول قبل أي وقت مضى حتى تقديم النتيجة صحيحة.

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

أنا بصراحة لا أعتقد أنه من الممكن.

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

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

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

هذه الطريقة ليست مثالية ، لا يزال بإمكانك الغش عن طريق إبطاء اللعبة (إذا كان هو القائم على العمل) ، أو عن طريق كتابة بوت.

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

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

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

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

هذا هو حقا سؤال صعب.

لم ينفذ شيء من هذا القبيل ولكن هنا بسيطة aproximmation.

الشاغل الرئيسي الخاص بك هو بسبب المتسللين التخمين ما هو التطبيق الخاص بك هو القيام ثم إرسال النتائج الخاصة بها.

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

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

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

  1. دعونا نقول النتيجة عدد م
  2. حساب بعض نوع من الاختيار على درجة (على سبيل المثال لجنة حقوق الطفل أو أي نظام آخر ترى القدمين.في الواقع, إذا كنت مجرد ابتكار واحد ، مهما كانت عرجاء هو أنه سوف يعمل بشكل أفضل)
  3. الحصول على المفتاح الخاص للمستخدم (د) من الخادم الخاص بك عن بعد (عبر اتصال آمن الواضح).أنت الوحيدة التي تعرف هذا المفتاح.
  4. حساب X=m^د mod n (n كوني وحدة من المفاتيح العامة/الخاصة خوارزمية) (وهذا هو ، تشفيره :P)

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

إذا كنت تستخدم هذا بالتزامن مع التشويش أود أن أقول أنه سيكون من الصعب الاختراق.تخصصها حتى أنه يمكن أن يكون عكس engingeered, كل هذا يتوقف على الفائدة و قدرة القراصنة ولكن ...على محمل الجد, ما نوع غريب يأخذ الكثير من الجهد لتغيير نتائجها على اللعبة ؟ (ما لم يكن هو واو أو شيء)

ملاحظة أخيرة

Obfuscator for .صافي

Obfuscator for Delphi/C++

Obfuscator for المجمع (x86)

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

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

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

@مارتن.

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

لا يمكنك أن تفعل ذلك على nontrusted منصة العميل.في الممارسة فمن الممكن أن هزيمة حتى بعض "ثقة" منصات.

هناك العديد من الهجمات التي يستحيل كشف في الحالة العامة - أساسا بتعديل المتغيرات في الذاكرة.إذا كنت لا تستطيع أن تثق بنفسك البرنامج المتغيرات لا يمكن تحقيق الكثير جدا.

التقنيات الأخرى الموضحة أعلاه قد تساعد ولكن لا تحل المشكلة الأساسية التي تعمل على nontrusted منصة.


من الفائدة, هل أنت متأكد من أن الناس سوف محاولة الإختراق درجة عالية الطاولة ؟ لدي لعبة على الانترنت لأكثر من عامين الآن مع مسلي-crackabe الجدول درجة عالية.كثير من الناس قد لعبت ولكن ليس لدي أي دليل على أن أي شخص يحاول كسر نسبة عالية من الأصوات.

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

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

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

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

إذا كان هناك شيء في نظام مكافحة الغش لا يمكن العثور على المستخدمين العثور عليه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top