본문 바로가기
리버스 엔지니어링/AssaultCube 게임 해킹

[4편] ReClass 사용해보기

by leedg 2024. 2. 5.
반응형

포스팅에 앞서, AssaultCube와 관련된 모든 포스팅은 버전 1.2.0.2로 작성됩니다.


 

Reclass

리클래스는 치트엔진에서도 메모리 구조를 수정하거나 분석하는데 사용됩니다.

치트엔진이 아니라 리클래스를 따로 사용하는 이유는 치트엔진에서 메모리를 분석할 때보다

보기쉽게 분석을 할 수 있고, C/C++로 클래스화시킬 수 있어서 사용합니다

자세한 사항은 아래 깃허브 내에서 확인하실 수 있습니다.

https://github.com/ReClassNET/ReClass.NET

 

GitHub - ReClassNET/ReClass.NET: More than a ReClass port to the .NET platform.

More than a ReClass port to the .NET platform. Contribute to ReClassNET/ReClass.NET development by creating an account on GitHub.

github.com


Reclass 으로 게임해킹을 진행하기 위해서

오픈소스 게임인 Assaultcube 를 켜주도록 하겠습니다

AssaultCube 1.2.0.2 실행

 

 

Reclass도 켜주겠습니다

x86으로 실행해주셔야 분석이 가능합니다(게임이 32비트 게임이라서)

 

이후 Reclass에서도 치트엔진과 마찬가지로 Attach를 해주어야합니다.

아래 사진에서 ac_client.exe를 클릭해서 Attach를 해주도록 합시다.

ac_client.exe 클릭

 

Attach를 끝냈다면 이 프로그램의 간단한 설명을 해드리겠습니다.

아래 사진에서 차례대로

빨간색(00E4A470)은 주소,

검정색(Player)은  클래스의 이름입니다.

 

아래 사진에서는 차례대로

빨간색은 오프셋,

검정색은 각 오프셋주소에 들어있는 값이 Hex32로 표기되어있는겁니다.

 

 

3편에서 Local Entity Address를 찾은뒤에,

치트엔진의 Dissect data/structures 라는 기능을 사용해서 각 오프셋들의 값들을 확인할 수 있었습니다.

 

따라서 리클래스에서도 마찬가지로,  Local Entity Address의 주소를 넣어주면

각 오프셋에 담긴 값들을 보기편하게 확인할 수 있습니다.

 

아래에서 빨간색 부분을 더블클릭하고, Local Entity Address 의 주소를 넣어주겠습니다.

빨간부분 더블클릭 후 Local Entity Address 입력

 

 

그리고 3편에서 오프셋 0xF8이 체력, 0x150이 총알을 담고있는걸 확인했기 때문에,

ReClass에서도 확인을 해보겠습니다.

 

아래사진을 보면 알겠지만, 오프셋이 0x40까지만 표기가 되어있습니다.

따라서 우클릭 -> Add Bytes -> 원하는 바이트만큼 오프셋추가를 해주세요.

저는 1024 바이트를추가해주었습니다.

우클릭 -> Add Bytes -> 원하는 바이트 만큼 추가

 

그리고 아래 사진처럼 오프셋 0xF8을 직접 가보면,

100이라는 체력이 담긴 값을 직접 확인하실 수 있습니다.

 

체력이라는걸 확실히 지정하기 위해서,

우클릭 -> Change Type -> Int32로 변경해주겠습니다.

 

 

그럼 아래사진처럼 이름 지정과 값을 직접적으로 수정할 수 있습니다.

 

 

댓글