สื่อการเรียนรู้เริ่มต้นเกี่ยวกับวิดีโอเกมวิศวกรรมย้อนกลับ
นี่คือรายการที่รวบรวมโดยใช้สื่อการเรียนรู้ที่แนะนำเป็นการส่วนตัวเพื่อช่วยให้ผู้คนในกระบวนการเรียนรู้วิธีย้อนกลับวิดีโอเกมของวิศวกร
ฉันหวังว่ามันจะช่วยให้ผู้อื่นใช้เวลาเรียนรู้มากขึ้นและการค้นหาเวลาน้อยลง
ทรัพยากรที่รวบรวมได้ส่วนใหญ่ที่นี่จะมุ่งเน้นไปที่การย้อนกลับเกมพีซีในระบบปฏิบัติการ Microsoft Windows โดยคำนึงถึง X86 มากกว่า X64 เนื่องจากเรียนรู้ได้ง่ายขึ้น
การย้อนกลับวิดีโอเกมวิดีโอเกมนั้นบ่อยกว่าไม่เกี่ยวข้องกับ "การแฮ็คเกม" พวกเขามาและไปด้วยกันดังนั้นอย่าแปลกใจถ้าสื่อการเรียนรู้บางส่วนมาจากเว็บไซต์/แหล่งข้อมูลดังกล่าว
คำแนะนำที่แนะนำในการเรียนรู้
- เรียนรู้วิธีการค้นหาอย่างมีประสิทธิภาพบน Google คำตอบและแหล่งข้อมูลทั้งหมดของคุณพบได้บนอินเทอร์เน็ต
- เรียนรู้การใช้เครื่องยนต์โกง
- เรียนรู้เกี่ยวกับระบบเลขฐานสิบหกและไบนารีและเกี่ยวกับหน่วยความจำคอมพิวเตอร์โดยทั่วไป
- เรียนรู้ X86 Assembly
- เรียนรู้ C ++
- เรียนรู้การใช้ IDA/GHIDRA
- เรียนรู้พื้นฐานของการเขียนโปรแกรมเกม
- เรียนรู้พื้นฐานของ Win32 API
- เรียนรู้การทำงานภายในของระบบปฏิบัติการ Windows AKA Windows Internals
- ฝึกซ้อมฝึกปฏิบัติ ...
ซอฟต์แวร์ที่จำเป็นสำหรับการย้อนกลับ
ไม่แนะนำให้เรียกใช้เครื่องมือเหล่านี้ (โดยเฉพาะอย่างยิ่งเครื่องยนต์โกง) ในขณะที่เล่นเกมผู้เล่นหลายคนที่มีระบบต่อต้านการโกงอยู่เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่
สำหรับผู้เริ่มต้นทำความคุ้นเคยกับเครื่องยนต์โกงและ Ida หรือ Ghidra
การเลือกเครื่องมือที่เหมาะสม
ก่อนที่จะไปทำงานในเกมคุณต้องรู้เป้าหมายของคุณดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องรวบรวมข้อมูลบางอย่างเช่น:
- เทคโนโลยีซอฟต์แวร์ใดที่ใช้
- ภาษาการเขียนโปรแกรมและคอมไพเลอร์ได้รับการพัฒนาด้วยอะไร
- มันมีเทคโนโลยีต่อต้านการคืนหรือต่อต้านการดัดแปลงหรือไม่
- มันทำงานบนเอ็นจิ้นเกมของบุคคลที่สามยอดนิยม (Unity, Unreal Engine, Source Engine ฯลฯ )
เกมที่แชร์เอ็นจิ้นเดียวกันมักจะมี codebase ที่คล้ายกันและเกิดขึ้นซ้ำ ๆ ซึ่งคุณสามารถใช้เพื่อประโยชน์ของคุณ สำหรับเอ็นจิ้นเกมของบุคคลที่สามเช่น Unreal Engine หรือ Unity มีเครื่องมือที่กำหนดเองมากมายออนไลน์ที่สามารถทำให้กระบวนการวิศวกรรมย้อนกลับได้
เกมที่เขียนรหัสในภาษาการเขียนโปรแกรมที่ตีความ/ระดับกลางเช่น C# หรือ Java โดยทั่วไปจะง่ายกว่าในการย้อนกลับวิศวกรเมื่อเทียบกับ C/C ++ เนื่องจากข้อมูลเมตาไม่หายไปเนื่องจากไม่ได้รวบรวมเป็นรหัสเครื่องระดับต่ำ
สำหรับเกมที่อิงกับความสามัคคี (และสำหรับเกมอื่น ๆ ที่พัฒนาขึ้นด้วย. NET Framework) ใช้ DNSPY แทน IDA/Ghidra
เราส่วนใหญ่จะมุ่งเน้นไปที่เกมย้อนกลับที่เขียนรหัสใน C ++ เนื่องจากยังคงเป็นมาตรฐานทองคำในการเขียนโปรแกรมวิดีโอเกม
วัสดุระดับเริ่มต้นที่ต้องอ่าน
คำแนะนำเกี่ยวกับการย้อนกลับของเกม:
- Game Hacking Academy
- ตั้งแต่การเขียนโค้ดไปจนถึงแฮ็ค: คู่มือแนะนำการแฮ็คเกม (ภายนอก)
คู่มือไปยังแอสเซมบลี x86:
- ภาษาแอสเซมบลีคืออะไร? - javidx9
- หลักสูตรความผิดพลาดในแอสเซมบลี x86 สำหรับวิศวกรย้อนกลับ - SensePost
คำแนะนำถึง IDA:
แนวคิดการเขียนโปรแกรมเกมขั้นพื้นฐาน:
- อัลกอริธึมและเทคนิคการเขียนโปรแกรมเกม - Sanjay Madhav (บทความนี้มีทั้งหมด 7 หน้าอ่านถึงหน้า 5-6)
- ทำความเข้าใจกับเกม Main Loop - Rodrigo Monteiro
หนังสือ:
- การย้อนกลับและแฮ็คเกม:
- การแฮ็คเกม: การพัฒนาบอทอิสระสำหรับเกมออนไลน์ - Nick Cano
- การวิเคราะห์มัลแวร์ที่ใช้งานได้จริง: คู่มือปฏิบัติงานเพื่อผ่าซอฟต์แวร์ที่เป็นอันตราย - Michael Sikorski และ Andrew Honig
- การเขียนโปรแกรมเกม:
- เทคนิคการเขียนโปรแกรมเกม Windows Game, Second Edition (2002) - Andre Lamothe
- การเข้ารหัสเกมเสร็จสมบูรณ์รุ่นที่สี่ (2012) - Mike McShaffry
Google:
- วิธีค้นหาอินเทอร์เน็ตอย่างมีประสิทธิภาพ - บริษัท Webtools
- Google Cheat Sheet
- Cheatsheet ผู้ให้บริการค้นหาขั้นสูงสุดของ Google - Helvis Smoteks
ต้องดูช่อง YouTube
- Guided Hacking YouTube Channel สำหรับวิศวกรรมย้อนกลับและบทช่วยสอนการแฮ็คเกม
- ช่อง YouTube ของ Stephen Chapman สำหรับการสอนเครื่องยนต์โกง
วัสดุที่มีประโยชน์อื่น ๆ
วัสดุการเรียนรู้แอสเซมบลี X86 เพิ่มเติม:
- X86 ภาษาแอสเซมบลีที่ใช้บังคับกับวิศวกรรมย้อนกลับ: พื้นฐาน - ตอนที่ 1
- X86 ภาษาแอสเซมบลีตอนที่ 2
- LENA151 แบบฝึกหัดแอสเซมบลี (อาจล้าสมัย แต่ก็ยังแนะนำอีกมาก):
- เรียนรู้ช่อง YouTube
- Tuts 4 You - Collection 2011
เครื่องมือและคู่มือเครื่องมือที่มีประโยชน์อื่น ๆ :
- 9 เครื่องมือวิศวกรรมย้อนกลับที่ดีที่สุดสำหรับปี 2021
- ไม่มีไอน้ำ
- RenderDoc
- เครื่องมือโปรแกรมเมอร์ Nirsoft
- เครื่องมือเครือข่าย Nirsoft
- เครื่องมือระบบ Nirsoft
วิศวกรรมย้อนกลับและสื่อการแฮ็กเกม:
- การสอนด้านวิศวกรรมย้อนกลับ/การแก้ไขเกม: Tycoon Resoler Roller Coaster พร้อม Ghidra+x64dbg+Python
- วิศวกรรมย้อนกลับและอาวุธ Solitaire XP (Mini-Course)
- DOOM95 | สร้าง AIMBOT
- การแฮ็กเกม: แฮ็ค, สแลช, ยกเค้า
- โหมดผู้ใช้รูทคิท: IAT และการเชื่อมต่อแบบอินไลน์
- X86 API HOOKING DEMYSTIFIED
- [C/C ++] การสอนวิศวกรรมย้อนกลับสำหรับมือใหม่
- วิศวกรรมย้อนกลับและการเรียกใช้ฟังก์ชั่นตามที่อยู่
- เกมออนไลน์ย้อนกลับเกม - Dragomon Hunter
- [การสอน] การแฮ็คแพ็คเก็ตและการย้อนกลับ MMO
- Run-time directx hooking โดยใช้การฉีดรหัสและ vtable
- วิธีการใช้รูปแบบการสแกนเพื่อรับออฟเซ็ตแบบไดนามิก
- C ++: วิธีแก้ไขไบต์โดยใช้ patternscan (aob)+คำอธิบาย / ตัวอย่าง
บิตธงและมาสก์บิต:
- การจัดการบิตกับตัวดำเนินการ bitwise และมาสก์บิต
หนังสือและเอกสาร:
- การย้อนกลับและแฮ็คเกม:
- บอทวิดีโอเกมที่ใช้งานได้จริง: กระบวนการเกมอัตโนมัติโดยใช้ C ++, Python และ Autoit - Ilya shpigor
- การย้อนกลับ: ความลับของวิศวกรรมย้อนกลับ - Eldad Eilam
- X86 Disassembly - wikibooks.org
- การเรียนรู้การวิเคราะห์มัลแวร์: สำรวจแนวคิดเครื่องมือและเทคนิคในการวิเคราะห์และตรวจสอบมัลแวร์ Windows - Monnappa KA
- การเขียนโปรแกรมเกม:
- อัลกอริธึมและเทคนิคการเขียนโปรแกรมเกม: แนวทางแพลตฟอร์มไม่เชื่อเรื่องพระเจ้า - Sanjay Madhav
- รูปแบบการเขียนโปรแกรมเกม - Robert Nystrom
- การเขียนโปรแกรม Windows และ Win32 API:
- โปรแกรมการเขียนโปรแกรม: คู่มือที่ชัดเจนสำหรับ Win32 API - Charles Petzold
- การเขียนโปรแกรมเคอร์เนล Windows - Pavel Yosifovich
- Windows Internals - Pavel Yosifovich, Alex Ionescu, Mark E. Russinovich, David A. Solomon
- การผ่านการต่อต้านการถอนการต่อต้านการตอบโต้และเทคนิคการแช่แข็ง:
- ข้อมูลอ้างอิงต่อต้านการคืนค่าสูงสุด - Peter Ferrie
- ศิลปะการแกะกล่อง - Mark Vincent Yason
รายการเครื่องมือการสอนทรัพยากรและอื่น ๆ อีกมากมายสำหรับวิดีโอเกมวิศวกรรมย้อนกลับ:
- ไม่ทราบเกมแฮ็ควิกิ Wiki
- ทรัพยากรการแฮ็คเกมที่ดีที่สุด
- ทรัพยากรการแฮ็คเกมออนไลน์ที่ดีที่สุด
- เส้นทางการศึกษาสำหรับโปรแกรมเมอร์เกม
ทรัพยากรการแฮ็คชี้นำ (ณ ปี 2023 ตอนนี้เป็นเนื้อหาที่มีการจ่ายเงิน):
- GHB1 - เริ่มต้นที่นี่คู่มือเริ่มต้นในการแฮ็คเกม
- GHB2 - คู่มือผู้เริ่มต้นเพื่อย้อนกลับวิศวกรรม
- GHB3 - คู่มือกลางในการแฮ็คเกม
- วิธีทำ MMO Bot - MMORPG BOT Automation
- Hacks ภายในกับภายนอก - ความแตกต่างคืออะไร?
ไซต์ที่มีประโยชน์ระหว่างทาง
- Google (ใช้อย่างจริงจังใช้มันมากตลอดเวลา)
- เอกสารอย่างเป็นทางการของ Microsoft (รวมถึงเอกสารเกี่ยวกับ MSVC, DirectX, Win32 API ฯลฯ )
- Godbolt (มีประโยชน์อย่างยิ่งในการตรวจสอบคอมไพเลอร์ที่สร้างรหัส C ++)
คำหลักที่คุณต้องการเรียนรู้โดยทั่วไป
- การสแกนหน่วยความจำ
- การแก้ไขหน่วยความจำ
- การแก้ไขหน่วยความจำ
- การสแกนรูปแบบ
- แอสเซมบลี x86
- แอสเซมบลี x64
- ประมวลผลการดีบัก
- รหัสถอดแยกชิ้นส่วน
- รหัสถอดรหัส
- ฟังก์ชั่นการเชื่อมต่อ
- API HOOKING
- ฟังก์ชั่นการอ้อม
- การฉีด DLL
- กลโกงภายใน
- กลโกงภายนอก
- ด้าย
- รูปแบบ Windows PE
- Win32 API
- Internals Windows
- การต่อต้าน
- การตอบโต้
- การต่อต้านการดัดแปลง
- แพ็คเกอร์ซอฟต์แวร์
- ซอฟต์แวร์แกะกล่อง