플러그인의 정의, 분류 및 구현 원리

플러그인의 정의

일반적인 의미에서 플러그인은 특정 불법적 인 목적을 달성하기 위해 비정상적인 수단을 통해 게임의 정상적인 데이터를 파괴하는 도구입니다. 캐릭터 손상 수정과 같은 일반적인 플러그인과 시뮬레이터 및 스크립트를 포함한 금화 수를 제외하고 엄밀히 말하면 모두 플러그인입니다.

플러그인 카테고리

위의 두 가지 유형의 플러그인의 핵심적인 차이점은 게임 클라이언트에 의존해야하는지, 보조 버전에 필요한지, 크랙 버전이 필요하지 않은지 여부입니다.

보조 플러그인

1. 전용 플러그인

이 유형의 플러그인은 특정 게임에 대해서만 사용자 정의됩니다. Android에서는 so 파일 형식이고 ios에서는 dylib 파일 형식입니다.

2. 일반 도구

a, 메모리 수정 자

게임의 메모리 데이터를 검색하고 수정하는 데 사용됩니다.

b. 전송

게임의 리듬을 높이거나 낮추고, 플레이어의 시간을 절약하거나 조작의 어려움을 줄입니다. 일반적으로 게임 프레임의 업데이트 빈도에 영향을줍니다.

c. 버튼 마법사

항목을 반복적으로 스 와이프하는 기능을 달성하기 위해 키 시퀀스를 수정하는 것과 같이 사용자의 기능 키 조작을 시뮬레이션합니다.

d. 시뮬레이터

이를 통해 모바일 게임 플레이어는 PC에서 게임을 실행하고 더 나은 조작감을 얻고 플레이어의 위장 난이도를 줄일 수 있습니다.

e. 패킷 캡처 도구

변조, 재전송 및 폐기 될 수있는 게임의 업스트림 및 다운 스트림 데이터 패킷을 가로채는 데 사용됩니다. 이러한 유형의 도구는 주로 게임 프로토콜의 허점을 사용하여 게임 프로토콜의 데이터 패킷을 수정하거나 재전송 (삭제)하여 스파이크 및 무적과 같은 특정 유형의 플러그인을 달성 할 수 있습니다.

크랙 버전 플러그인

기본적으로 불법 클라이언트이며 일반적으로 오프라인 중단 및 매직 수정 클라이언트의 두 가지 유형이 있습니다.

오프라인 훅은 게임 프로토콜의 분석을 바탕으로 플러그인 작성자가 개발 한 게임 클라이언트로, 오리지널 게임 클라이언트를 수정하여 마법 변형 클라이언트를 구현합니다.

플러그인 구현 원리

보조 버전 플러그인의 구현 원리

1. 전용 플러그인

대부분의 플러그인 사용 : 주입 기술을 사용하여 게임 프로세스 공간에 기능 모듈을 주입하고 기능 모듈의 입력 기능을 실행합니다. Android 플랫폼의 Zygote 주입, 직접 ptrace 주입 기술과 같은 일반적인 것, IOS의 Cydia 프레임 워크는 dylib 모듈을 주입합니다. 플러그인 기능 모듈이 게임 프로세스에 삽입되면 플러그인 기능을 구현하기 위해 후크 작업이 실행됩니다. 간단히 말해서 원래 게임 실행 로직을 파괴하는 점프 명령을 추가하고 점프 명령을 통해 플러그인 작성자가 작성한 새로운 로직 코드를 실행하는 것과 같습니다.

2. 일반 도구

a, 메모리 수정 자

지정된 프로세스의 메모리 데이터를 읽고 쓰는 방법에는 두 가지가 있습니다. 하나는 일반 함수 모듈을 게임 프로세스에 삽입하는 것이고 다른 하나는 / proc / [pid] / maps와 같은 플랫폼 로딩 메커니즘을 구현하는 것입니다. Android 플랫폼 메모리 미러링 게임에서 읽고 씁니다.

b. 전송

엔진마다 다른 Libc.so 관련 함수를 수정합니다.

c. 버튼 마법사

d. 시뮬레이터

e. 패킷 캡처 도구

하나는 하드웨어 기반이고, 네트워크 카드가 혼돈 모드에 있으면 데이터 패킷을 가로 챌 수 있으며, 두 번째는 후크를 통해 전송 및 수신 기능을 가로 채 네트워크 데이터 패킷을 얻는 것입니다.

플러그인 크랙 버전의 실현 원리

크랙 버전은 사전에 정적으로 수정 된 독립 게임 클라이언트입니다.

게임 프로토콜에 대한 이해를 바탕으로 클라이언트를 작성하는 것 외에도 플러그인을 구현하도록 클라이언트를 수정하는 것은 데이터에 따라 로직 코드와 데이터 리소스로 나눌 수 있습니다. 로직 코드의 수정은 게임 엔진과 게임 언어에 따라 다릅니다. 예를 들어 어셈블리 언어의 수정은 일반적으로 점프, 매개 변수 할당 등을 실현하는 것입니다. 데이터 리소스의 경우 원래 게임 데이터 리소스를 삭제, 덮어 쓰기 또는 교체하여 플러그인 기능을 구현할 수 있습니다.

 

모바일 게임 플러그인 기술 요약

모바일 게임 보조 플러그인 기술을 알아야합니다

  1. ARM 어셈블리
  2. C / C ++ 언어
  3. Android, iOS 개발
  4. 일반적으로 사용되는 게임 엔진 이해
  5. 정적 분석 (IDA 분석)
  6. 동적 분석 (Android, iOS 디버깅)
  7. 정적 수정
  8. 동적 수정

 

추천

출처blog.csdn.net/wyzworld/article/details/112508100