리버스 엔지니어링 비디오 게임에 대한 초보자 학습 자료
다음은 개인적으로 권장되는 학습 자료를 기반으로 컴파일 된 목록입니다.
다른 사람들이 더 많은 시간을 배우고 검색 시간을 줄이는 데 도움이되기를 바랍니다.
여기서 수집 된 자원의 대부분은 학습하기가 더 쉽기 때문에 X86 어셈블리를 염두에두고 Microsoft Windows 운영 체제에서 PC 게임을 역전시키는 데 중점을 둘 것입니다.
엔지니어링 비디오 게임을 역전시키는 것은 종종 "게임 해킹"과 관련이없는 것보다 더 많기 때문에 함께왔다 갔다하므로 학습 자료 중 일부가 그러한 사이트/소스에서 나온다고해도 놀라지 마십시오.
배우기위한 권장 명령
- Google에서 효율적으로 검색하는 방법을 배우면 모든 답변과 리소스가 인터넷에서 찾을 수 있습니다.
- 치트 엔진을 사용하여 배우십시오
- 16 진수 및 이진 번호 시스템과 일반적으로 컴퓨터 메모리에 대해 알아보십시오.
- x86 어셈블리를 배우십시오
- C ++를 배우십시오
- Ida/Ghidra를 사용하여 배우십시오
- 게임 프로그래밍의 기본 사항을 배우십시오
- Win32 API의 기본 사항을 배우십시오
- Windows 운영 체제, 일명 Windows Internals의 내부 작업을 배우십시오.
- 연습, 연습, 연습 ...
역전에 필요한 소프트웨어
당신이하고있는 일을 모르는 한, 안티 cheat 시스템이있는 멀티 플레이어 게임을 재생하는 동안 이러한 도구 (특히 치트 엔진)를 실행하는 것이 좋습니다.
우선 초보자는 치트 엔진과 IDA 또는 Ghidra에 익숙해집니다.
메모리 스캐너 :
분해 / 디 컴파일러 / 디버거 :
- IDA (프리웨어 판)
- 기드라
- x64dbg
- DNSPY (Decompiler, Debugger 및 C# Applications의 편집기)
프로세스 도구 :
- ProcessHacker (모니터 프로세스 및 시스템 리소스)
- ProcessMonitor (모니터 실시간 파일 시스템, 레지스트리 및 프로세스/스레드 활동)
- API 모니터 (모니터 및 제어 API 통화)
PE 도구 :
- Explorer Suite (PE 편집자)
- 쉽게 감지합니다 (파일 유형 및 패커 식별자)
- tridnet (파일 식별자)
네트워크 도구 :
다른:
- HXD 편집기 (Basic Hex Editor)
- Imhex (고급 육각 편집기)
- reclass.net (메모리의 리버스 엔지니어링 데이터 구조)
올바른 도구 선택
게임을 시작하기 전에 목표를 알아야하므로 다음과 같은 일부 정보를 수집하는 것이 중요합니다.
- 사용하는 소프트웨어 기술
- 개발 된 프로그래밍 언어 및 컴파일러
- 방지 방지 또는 방지 방지 기술이 있습니까?
- 인기있는 타사 게임 엔진 (Unity, Unreal Engine, Source Engine 등)에서 실행됩니까?
동일한 엔진을 공유하는 게임에는 종종 유리하게 사용할 수있는 유사하고 반복되는 코드베이스가 있습니다. Unreal Engine 또는 Unity와 같은 타사 게임 엔진의 경우 리버스 엔지니어링 프로세스를 완화 할 수있는 많은 사용자 정의 도구가 있습니다.
C# 또는 Java와 같은 고급 해석/중간 프로그래밍 언어로 코딩 된 게임은 일반적으로 낮은 수준의 기계 코드로 컴파일되지 않기 때문에 메타 데이터가 손실되지 않기 때문에 C/C ++에 비해 반전 엔지니어가 훨씬 쉽습니다.
Unity 기반 게임의 경우 (및 .NET 프레임 워크로 개발 된 다른 게임의 경우) IDA/GHIDRA 대신 DNSPY를 사용하십시오.
우리는 주로 비디오 게임 프로그래밍의 골드 표준이므로 C ++로 코딩 된 게임을 취소하는 데 중점을 둘 것입니다.
C ++로 만든 게임의 예 :
- 카운터 스트라이크
- 그랜드 절도 자동 v
- 포트 나이트
- 월드 오브 워크래프트
- Tom Clancy의 Rainbow Six Siege
- 낙진 4
- 국경 지대
- 로켓 리그
- 데스티니 가디언 즈
- ARK : 생존은 진화했습니다
C#로 만든 게임의 예 :
- 겐신 충격
- 세이버를 이겼습니다
- 녹
- 마석
- Subnautica
- Rimworld
- 중공 기사
- 컵 헤드
- 그것을 극복합니다
- 비의 위험 2
초보자 수준 자료를 읽어야합니다
게임 반전 안내 :
- 게임 해킹 아카데미
- 코딩에서 해킹까지 : 실용 (외부) 게임 해킹에 대한 소개 안내서
X86 어셈블리 안내 :
- 어셈블리 언어 란 무엇입니까? -javidx9
- 리버스 엔지니어를위한 x86 어셈블리의 충돌 코스 - SensePost
IDA 안내서 :
기본 게임 프로그래밍 개념 :
- 게임 프로그래밍 알고리즘 및 기술 -Sanjay Madhav (이 기사에는 총 7 페이지가 있으며 5-6 페이지까지 읽습니다)
- 게임 메인 루프 이해 -Rodrigo Monteiro
서적:
- 역전 및 게임 해킹 :
- 게임 해킹 : 온라인 게임을위한 자율 봇 개발 -Nick Cano
- 실용적인 맬웨어 분석 : 악성 소프트웨어 해부에 대한 실습 가이드 -Michael Sikorski 및 Andrew Honig
- 게임 프로그래밍 :
- Windows 게임 프로그래밍 전문가의 속임수, Second Edition (2002) - Andre Lamothe
- 게임 코딩 완료, 4 판 (2012) -Mike McShaffry
Google:
- 인터넷을 효과적으로 검색하는 방법 -WebTools Company
- 구글 치트 시트
- 최고의 Google 검색 사업자 치트 시트 -Helvis Smoteks
YouTube 채널을 봐야합니다
- 리버스 엔지니어링 및 게임 해킹 자습서를위한 안내 해킹 YouTube 채널
- 치트 엔진 자습서 용 Stephen Chapman의 YouTube 채널
다른 정말 유용한 재료
더 많은 x86 어셈블리 학습 자료 :
- X86 리버스 엔지니어링에 적용 가능한 X86 어셈블리 언어 : 기본 - 1 부
- X86 어셈블리 언어, 2 부
- Lena151 어셈블리 자습서 (구식이지만 여전히 많이 권장됩니다) :
- YouTube 채널을 배우십시오
- Tuts 4 You- 컬렉션 2011
기타 유용한 도구 및 도구 안내서 :
- 9 2021을위한 최고의 역 엔지니어링 도구
- 증기가 없습니다
- 렌더링
- Nirsoft 프로그래머 도구
- Nirsoft 네트워크 도구
- Nirsoft 시스템 도구
실제 역 엔지니어링 및 게임 해킹 자료 :
- 리버스 엔지니어링/게임 패치 튜토리얼 : GHIDRA+X64DBG+Python이있는 전체 해상 롤러 코스터 타이쿤
- 리버스 엔지니어링 및 무기 XP 솔리테어 (미니 코스)
- DOOM95 | AIMBOT 만들기
- 게임 해킹 : 해킹, 슬래시, 전리품
- 사용자 모드 루트 키트 : IAT 및 인라인 후크
- X86 API 후크 디미 스티크
- [C/C ++] 초보자를위한 리버스 엔지니어링 자습서
- 주소 별 역 엔지니어링 및 기능 호출
- 리버스 엔지니어링 온라인 게임 - Dragomon Hunter
- [튜토리얼] 패킷 해킹 및 역전 MMO
- 코드 주입 및 vtable을 사용한 런타임 Directx 후크
- 오프셋을 동적으로 얻기 위해 패턴 스캔을 구현하는 방법
- C ++ : PatternScan (AOB)을 사용하여 바이트를 패치하는 방법+설명 / 스 니펫
비트 플래그 및 비트 마스크 :
- 비트 가동 연산자 및 비트 마스크를 사용한 비트 조작
서적과 논문 :
- 역전 및 게임 해킹 :
- 실제 비디오 게임 봇 : C ++, Python 및 Autoit를 사용한 게임 프로세스 자동화 -Ilya Shpigor
- 역전 : 리버스 엔지니어링의 비밀 - Eldad Eilam
- x86 분해 -wikibooks.org
- 맬웨어 분석 학습 : Windows 맬웨어를 분석하고 조사하기위한 개념, 도구 및 기술 탐색 -Monnappa KA
- 게임 프로그래밍 :
- 게임 프로그래밍 알고리즘 및 기술 : 플랫폼 공유 접근법 -Sanjay Madhav
- 게임 프로그래밍 패턴 - Robert Nystrom
- Windows 및 Win32 API 프로그래밍 :
- Windows 프로그래밍 : Win32 API에 대한 결정적인 안내서 -Charles Petzold
- Windows 커널 프로그래밍 -Pavel Yosifovich
- Windows Internals -Pavel Yosifovich, Alex Ionescu, Mark E. Russinovich, David A. Solomon
- 방지 방지 방지, 방지 방지 및 방지 기술을 우회합니다.
- 최고의 반대 방향 참조 -Peter Ferrie
- 포장 풀기 예술 -Mark Vincent Yason
리버스 엔지니어링 비디오 게임을위한 선별 된 도구, 튜토리얼, 리소스 등 목록 :
- 알 수없는 체트 게임 해킹 위키
- 궁극적 인 게임 해킹 리소스
- 최고의 온라인 게임 해킹 리소스
- 게임 프로그래머를위한 학습 경로
가이드 해킹 리소스 (2023 년 기준으로 현재 지불 된 콘텐츠) :
- GHB1- 게임 해킹에 대한 초보자 안내서를 시작하십시오
- GHB2- 초보자 가이드 리버스 엔지니어링
- GHB3- 게임 해킹에 대한 중간 안내서
- MMO 봇 만드는 방법 -MMORPG 봇 자동화
- 내부 대 외부 해킹 - 차이점은 무엇입니까?
길을 따라 유용한 사이트
- Google (진지하게, 많이 사용하십시오.
- 공식 Microsoft 문서 (MSVC, Directx, Win32 API 등에 대한 문서 포함)
- Godbolt (컴파일러 생성 C ++ 코드를 확인하는 데 매우 유용함)
일반적으로 배우고 싶은 키워드
- 메모리 스캔
- 메모리 편집
- 메모리 패치
- 패턴 스캔
- x86 어셈블리
- x64 어셈블리
- 프로세스 디버깅
- 코드를 분해합니다
- 코드 소집
- 기능 훅킹
- API 후크
- 우회 기능
- DLL 주입
- 내부 치트
- 외부 치트
- 스레드
- Windows PE 형식
- Win32 API
- Windows 내부
- 방지 방지
- 반사 방향
- 탬퍼 방지
- 소프트웨어 패커
- 소프트웨어 풀기