메뉴 www.fafan.kr
파판 >> NDS게시판
  • 로그인
  • [고오급편] NTR Debugger와 Cheat Engine을 이용하여 치트를 만들어보자.
    작성자 : Akaikarus | 조회수 : 21064 (2016-08-08 오후 12:56:55)
    이전 글인 [NTR을 이용하여 자신이 치트를 만들어보자. http://fafan.kr/board/view.aspx?id=ndsbbs&rno=12557]
    글을 쓰고 다음과 같이 댓글이 달렸습니다.

    리듬천국에서 챌린지 모드 횟수를 고정시키고 직접 도전하려고 하는데,
    기차의 체력이 3칸인지라 3으로 검색한 뒤, 일부러 체력 떨구고 2로 했는데 검색이 안되는군요...

    이에 조금 더 어렵기는 하지만 확실하게 값을 찾을수 있는 방법을 구글링으로 찾아보고 연구를 해보았습니다.
    그리고 발견한것이 해당 부분을 덤프를 떠서 값을 찾는 방법이었습니다.
    그러나 게임의 현 상황을 덤프를 떠서 수정할수 있는 NTR Debugger로는 명령어에 약간 한계가 있어서 추가적으로 프로그램을 사용했습니다.

    *주의사항*
    과도한 치트는 게임의 재미를 저 머나먼 우주의 안드로메다로 승천시킵니다.
    매우 중요하므로 진지한 궁서체로 씁니다.

    -------------------------------------------------------------------------------------------

    본 게시물에서는 Puzzle & Dragons Z + Super Mario Bros. Edition를 이용하여 설명됩니다.

    선행 준비사항: 3DS에 NTR 3.2이상이 설치 되어있어야 합니다.

    준비물: NTRDebuggerTool(NTR Cheat Tool)(링크), .Net Framework 4.5, NTRDebugger(NTR Client)(링크), Cheat Engine 6.4
    *NTR Debugger와 NTR Debugger Tool은 다른 프로그램입니다.*

    1. 3DS상에서 NTR을 실행한뒤 게임을 실행합니다.
    2. 게임이 실행된뒤 치트를 적용할 세이브를 불러온후 Hotkey(초기 설정: X+Y)를 눌러서 NTR 메뉴로 진입합니다.
    3. NTR 메뉴에서 Enable Debugger를 선택한뒤 PC에서 NTRDebugger를 실행합니다.


    4. 아래의 텍스트박스에 connect('자신의 3DS IP', 8000)을 적고 엔터를 눌러줍니다.


    *정상적으로 연결되면 아래와 같은 코드가 출력됩니다.*
    null
    Server connected.

    5. 정상적으로 연결이 되었다면 listprocess()를 입력하고 엔터를 누르시면 약간의 시간이 소요된 후 아래의 사진처럼 프로세스 명들이 길게 나열됩니다.


    여기서 우리가 주목해야 할 부분은 게임이 실행된 프로세스입니다.
    대부분 pname에 게임명이 뜨지만 알아보기가 힘든경우 tid를 주목하시면 됩니다.
    tid에 Title ID가 뜨므로 자신이 실행한 게임의 Title ID를 찾으시면 됩니다.
    *본 게시물에서는 Puzzle & Dragons Z를 기준으로 작성하였습니다.*
    *고로 pname은 PuzDra_r이며 tid는 000400000015a700입니다.*

    자신이 실행한 게임의 pname과 tid를 확인하였다면 pid를 주목합니다.
    pid는 Process ID이며 실행된 순서에 따라 pid가 부여됩니다.
    *본 게시물에서는 0x00000028에 게임이 실행되어있습니다.*

    6. memlayout(자신이 실행한 게임의 pid)를 입력합니다.
    *pid가 0x00000028이라면 memlayout(0x28)이라고 입력하시면 됩니다.*
    *0x이후부터의 0들은 생략가능합니다.*


    위처럼 주소값의 범위들이 출력되 되었다면 우리가 주목할 부분은 size부분입니다.
    대게 게임들은 실행을 하고 플레이중인 부분의 size가 다른 범위값에 비해 비교적 큽니다.
    그러나 일부 게임에서는 이 범위값이 매우 다르므로 처음 지정한 범위값에서 검색하고자 하는 값이 안나올 경우 다른 범위값들을 이용하여 검색하셔야 합니다.
    위의 사진에서는 14000000 - 178c5fff의 범위값의 size가 제일 크게 잡혀있습니다.
    고로 우리가 주목할 범위값은 14000000 - 178c5fff입니다.

    7. 찾은 범위값부분을 덤프를 하기 위해 data(범위 시작값, size값, filename='저장될 파일명', pid=게임 실행 pid)를 입력합니다.
    *본 게시물에서는 다음과 같이 입력되었습니다.*
    *data(0x14000000, 0x38c6000, filename='data.bin', pid=0x28)*
    *덤프 과정에서 시간이 상당한 시간이 소요되니 프로그램이 멈추더라도 인내심을 가지고 기다립니다.*
    *덤프 중에는 일절 게임을 조작하지 마시기 바랍니다.*
    *덤프 진행중에는 하단에 몇%가 진행되었는지 표시 됩니다.*


    8. 덤프가 완료되면 NTRDebugger가 있는 폴더에 덤프가 된 파일이 생성됩니다.
    *본 게시물에서는 data.bin으로 지정된 파일이 생성되었습니다.*


    9. 이제 Cheat Engine을 실행하시고 File - Open File을 들어가셔서 덤프된 파일을 열어주시면 위쪽의 게이지바 바로 위의 텍스트가 Physical Memory로 바뀝니다.


    10. 이제 치트를 할 값을 알고있다면 Value부분에 해당 값을 입력하고 First Scan 버튼을 눌러서 값을 찾습니다.
    만일 값이 여러개가 출력이 된다면 게임상에서 변경할 값부분을 변동하신뒤에 7번 과정의 덤프를 다시 해주신뒤 Cheat Engine에서 처음 검색한 상태에서 다음 덤프파일을 불러오신뒤에 검색을 진행하시면 됩니다.

    *7번 과정에서 덤프했던 파일과는 다른 이름으로 덤프를 하셔야 합니다.*
    ex) 초기 덤프 파일명이 data.bin이었다면 두번째 파일명은 data1.bin으로 덤프
    *만일 동일 이름으로 덤프 시도시 덤프 완료 후 에러를 출력합니다.*
    ex) 초기 덤프 파일명이 data.bin이며 두번째 덤프시 파일명을 data.bin으로 덤프를 시도했다면 덤프가 완료됨과 동시에 에러출력

    ex) 초기 검색당시의 HP가 1000이었으며 Cheat Engine에서 검색시 1000이라는 값이 100개 이상이 발견.
    게임상에서 데미지를 입고 HP가 950이 되었으며 NTRDebugger로 다시 덤프를 한뒤 Cheat Engine상에서 두번째 덤프 파일을 불러온뒤 950이라는 값으로 Next Scan.

    11. 위의 과정을 통해 값을 찾았다면 찾은 값의 Address를 메모장같은곳에 적어둡니다.
    *본 게시물에서는 01E10370이라는 Address를 찾았습니다.*

    12. 이제부터 16진수 계산을 해야합니다.
    자신의 찾은 값에 14000000을 16진수로 더해줍니다.
    *16진수 계산이 어려우신분들은 윈도우 계산기(calc)에서 보기(V) - 프로그래머용(P)으로 전환한뒤에 Hex 옵션을 체크 하시고 계산하시면 됩니다.*
    *본 게시물에서는 14000000 + 01E10370 = 15E10370이라는 값이 나왔습니다.*

    13. 이제 NTRDebugger를 반드시 종료하신뒤에 NTR Debugger Tool(NTR Cheat Tool)을 실행한후 3DS와 연결하시고 Process를 설정합니다.
    *이 부분은 이전 게시물을 참고하시면 됩니다.*


    14. 우측의 영역에 마우스 오른쪽 클릭을 하신뒤 New를 누르시면 새로운 입력칸이 생성됩니다.
    Address부분에 자신이 찾은 주소값
    Value부분에 자신이 변경할 값
    Type에는 Bytes
    입력 순서는 Type를 먼저 바꾸시고 Address를 입력하신뒤에 Value를 입력하셔야 합니다.
    안그러면 에러를 출력하면서 프로그램이 종료되니 이점 유의 바랍니다.

    15. 이제 게임상에서 변경할 값에 변동을 준 뒤에 치트가 적용되었는지 확인합니다.

    16. Enjoy Game





    글쓰기 | 수정 | 삭제 | 목록   

    Lv.5 살람쿰마 (2016-08-08 17:51:17)
    크으 좀따 해봐야겠네요

    좋은 정보 감사해요ㅎㅎ
    Lv.5 리락쿠마키치 (2016-08-09 15:00:07)
    아마 저는 못하겠지만... 추천 한 방 쏴드립니다 ㅋㅋㅋㅋ
    Lv.5 왓순 (2016-08-12 23:49:13)
    7번과정 bin을 잘못 부르면 뜨는게 scan error: thread 3: access violation 인가요?ㅜㅜ
    Lv.4 Akaikarus (2016-08-14 14:07:26)
    크흠.....저도 처음보는 경우네요.....
    일단 지금 해당 에러문구만으로 추측 가능한 상황은 다음과 같습니다.

    1. 파일의 접근 권한 상승필요.
    Cheat Engine을 관리자 권한으로 실행하고 파일을 불러와보시기 바랍니다.

    2. 잘못된 덤프 파일.
    다시 덤프를 시도해보시기 바랍니다.

    3. 하드 디스크의 여유공간 부족.
    Cheat Engine 포럼을 찾아보니 간혹 디스크 용량 부족이 뜨면 엑세스 위반 메세지가 출력한다는것을 확인했습니다.

    정확한 상황을 설명해주시면 확인해보겠습니다.
    Lv.4 잇츠 (2016-10-30 15:08:42)
    사진은 안보이지만 잘 해보겠습니다.
    정보 대단히 감사합니다!
    Lv.4 360탐험대 (2017-04-19 00:11:36)
    너무어려워보이네요 에휴,,,
    사진도안보이궁,,ㅋㅋ
    추천하고갑니다
    근데...
    a9 커피도 치트가능한건가요?



    도배방지 : 0

    글쓰기 | 수정 | 삭제 | 목록   

     

    <<556557558559560

    Copyright ⓒ FINALFANTASIA.COM All rights reserved.