ฉันจะป้องกันกลโกงการปรับเปลี่ยนหน่วยความจำได้อย่างไร


10

ปัจจุบันมีโปรแกรมแก้ไขหน่วยความจำมากมายที่มีอยู่ในปัจจุบัน ( Cheat Engine & co) มีวิธีที่มีประสิทธิภาพเพื่อให้ตัวแปรคงจริงอย่างต่อเนื่อง?

ฉันมีสองแนวคิด:

  1. ทำให้เธรดแยกการอัพเดตตัวแปรคงที่ให้เป็นค่าคงที่เช่น 200 ทุก ๆ นาที ปัญหา: หนึ่งสามารถแก้ไขค่าที่สอง
  2. เก็บค่าไว้บนเซิร์ฟเวอร์ ปัญหา: ฉันต้องการให้ปริมาณการใช้เครือข่ายต่ำที่สุด

ฉันต้องการกลไกนี้สำหรับค่าคงที่และตัวแปรอนุญาตให้มีค่าบางช่วงเท่านั้น

มีวิธีที่ดีกว่าในการทำเช่นนี้?


1
ทั้งสองจะไม่ทำงาน ในสถานการณ์ที่หนึ่งสิบแปดมงกุฎจะต้องเขียนทับค่า '200' ที่คุณกำลังคัดลอกและไม่ยากกว่าการเขียนทับต้นฉบับ ในสถานการณ์ที่ 2 ตอนนี้สิบแปดมงกุฎสามารถเปลี่ยนค่าได้โดยไม่ต้องเปลี่ยนโปรแกรมของคุณเพียงแค่เปลี่ยนไบต์ที่ได้รับบนเครือข่าย (ตัวอย่างเช่นด้วยพร็อกซีในพื้นที่)
Jimmy

6
ฉันยังไม่เห็นการป้องกันการโกงที่แฮกเกอร์ไม่สามารถปิดการใช้งานได้ เพียงให้แน่ใจว่าคุณไม่ได้ทำให้เกมเป็นฝันร้ายที่มีชีวิตสำหรับผู้ใช้ที่ถูกกฎหมายในสงครามครูเสดของคุณกับผู้ขี้โกง :)

1
ที่เกี่ยวข้อง ; เฉพาะเจาะจงมากขึ้น แต่อย่างอื่นเหมือนกัน
Anko

1
เกมส่วนใหญ่มี "ผู้ฝึกสอน" ฉันหมายถึงนรกแม้แต่ Mass Effect: Andromeda มีผู้ฝึกสอนและมันออกมาได้แค่สัปดาห์เดียวเท่านั้น ฉันพูดไม่ต้องกังวลกับมัน หาก บริษัท เกมยักษ์ใหญ่ไม่สามารถหลีกเลี่ยงสิ่งนี้ทำให้คุณคิดว่าคุณมีโอกาส
Krythic

คำตอบ:


21

ถ้าเกมของคุณ singleplayer:มันเป็นไปไม่ได้ แต่คุณไม่ควรดูแล

หากเกมของคุณเป็นแบบผู้เล่นหลายคน:คุณควรเก็บสถานะสำคัญทั้งหมดของคุณไว้บนเซิร์ฟเวอร์ซึ่งยากต่อการแฮ็กมากกว่าเครื่องจักรในพื้นที่


4
มันง่ายมากที่จะป้องกันการโกงหลายคนโดยการสร้างเซิร์ฟเวอร์ที่เชื่อถือได้และคาดการณ์สถานะของลูกค้าเท่านั้น โดยทั่วไปเพียงแค่ส่งอินพุตของผู้เล่นจากไคลเอนต์ไปยังเซิร์ฟเวอร์ไม่ใช่ "ฉันxทำความเสียหายy"
jmegaffin

แน่นอน @BorealGames นั่นคือสิ่งที่ฉันหมายถึงโดย "เก็บสถานะที่สำคัญทั้งหมดบนเซิร์ฟเวอร์"
jcora

แค่อยากอธิบายให้ชัดเจน :)
jmegaffin

11

มันไม่สามารถทำได้ , https://security.stackexchange.com/a/4639เป็นเรื่องเกี่ยวกับ DRM แต่เช่นเดียวกับสิ่งใดที่ผู้ใช้ไม่ต้องการในคอมพิวเตอร์ของเขารวมทั้งกลไกการป้องกันการโกง (ซึ่งมีแนวโน้มที่จะทำได้ยากกว่า DRM)

แต่ทำไมคุณถึงเป็นเช่นนั้น มันเป็นคอมพิวเตอร์ของลูกค้าไม่ใช่ของคุณลูกค้าทำกับคอมพิวเตอร์ของเขาไม่ว่าเขาจะทำอะไรก็ตาม คุณไม่มีสิทธิ์เกี่ยวกับเรื่องนี้ โปรแกรมของคุณจะถูกลบหากลูกค้าไม่ชอบ

สำหรับเกมที่มีผู้เล่นหลายคนนั้นไม่ได้เกี่ยวกับการออกแบบไบนารีที่ทำงานอยู่ แต่เป็นการออกแบบการสื่อสาร ปล่อยให้ผู้ใช้เพียงแค่ส่ง"ฉันเคยได้รับรางวัลด้วย 20000 จุด"ไม่ทำงานไม่ไม่"ฉันได้ 2000 ทองคำ" คุณจะต้องจำลองเกมด้วยตัวเองและปล่อยให้ผู้เล่นส่งสิ่งที่พวกเขากำลังทำเช่น"ฉันสั่งให้ทหารย้ายไปยังจุด X / Y"หรือ"ฉันซื้อหมายเลข 43 รายการ"ไม่ใช่สิ่งที่เกิดขึ้น การกระทำคือ เซิร์ฟเวอร์จะตัดสินว่าผลลัพธ์คืออะไรและใครจะเป็นผู้ชนะในที่สุด

หากเป็นเกมผู้เล่นเดี่ยวที่มีคะแนนสูงออนไลน์ตัวเลือกหนึ่งคือให้ผู้เล่นส่งรีเพลย์มาให้คุณจำลองและตัดสินผลลัพธ์จากสิ่งนั้น


11
ข้อเสนอแนะการแก้ไขเล็กน้อย: ลูกค้าไม่ควรส่ง "ฉันซื้อหมายเลขรายการ 43" แต่แทนที่จะเป็น "ฉันต้องการซื้อหมายเลขรายการ 43" เซิร์ฟเวอร์ควรตอบด้วย "ตกลงคุณเสีย 200 GP คุณได้หนึ่งรายการ 43", "ไม่คุณไม่มีทองมากพอ" หรือ "ไม่ร้านที่คุณกำลังเรียกดูไม่มีรายการหมายเลข 43" เซิร์ฟเวอร์ควรทำตัวเหมือนต้นแบบเกมของ RPG & ปากกากระดาษ ผู้เล่นพูดว่าพวกเขาต้องการทำอะไรและเซิร์ฟเวอร์จะบอกพวกเขาหากพวกเขาประสบความสำเร็จ
ฟิลิปป์

นอกจากนี้ฉันไม่แน่ใจเกี่ยวกับการเปลี่ยนแปลงหน่วยความจำที่ใช้งานอยู่ของคอมพิวเตอร์ส่วนบุคคล แต่การเปลี่ยนแปลงไบนารีของเกมเอง (แม้ว่าจะอยู่ในคอมพิวเตอร์ของคุณ) มักจะขัดกับ EULA และอาจมีการกำหนดเพิ่มเติมในกฎหมายลิขสิทธิ์ ฯลฯ
lozzajp

ไม่ว่าจะเป็นการละเมิด EULA ซึ่งเทียบเท่ากับการเดินเล่นบนทาง jaywalking ไม่เคยหยุดใคร
jkmartindale

3

คนแรกไม่มีประสิทธิภาพและจะไม่หยุดยั้งผู้ที่ตั้งใจโจมตีเกมของคุณและมันก็มีแนวโน้มที่จะเกิดข้อผิดพลาดได้เช่นกัน อย่างไรก็ตามคุณสามารถทำให้มันยากขึ้นมากไม่ใช่หลักฐานเต็มหากคุณต้องการ กลยุทธ์ทั่วไปบางอย่างมีให้ใช้งานบนเว็บ แต่ตามที่คนอื่น ๆ พูดถึงคุณต้องถามตัวเองว่ามันคุ้มค่าหรือไม่

เพื่อประโยชน์ในการโต้แย้งต่อไปนี้เป็นสองวิธีในการป้องกันการแฮ็คในสภาพแวดล้อมของผู้เล่นเดี่ยว:

  1. เปิดตัวจัดการทุกกระบวนการอื่น ๆ บนเครื่องผู้ใช้ (การบุกรุกและไม่สามารถพกพาได้) และเขียนทับWriteProcessMemoryด้วยฟังก์ชันจำลองหรือคำเตือน ทางเลือกเป็นของคุณ สิ่งนี้สามารถเอาชนะได้เพราะ ... แอปพลิเคชันมีอิสระที่จะทำสิ่งเดียวกันและเขียนทับหมายเลขอ้างอิงอีกครั้งหรือทำสิ่งต่าง ๆ เพื่อป้องกันสิ่งนี้
  2. ตรวจสอบแอปพลิเคชันของคุณและให้มันตรวจสอบตัวเองผ่านเครื่องมือป้องกันแฮ็ค - ซึ่งมีประโยชน์สำหรับการแก้ไขแอปพลิเคชันของคุณอย่างถาวร แต่จะไม่หยุดการโจมตีหน่วยความจำทั่วไป สิ่งนี้สามารถพ่ายแพ้ได้เพราะ ... เครื่องมือเช่น ADA, OllyDbg และแม้แต่การแก้ไข hex แบบธรรมดาสามารถสร้างแพทช์ถาวรและการเปลี่ยนแปลงแอปพลิเคชันของคุณเพื่อลบรหัสที่กระทำผิด - ซึ่งรวมถึงแนวคิดจับเวลาเธรดของคุณ!
  3. สแกนหาเครื่องมือแฮ็คที่รู้จัก นอกจากนี้ยังสามารถเอาชนะได้โดยการรวบรวมเครื่องมือหรือโจมตีลูกค้าของคุณโดยตรง สิ่งนี้สามารถพ่ายแพ้ได้เพราะ ... การคอมไพล์ใหม่เปลี่ยนชื่อแอปพลิเคชันหรือเปลี่ยนแปลงสิ่งที่เครื่องสแกนของคุณใช้เป็นฮิวริสติกจะทำให้สิ่งนี้ไร้ประโยชน์ พิจารณาการใช้หน่วยความจำส่วนพิเศษที่แอปพลิเคชันทราบว่าใช้หากคุณเลือกใช้

แน่นอนว่าทางเลือกคือการเก็บทุกอย่างไว้บนเซิร์ฟเวอร์และสร้างเซิร์ฟเวอร์เกมที่เป็นหลัก ไม่เพียง แต่เป็นนี้ราคาแพงที่ต้องดูแลรักษาและเวลาในการพัฒนาเพิ่มขึ้น ... แฟน ๆ จะไม่ประทับใจจากการดำเนินงานของเกมที่นิยมเช่นDiablo III หรือที่นี่ฉันควรทราบสำหรับ RPG แฟลชออนไลน์เช่นAdventure Questรุ่นนี้ทำงานได้ค่อนข้างดีสำหรับพวกเขาอย่างไรก็ตาม

ฉันไม่สามารถให้คำแนะนำมากมายเกี่ยวกับวิธีการใช้วิธีการนี้ได้เนื่องจากกว้างมากและต้องใช้การวางแผนมากมาย พื้นฐานที่ควรทราบคือเซิร์ฟเวอร์ตัดสินใจทุกอย่างและลูกค้าไม่มีอะไรมากไปกว่าคอนโซลอินพุตและจอแสดงผลเท่านั้น


3

ผู้คนจำนวนมากใช้โปรแกรมเหล่านี้เพื่อค้นหาคะแนนที่เก็บไว้ในตัวแปรเช่น

int score = 10;

ในการทำเช่นนี้พวกเขาจำเป็นต้องรู้คะแนน ususaly จากคะแนนที่แสดงในเกม

ฉันคิดว่านี่จะช่วยพาพวกเขาออกไป ...

public static float randomVal; // at start of level generate random float

private float 1a3sf5vhh4; //represents score

void hjgkkj4(int val) //add score method
{
   var 5vhh4 =  1a3sf5vhh4/randomVal+val;
   1a3sf5vhh4 =  5vhh4*randomVal;
}

แล้วเมื่อคุณต้องการแสดงคะแนนทำ ...

string displayScore = ""+ 1a3sf5vhh4/randomVal;

สิ่งนี้จะทำให้ผู้โกงค้นหาสิ่งที่พวกเขาคิดว่าเป็นคะแนน (คะแนนที่แสดง) ดังนั้นพวกเขาจะพบเฉพาะค่าที่แสดง

คะแนนจริงจะเป็นคะแนน * randomVal เก็บไว้ที่อื่น พวกเขาไม่สามารถเปลี่ยนคะแนนได้โดยการเปลี่ยนค่าที่แสดง

สิ่งนี้จะช่วยได้ไหม

ป.ล. ฉันไม่ชำนาญดังนั้นใช้ง่ายกับฉัน lol


เพิ่งพบ vid นี้ทำให้บางจุดที่น่าสนใจ ... youtube.com/watch?v=G25YhoE04Xc
Raimi

เครื่องมือโกงสามารถกำหนดค่าเพื่อตรวจจับสิ่งต่าง ๆ เช่นกัน ใช้เวลาในการติดตามนานกว่านี้
Kromster

แต่สำหรับเกมผู้เล่นเดี่ยวขนาดเล็กออฟไลน์สิ่งนี้จะเป็นวิธีแก้ปัญหาหรือไม่? ดูเหมือนว่าอย่างน้อยมันก็สามารถหยุดแอปไม่กี่แอปได้ที่นั่น
Raimi

ใช่นั่นเป็นเพียงกรณีของ EffortSpent vs ProtectionAchieved ที่ส่วนที่สองไม่สามารถเข้าถึงได้ 100%
Kromster

1
ชื่อแบบสุ่มในซอร์สโค้ดจะไม่ช่วยอย่างน้อยในกรณีส่วนใหญ่ โปรแกรมที่มักจะถูกรวบรวมเพื่อ IL / bytecode หรือตรงไป ฯลฯ ไบนารี
lozzajp

2

ในเรื่องที่เกี่ยวกับเกมเล่นคนเดียวคุณจะไม่สามารถป้องกันการโกงและคุณไม่ควร


ทำไมฉันไม่สามารถป้องกันการโกงในเกมของฉันเองได้?

ดังที่คำตอบอื่น ๆ ได้ชี้ให้เห็นแม้แต่ความพยายามที่ดีที่สุดอาจถูกแฮกเกอร์โดยใช้แฮกเกอร์เพียงคนเดียวและมอบให้กับฐานผู้เล่นคนอื่น ๆ คุณยังสามารถทำให้ความพยายามต่อต้านนี้ แต่มองไปที่คำตอบอื่น ๆ สำหรับคำแนะนำวิธีการ คำตอบนี้หมายถึงการประหยัดปัญหาของคุณถ้าเกมของคุณมุ่งหวังที่จะให้ผู้เล่นคนเดียวเล่นเกม

ทำไมฉันต้องให้ผู้เล่นโกงในเกมผู้เล่นคนเดียว?

ที่จะพูดแซม ,

ใช้เวลามากขึ้นในการสร้างเกมที่ยอดเยี่ยมและใช้เวลาน้อยลงในการป้องกันไม่ให้ปัญญาอ่อนทำลายความสนุกของตัวเอง - ง่าย

นี้คิดถึงจุดสิ้นเชิง เกมเป็นรูปแบบของความบันเทิง โดยทั่วไปฐานผู้เล่นของคุณกำลังเล่นเกมของคุณจะมีความสนุกสนาน หากผู้เล่นใช้กลโกงในเกมของคุณมีเหตุผลที่พวกเขากำลังใช้กลโกง มีความปลอดภัยที่จะสมมติว่าเราไม่สามารถรับประกันความสนุกของผู้เล่นแต่ละคนได้ หากพวกเขาใช้กลโกงอาจเป็นวิธีที่ทำให้เกมของคุณสนุกยิ่งขึ้นสำหรับพวกเขา

การโกงทำให้เกมสนุกขึ้นได้อย่างไร

ในขณะที่ทุกคนมีความเป็นเอกลักษณ์มีเงื่อนไขบางประการที่กลโกงสามารถทำให้เกมสนุกสนานยิ่งขึ้น

  • เกมดังกล่าวช้าเล็กน้อยและผู้เล่นต้องการใช้กลโกงเพื่อนำการกระทำออกมาก่อนที่พวกเขาจะถูกย้ายออกไปโดยสิ้นเชิง
  • ผู้เล่นไม่สามารถผ่านด่านที่ท้าทายไปได้ พวกเขามักจะไม่โกง แต่พวกเขาใกล้จะยอมแพ้ด้วยความหงุดหงิด พวกเขาสามารถหยุดเล่นเกมของคุณหรือพวกเขาสามารถใช้สูตรโกงเพื่อเลี่ยงสิ่งกีดขวางและไปเล่นครึ่งหลังของเกม
  • ผู้เล่นไม่สามารถอุทิศระยะเวลาที่เกมของคุณต้องการสำหรับประสบการณ์ที่ต้องการ โดยการใช้กลโกงผู้ใช้จะได้รับ "การเริ่มต้นทำงาน" และสามารถเพลิดเพลินไปกับเนื้อหาที่ต้องการในเกมของคุณหากคุณคิดว่าสิ่งนี้ไม่น่าเชื่อถือลองคิดดูว่านี่เป็นเหตุผลที่ฉันเล่นเกม Fallout 4 น้อยมากโดยเปรียบเทียบมันเป็นเกมเดียวที่ฉันสั่งไว้ล่วงหน้าในช่วง 5 ปีที่ผ่านมาและเป็นเกมเดียวที่ฉันเคยสั่งล่วงหน้าและ ซื้อมากกว่าหนึ่งแพลตฟอร์ม ฉันรักเกม ฉันไม่มีเวลาสำหรับมัน
  • เกมของคุณมีข้อบกพร่องและสิ่งนี้จะหยุดผู้เล่นไม่ให้คืบหน้าต่อไป การโกงข้ามข้อผิดพลาดเพื่อให้ผู้เล่นสามารถเล่นต่อไป เกม Elder Scrolls ล่าสุดมีชื่อเสียงในสถานการณ์นี้

เหตุใดจึงใช้กับเกมผู้เล่นเดี่ยวเท่านั้น

สิ่งสำคัญคือต้องเน้นว่าวิธีนี้ใช้ได้กับเกมผู้เล่นเดี่ยวเท่านั้น หากผู้เล่นบอกคุณว่าพวกเขาต้องการใช้กลโกงเพื่อเพิ่มความสนุกสนานในเกมของพวกเขาไม่มีอันตรายใด ๆ ทันทีที่มีผู้เล่นหลายคนในเกมการหาประโยชน์ของผู้เล่นคนแรกนั้นอาจกลายเป็นข้อเสียที่ไม่เป็นธรรมต่อผู้เล่นคนอื่น นี่เป็นสถานการณ์จริงเท่านั้นที่คุณไม่ควรอนุญาตให้มีการโกง


0

เครื่องมือแฮ็คหน่วยความจำทำหน้าที่อะไร?

มีสองวิธีในการใช้งานเครื่องมือแฮ็ค

  1. มันยอมรับที่อยู่ที่รู้จักที่เก็บตัวแปรของผู้เล่น
  2. คุณฟีดในการเปลี่ยนแปลงในตัวแปรและมันจะสแกนหน่วยความจำสำหรับการเปลี่ยนแปลง

คุณทำอะไรได้บ้าง

  1. คุณสามารถใช้ตัวแปรที่จัดสรรแบบไดนามิกเพื่อจัดเก็บตัวแปรของเครื่องเล่นเพื่อให้ที่อยู่เปลี่ยนแปลงตลอดเวลาเมื่อเริ่มต้น จะไม่มีที่อยู่คงที่ซึ่งเว็บไซต์โกงสามารถแสดงรายการได้

  2. เข้ารหัสตัวแปรผู้เล่น: การปรับค่าการเพิ่มค่าคงที่ ฯลฯ ซึ่งทำให้เกิดปัญหาใหม่: แฮ็กเกอร์ที่ไม่ยอมใครง่ายๆสามารถแยกส่วนโปรแกรมของคุณและค้นหาหมายเลขที่คุณใช้สำหรับการเข้ารหัสตัวแปรเครื่องเล่นของคุณ สำหรับสิ่งนี้ใช้ตัวเลขสุ่ม นอกจากนี้คุณยังสามารถขยายค่าของตัวแปรเครื่องเล่นของคุณแล้วเพิ่มหมายเลขสุ่มซึ่งตัวเลขที่เพิ่มนั้นไม่เปลี่ยนแปลงค่าอย่างมีนัยสำคัญ (การเพิ่ม 10 หรือ 20 ไปเป็นค่าที่เพิ่มขึ้นเป็น 2,000 ไม่ได้ทำให้แตกต่างกันมาก)

แน่นอนแฮ็กเกอร์ที่จริงจังบางคนยังสามารถหาวิธีที่จะเอาชนะอุปสรรคเหล่านี้ได้ แต่มันก็ไม่ง่าย

  std::default_random_engine myRNG;
  std::uniform_int_distribution<int> myDist_padding(10,100);
  class Player
  {
      public:
          Player()
          {
              Health = new float;
              Armor = new float;

              std::uniform_int_distribution<int> myDist_scale(1000,10000);
              scale = myDist_scale(myRNG);
          }
          float GetPlayerHealth() const;
          void SetPlayerHealth(float health);
      private:
          float *Health;
          float *Armor;
          int scale, constant;
  }

  //wrappers for Set/GetPlayerHealth
  void Player::SetPlayerHealth(float health)
  { 
      this->Health = health * scale + constant + myDist_padding(myRNG);     //random padding; adding 10 or 100 to a number that is scaled up by 1000 will cause an increase in 1%
      //1% of error is ok I guess?
  }
  int Player::GetPlayerHealth() const
  {
      return (this->Health - constant)/scale;
  }

ในขณะที่รหัสข้างต้นแก้ปัญหาร้ายแรงบางอย่างก็ยังแตกได้ ข้อมูลที่แฮ็กเกอร์ต้องการเท่านั้นคือ: ตัวแปรของผู้เล่นนั้นเข้าถึงได้ผ่านตัวชี้ (เขาสามารถค้นหาได้โดยการแยกส่วนเกมของคุณ แต่มันจะน่ารำคาญและยาก) เมื่อแฮกเกอร์มีที่อยู่กับตัวแปรเครื่องเล่นของคุณพร้อมกับตัวแปรสุ่มลับอื่น ๆ มันจะเป็นเรื่องง่ายสำหรับเขาที่จะพัฒนาสูตรโกง

ในความคิดของฉันโดยไม่แยกส่วนคุณไม่สามารถเขียนเครื่องมือแฮ็คสำหรับระบบดังกล่าวได้ ผลลัพธ์ไม่สามารถคาดเดาได้ในขณะที่คุณกำลังเพิ่มตัวเลขสุ่มให้กับกลุ่มผู้เล่นแต่ละครั้งที่มีการแก้ไข ช่วงที่ตัวแปรเครื่องเล่นถูกจัดเก็บไม่เหมือนกันในทุกการเริ่มต้น

คุณทำอะไรได้อีก

เปลี่ยนที่อยู่ของตัวแปรผู้เล่นเป็นครั้งคราว มันขัดขวางการอ่านโค้ดหรือไม่ มันก็มีบ้าง แต่คุณสามารถสรุปกระบวนการทั้งหมดในชั้นเรียนเดียวซึ่งมีความคิดเห็นที่อธิบายอย่างดี อินเทอร์เฟซที่มีให้ในคลาสจะมีฟังก์ชั่น Set / Get อย่างง่าย โปรแกรมเมอร์ส่วนหน้าไม่ต้องกังวลกับความซับซ้อนพื้นฐาน


0

เศรษฐศาสตร์:

หากคุณต้องการที่จะทำให้เกมของคุณแข็งแกร่งขึ้นกับคนขี้โกงวิธีที่ดีที่สุดคือซื้อโซลูชันซอฟต์แวร์ที่ทำเพื่อคุณ มีผู้ให้บริการหลายและคุณสามารถหาได้ค่อนข้างน้อยของพวกเขาโดย googling สำหรับ"ต่อต้านการโกงแบ่งเกมของฉัน"

มืออาชีพเก่งกว่าในการป้องกันการโกงจริง ๆ และดีกว่าที่จะไม่ทำลายเกมของคุณมากกว่าที่คุณเป็น (และยังไม่ประสบความสำเร็จ 100% ทั้งสองอย่างนี้) ดังนั้นหากคุณรู้สึกว่ามีคุณค่าในการแก้ปัญหาดังกล่าวในเกมของคุณให้ซื้อ การทำด้วยตัวเองจะมีราคาแพงขึ้นอย่างมากมาย

คำถามที่เกี่ยวข้องคือ "มีค่าในการใช้ซอฟต์แวร์ป้องกันการโกงหรือไม่" คำตอบคือ: ไม่เว้นแต่ส่วนที่ดีของเกมของคุณจะต้องอาศัยโหมดการแข่งขันออนไลน์


0

วิธีเดียวที่จะปกป้องคุณจากเกม modding และการแก้ไขหน่วยความจำที่ทำให้มันออนไลน์เท่านั้นและการประมวลผลค่าความสำคัญด้านเซิร์ฟเวอร์

บางทีคุณสามารถเข้ารหัสค่าเพื่อให้หน่วยความจำมือใหม่ edoits ไม่ได้รับพวกเขา แต่ชุมชนทั้งหมดเช่นCheat Engine , GameGuarianสำหรับ Android, ArtMoney, Hacker เกม ฯลฯ มีคนที่จะสามารถแฮ็คสิ่งที่คุณดำเนินการกับลูกค้า - เคียงข้างกันและแสดงให้ผู้อื่นเห็นวิธีการทำหรือเผยแพร่ผู้ฝึกสอน

มันเป็นความพยายามที่ไร้ประโยชน์ในการลองและขัดขวางคนขี้โกงในด้านความคิดของฉัน ยังไม่ยุติธรรมเพราะเป็นอุปกรณ์ของพวกเขาและหากพวกเขาต้องการหน่วยความจำแก้ไขสิ่งที่เกิดขึ้นบนอุปกรณ์ของพวกเขาทำไมคุณจะขัดขวางพวกเขา? ลูกค้าคือกษัตริย์ในที่สุด


0

ฉันหมายความว่ามันไม่ยาก คุณสามารถเก็บ 99% ของหน่วยความจำที่แก้ไข cheaters (เหล่านั้นGame Guardian , Cheat Engine และอื่น ๆ โดยการคูณค่าง่ายๆแม้การคูณด้วย 10 ในหน่วยความจำจะทำให้ส่วนใหญ่ของช่อง

ฉันจำได้ว่ามีเกมแฟลชจำนวนมากในวันนั้นคูณด้วย 8 หรือ 6 หรือถ้าคุณจริงจังกับมันจริงๆให้เขียนเช็คหรือเข้ารหัสค่าในหน่วยความจำ


-2

คุณไม่สามารถ - ฉันทำซ้ำคุณไม่สามารถ ไม่มีคำตอบสำหรับคำถามนี้ที่ไม่สามารถยกเลิกได้โดยแฮกเกอร์ที่ดี

แต่ - อะไรนะ? หากมีคนต้องการที่จะโกงเกมของคุณ (สมมติว่าไม่มีการสูญเสียหรือความสำเร็จทางการเงินที่เกี่ยวข้อง) ใครจะไปสน? พวกเขาโกงตัวเองเท่านั้น

ใช้เวลามากขึ้นในการสร้างเกมที่ยอดเยี่ยมและใช้เวลาน้อยลงในการป้องกันไม่ให้ปัญญาอ่อนทำลายความสนุกของตัวเอง - ง่าย


ลงคะแนนตามที่ฉันเชื่อ สนุกมีบทบาทสำคัญในคำตอบนี้ แต่พลาดอย่างสิ้นเชิง แทนที่จะอธิบายเพิ่มเติมฉันกำลังส่งคำตอบสำรอง
Gnemlock

-3

เข้ารหัสนรกออกมาจากมัน! จัดเก็บหมายเลขสำคัญแยกย่อยในหลาย ๆ สถานที่รวมกับค่าอื่น ๆ เพื่อที่พวกเขาจะเปลี่ยนแปลงตลอดเวลา! ใช้หมายเลขจำลองว่าหากมีการเปลี่ยนแปลงบอกพวกเขาว่าพวกเขาเป็นคนขี้โกง

ทุกอย่างสามารถแตกได้ แต่ส่วนใหญ่จะไม่ใช้เวลาในการทำเช่นนั้น


4
... และจากนั้นซอร์สโค้ดของคุณจะเป็นระเบียบที่อ่านไม่ออกและไม่สามารถแก้ไขได้ ขอให้โชคดีในการหาจุดบกพร่องหรือสร้างความสมดุลโดยไม่ทำให้สิ่งทั้งหมดพัง
ฟิลิปป์

หากฉันต้องใช้การป้องกันการโกงในรูปแบบนี้ฉันจะต้องผิดหวังอย่างจริงใจถ้าแฮ็กเกอร์ติดอยู่กับแผนการชั่วร้ายของฉันและยอมแพ้ นั่นหมายความว่าฉันเสียเวลาไปกับใคร แต่เป็นของตัวเอง
Marcks Thomas

@MarcksThomas ถ้าแฮกเกอร์ยอมแพ้คุณก็ไม่ต้องเสียเวลา นั่นคือเป้าหมายหลังจากทั้งหมดใช่ไหม?
Dan

ฉันไม่เห็นด้วยกับคุณอย่างเต็มที่ใน @Philipp - มีวิธีที่จะทำให้ซอร์สโค้ดชัดเจน แต่ยังคงแย่งรหัสการผลิตเมื่อมันหายไป ในทางปฏิบัติที่เกี่ยวข้องกับการเข้ารหัสและบางช่วงเวลาโดยเฉพาะอย่างยิ่ง & threading mambojambo :-) เราทดสอบกับซอร์สโค้ดที่ไม่เปลี่ยนแปลงและหากมีข้อผิดพลาดในรหัสการผลิตเราปล่อยให้มันเกิดความผิดพลาดอย่างไร้ความปราณี (ด้วยความล่าช้าเล็กน้อยเพียงเพื่อจะเป็นความชั่วร้าย :-)) การเปลี่ยนแปลงเล็กน้อยก็ทำให้เกิดเช่นนั้น
Stormwind

Thoght ฉันจะลบล้างสิ่งนี้เป็นคำตอบที่ดีที่สุดในห่วงโซ่นี้ แต่ฉันดูเหมือนจะทำไปแล้ว มีกฎทางคณิตศาสตร์มากมายที่จะใช้ซึ่งจะเป็นไปไม่ได้ที่จะทำวิศวกรรมย้อนกลับเนื่องจากความซับซ้อนและเหนือกว่าทุกเวลา ตัวอย่างเช่นหนึ่งสามารถทำเครื่องหมายแอปพลิเคชันสำหรับการหยุดทำงานล่าช้าหรือปล่อยให้ความรู้สึกของมันแยกออกเป็นสถานะที่ไร้ประโยชน์ (ไม่สามารถเล่นได้) แน่นอนคุณต้องเป็นเหตุผลที่ดีสำหรับเรื่องนี้
Stormwind

-4

วิธีที่ฉันจัดการกับมันในเกมออนไลน์คือสิ่งนี้

ฉันจะไม่ช่วยแฮ็กเกอร์ที่อดทนกับฉันมาก ฉันจะไม่พูดถึงโปรแกรมใด ๆ ที่ฉันใช้ทำสิ่งนี้ คุณจะต้องคิดออก วิธีเดียวที่จะหยุดพวกเขาได้อย่างแท้จริงคือการรู้สิ่งหนึ่ง พวกเขาไม่ต้องการให้โปรแกรมแฮ็กตรวจพบ

จนถึงตอนนี้ผู้ใช้แฮ็กเกอร์ / ผู้ฝึกสอนทุกคนที่ฉันพ่ายแพ้ นักพัฒนาของแฮ็คจะวางเครื่องตรวจจับไว้บนมันเพื่อดูว่ามีบางอย่างกำลังรับชมหรือไม่ หากมีบางอย่างโปรแกรมแฮ็กเกอร์ / เทรนเนอร์จะปิดโดยอัตโนมัติเมื่อสิ้นสุดหรือจะทำงานเพียงครึ่งเดียว

ตัวอย่างเช่นในดิน 3 ผู้ใช้เทรนเนอร์สามารถทำให้รถของคุณหมุนโดยอัตโนมัติ แต่ถ้าคุณวางเครื่องตรวจจับไว้ที่ท้ายสุดเครื่องตรวจจับกลโกงของตัวเองจะตรวจจับและจะปิดส่วนหนึ่งของการโกง ไม่ใช่ทั้งหมด

ส่วนเดียวของโปรแกรมผู้ฝึกสอนที่ฉันเห็นว่าได้รับผลกระทบจากการแทรกแซงของฉันคือ super brakes (braking สมบูรณ์แบบ) และ spinout (รถเสียการควบคุมโดยไม่มีเหตุผล) ฉันมีเกมแข่งรถเป็นส่วนใหญ่อย่างที่คุณเห็น พวกเขาทั้งหมดมาจาก codemasters และน่าเศร้าที่เกมเหล่านั้นมักถูกทารุณกรรมโดยผู้โกงอยู่บ่อยครั้ง

ฉันเชื่อว่าฉันสามารถหยุดพวกเขาเพียงเพราะวิธีที่เราเชื่อมต่อซึ่งกันและกันในขณะที่เล่น อาจเป็นเหตุผลเดียวกันกับที่พวกเขาสามารถทำให้เกิดการหมุนสำหรับผู้เล่นปกติที่ไม่มีเงื่อนงำเกี่ยวกับความปลอดภัย

คำแนะนำที่ใหญ่ที่สุดของฉันคือการได้รับโปรแกรมป้องกันไวรัสด้านความปลอดภัยทางอินเทอร์เน็ตที่ดีมาก (Norton, Mcafee, Avast, และ shitty av อื่น ๆ ทั้งหมดจะไม่ช่วยคุณ) ยินดีที่จะใช้จ่าย $ 50 ถึง $ 90 ใน av ที่ดีมากที่ฉันไม่ได้อยู่ในรายการแล้วเรียนรู้วิธีการทดสอบกับมันเพื่อให้เกิดการเล่นออนไลน์

ต้องใช้ความอดทนและหมูตะเภาเป็นจำนวนมาก ฉันประสบความสำเร็จมากมายในเรื่องนี้ แต่ก็มีประสบการณ์มากมายในการจัดการกับผู้ใช้เทรนเนอร์ ฉันไม่รู้รหัสใด ๆ เลย มันไม่มีอะไรเกี่ยวข้องกับมัน ส่วนของรหัสถูกล็อคและคุณไม่สามารถทำอะไรกับมันได้ คุณอาจคิดว่าคุณทำได้ แต่เป็นไปไม่ได้ที่จะหยุดสิ่งที่พวกเขาทำในตอนท้าย

คุณยังสามารถแบนพวกเขาด้วยสิ่งต่าง ๆ เช่น VAC ได้เพราะ Vac ตรวจพบลายเซ็นและพฤติกรรมและการแก้ไขไฟล์ที่รู้แล้ว มันห้ามเฉพาะบัญชีที่เกี่ยวข้องกับการโกง

พวกเขาไม่ได้หยุดโกงจริง ๆ พวกเขาไม่สามารถใส่ใจกับมัน พวกเขาเพิ่งแบนบัญชีของคุณ สิ่งอื่น ๆ ที่ฉันอยากจะพูดถึงเกี่ยวข้องกับ Wolfenstein ET เกมที่เก่ามาก แต่สำหรับฉันแล้วมันมีมาตรการรักษาความปลอดภัยที่ดีที่สุดและโหดร้ายที่สุด

ฉันไม่เคยเห็นวิธีที่พวกเขาทำ ฉันให้ความคิดกับพวกเขาเกี่ยวกับสิ่งที่จะหยุดคนขี้โกงจริง ๆ และแนะนำให้หนึ่งในนักพัฒนา jaymod devolopers ห้ามแบนโดยแนวทาง สิ่งที่มีแนวทางที่เข้าใจง่ายเมื่อเล่นเกม? กราฟิกการ์ด เหตุผลที่พวกเขาใช้งานเพราะคนเพิ่งจะเปลี่ยนที่อยู่ IP และคุณไม่ต้องการบัญชีสำหรับเกมดังนั้นคุณสามารถเปลี่ยนชื่อที่อยู่ mac ของคุณซึ่งจะเปลี่ยนที่อยู่ IP ของคุณด้วย

แต่เมื่อพวกเขาทำกราฟิกการ์ดเรย์แบน หากคุณต้องการเล่นอีกครั้งคุณต้อง RMA การ์ดของคุณหรือซื้อใหม่ นั่นเป็นเรื่องปิดแม้ว่า นี่น่าจะเกี่ยวกับการตรวจจับและฉันก็ไปแทนเจนต์ น่าเศร้าที่ฉันไม่ได้เล่นเกมเกือบเท่านี้ แต่คนที่ฉันรักหมูเน่าของฉันทั้งหมด โดยเฉพาะอย่างยิ่งคนที่มาจากรถโครงการ เกมแข่งรถเดียวที่ไม่ใช่ codemasters แต่ก็ยังได้รับผลกระทบจากเรื่องไร้สาระเดียวกัน


ฉันเห็นปัญหาหลายอย่างกับคำตอบนี้ 1. รูปแบบ มันยากที่จะอ่านเนื่องจากโครงสร้างและเนื่องจากความไม่สอดคล้องกันทางไวยากรณ์มีบางส่วนที่ฉันไม่สามารถเข้าใจสิ่งที่คุณหมายถึงการพูด 2. คุณจะปรากฏที่จะพูดคุยกันมากเกี่ยวกับเรื่องที่เป็นผู้เล่นที่เล่นกับขี้โกงอื่นนั่นจะเกี่ยวข้องกับArqadeแต่เรากังวลเกี่ยวกับการพัฒนาเกมมากกว่า 3. คุณพูดว่า "อย่าใช้สิ่งที่ฉันพูดถึง" เกี่ยวกับการป้องกันไวรัส คุณพูดถึง "Norton, mcafe, avast และสิ่งที่น่ารังเกียจทั้งหมดนี้ไม่ได้บอกเราว่าต้องใช้อะไรโดยเฉพาะอย่างยิ่งเมื่อคุณตั้งชื่ออันดับสูงสุด
Gnemlock

ในช่วงครึ่งปีหลังดูเหมือนจะเป็นเรื่องเล็ก ๆ น้อย ๆ เกี่ยวกับวิธีที่คุณคิดว่าบริษัท วิดีโอเกมเอาคำแนะนำของคุณ (ฉันเชื่อว่าคุณพยายามที่จะพูดว่าคุณไม่แน่ใจว่ามันทำอย่างไรดังนั้นฉันจึงตีความว่าคำอธิบายเพิ่มเติมว่า จะขึ้นอยู่กับการเก็งกำไรไม่ใช่ความจริง)
Gnemlock
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.