Information Technology

MHS 툴을 이용한 메모리 모의해킹 실습 및 개념과 원리

coinAA 2021. 11. 22. 14:15

 

목차

     

    메모리 해킹의 개념

    프로그램의 동작에 관여하지 않고, 프로그램이 실행되는 데 필요한 정보를 저장해둔 메모리를 조작하는 공격이며, 게임 머니나 아이템 조작과 같이 게임 해킹에 광범위하게 사용됨, 백도어와 같은 프로그램을 설치하여 메모리에 있는 패스워드를 빼내거나 데이터를 조작하여 돈을 받는 계좌와 금액을 변경하는데 사용되곤 한다.

    메모리 해킹은 사용자가 인지하지 못하는 경우가 많고 휘발성이 강한 메모리의 특성상 흔적을 추적하기 어렵다. 또한 메모리 해킹을 막으려면 메모리 주소에 저장되는 값을 암호화해야 한다.

     

    메모리 해킹의 원리

    지뢰 찾기 게임을 통해 메모리 해킹 실습

    메모리 해킹을 하기 위해 MHS(memory hacking software)를 이용
    MHS: http://memoryhacking.com [Download] 메뉴에서 MHS6.1.rar를 내려 받아 압축을 풀고 MHS.exe를 실행

    MHS6.1.rar
    4.31MB
    지뢰찾기.exe
    0.11MB
    지뢰찾기.exe 실행
    MHS 실행 후 메모리 해킹 대상 프로그램 선택 / 지뢰찾기.exe 선택

    메모리 해킹을 할 주소 값 찾기 위해서 지뢰 찾기를 실행하면 ‘시간’ 값이 0으로 되어 있으니 ‘0’이 있는 주소 값을 찾아야 한다.

    메모리 특정 값 찾기

    [Search]-[Data-Type Search] 클릭하면 나타나는 대화상자에서 주소 값을 찾을 수 있다. Data Type는 Short로 설정 한다.

    찾는 값은 0, 값을 찾는 주소 범위는 총 주소 범위인 0x00000000~0xFFFFFFFF에서 0x00400000~0x7FFF0000으로 제한한다.
    0x00400000은 exe 파일이 실행되는 기준 메모리, 0x7FFF0000 이상 값은 프로그램이 접근하지 못하는 영역이고 OK 클릭하면 많은 메모리 주소 값이 0을 가지고 있음을 확인할 수 있다.

    메모리 내에서 0값을 가지고 있는 특정 값 찾기 결과

    시간’ 값을 가진 메모리 주소를 찾기 위해 지뢰 찾기 게임을 시작하면 시간 값이 증가한다.
    시간 값 증가를 이용하여 검색 대상 좁히기 위해서 [Search]-[Sub Search] 클릭하면 나타나는 대화상자에서 기존의 검색 값에서 시간이 증가(Increased)된 것을 찾아야 한다.

    시간초 증가를 위한 게임 시작
    기존의 확인한 대상에서 값이 증가하는 값 찾기

    결과값을 확인 시 지속적으로 증가하는 값이 없다면 위 [Search]-[Sub Search] 검색 과정을 한번 더 진행해준다.

    지뢰찾기.exe 시간초 값 결과값

    찾으려는 시간 값이 저장된 주소 값을 선택한 뒤 마우스 오른쪽 버튼을 눌러 나타나는 메뉴에서 [Modify Selected] 클릭한 후 Cur Value 값을 변경 하면 지뢰찾기 게임의 시간초가 변경된걸 확인 할수 있다.

    메모리 주소의 변경 된 값이 적용된 결과