dnspy와 LDplayer를 이용한 해킹

KHW·2020년 12월 8일
1

학교_과제

목록 보기
3/10

1. dnspy란?

디컴파일러이자 디버깅 툴 (디버깅 관련 프로그램)

해당 프로그램을 실행 후 그 프로그램 안에 기존에 있던 apk파일의 게임을 넣으면 그에 해당하는 코드들이 나타난다.

이때 내가 수정해야 할 부분은 Assembly-CSharp 부분의 내용이다.

이 부분에서 주된 내용을 보면 CompleteProject 내용에서 필요한 기본 내용들이 존재하는데

1) 초기 점수 바꾸기 : Assembly-CShap.dll에서 ScoreManager라는 위치의 값인 ScoreManager.score = 0을 원하는 숫자로 바꾸어 시작점수를 바꾼다.

2) 체력 바꾸기 : Assembly-CShap.dll에서 PlayerHealth라는 위치의 값인 startingHealth를 기존값에서 훨씬 큰 숫자인 100000으로 변경

3) 사망하지 않게 하기 : Assembly-CShap.dll에서 PlayerHealth와 관련한 Death()라는 위치의 값인 this.isDead를 true에서 false로 설정하여 죽는 것 자체를 막는다.

1)

2)

3)

구체적인 수정하는 방법

  1. 코드부분에서 우클릭을 누르면 edit-method가 나타나는 부분을 클릭하여 원하는 값을 수정해준다.
  2. 오른쪽 아래에 compile 버튼을 클릭한다.
  3. 좌측상단 file-saveall을 실행한다.
  4. 수정을 통해 저장한 dll 파일을 얻는다.
  5. 기존의 apk파일을 우클릭을 한 후 '압축파일 미리보기'를 클릭하여 이를 보고 해당하는 파일의 위치에 수정된 파일을 덮어씌워준다.
  6. 덮어씌워진 apk 파일은 ldplayer에 드래그하여 적용시킨다.

5.(내용에 해당)

2. LDplayer 사용법

LDPlayer는 컴퓨터에서 모바일 게임을 쉽게 즐길 수 있게 해 주는 무료 안드로이드 앱플레이어입니다.

드래그를 통해 설치 후 실행하고 apk를 실행한다.

수정된 apk의 경우 시작부터 점수의 값이 수정된 코드의 수치값으로 시작되고 캐릭터가 몬스터에 닿아도 체력을 급상승하여 데미지가 입지않고 죽지않게 설정하여 아예 죽지도않는 apk 파일로 만들어냈다.

시작화면에서 점수가 987650

후기 : 처음에는 어려웠으나 알고보면 그렇게 어려운 부분은 없는 과제였었다.

profile
나의 하루를 가능한 기억하고 즐기고 후회하지말자

0개의 댓글