메뉴 www.fafan.kr
파판 >> NDS게시판
  • 로그인
  • NTR 치트 파일을 치트코드로 만들어보자
    작성자 : 파라판 | 조회수 : 8982 (2019-01-08 오후 8:15:42)
    ntr 디버거를 사용한 치트방법은 시간이 너무 많이걸려서 치트코드로 plg 파일을 만드는 방법이 없을까 찾아봤는데 있더군요. 저도 코드의 코자도 모르는 코드 알못이지만 한국엔 블로그든 구글이든 검색해봐도 안나오길래 방법을 공유하고자 글을 적습니다.

    출처는 

    https://gbatemp.net/threads/tutorial-building-ntr-custom-firmware-cheat-plugins-w-cheat-menu.411189/

    이고 동영상으로도 하는 법이 있으니 잘 모르시면 이걸 보시면서 따라하시면 될 듯 합니다.

    https://www.youtube.com/watch?v=wje6aXDz_f4

    먼저 준비물이 필요합니다.

    1. 파이썬

    https://gbatemp.net/threads/tutorial-building-ntr-custom-firmware-cheat-plugins-w-cheat-menu.411189/

    에서 받을 수 있고, 아래 다운로드에 보시면 자신의 컴퓨터 운영체제에 맡게 받을 수 있습니다. 꼭 2.7이어야하는지는 저도 잘 모르겠음...

    2. devkitPro

    https://github.com/devkitPro/installer/releases

    에서 받을 수 있고, 다운 받는 중간에 체크는 다 해야하는지 어쩐진 저도 잘... 전 그냥 다 체크했네요.

    3. cell9이 만든 plg 생성 소스코드

    http://gbatemp.net/threads/source-cheat-menu-plugin-demo-for-ntr-cfw.411032/

    4. 출처글의 본인이 발전시킨 샘플파일

    http://gbatemp.net/threads/source-cheat-menu-plugin-demo-for-ntr-cfw.411032/#post-5996714

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

    준비가 다 되었다면 3의 압축을 풀어줍시다. 압축을 풀면 여러 파일이 나오는데 그중 source에 들어가면 gameplg라는 파일이 있습니다. 이걸 워드패드나 기타 등등 으로 열어주면 무슨 알못 코드가 좌르륵 나오는데 그중 void freezeCheatValue 란 부분이 있습니다. 여기가 바로 치트코드를 넣는 곳입니다. 치트코드르 넣는 방법은 cheatenabled 이후에 있는 숫자를 개수에 맞게 하나씩 늘려나가면서 0x 이후 부분을 바꾸는 건데요.

    가령

    00482A7C 0000270F 

    라는 치트코드가 있다면

    if (cheatEnabled[0]) {
    WRITEU16(0x00482A7C, 0x0000270F);
    }

    이런 식으로 0x를 남기고 그 이후를 지우고 붙여넣기를 하면됩니다.

    한줄은 이렇게 하는데 두 줄은 어떻게 하냐?

    if (cheatEnabled[1]) {
    WRITEU16(0xD9000000, 0x00482910);
    WRITEU16(0xD6000000, 0x0048290C);
    WRITEU16(0xD2000000, 0x00000000);
    }

    찾아보니 이런식으로 하면 된다고 하는데 치트코드가 잘못되었는지 작동은 안하네요.
    cheatEnabled 옆에 숫자는 두번째 치트이기 때문에 1을 넣어줬습니다.

    이렇게 치트코드를 넣으면 그 치트코드의 이름을 지어야할텐데요

    스크롤을 죽 내리면 void initCheatMenu() 라는 게 있을겁니다. 그곳이 이름을 넣는 곳이고 넣는 방법은 샘플의 예시대로 하시면 됩니다. 저 같은 경우 두 치트가 콤보 9999와 비전인법 무한 이기 때문에 

    void initCheatMenu() {
    initMenu();
    addCheatMenuEntry("Highest Combo 9999");
    addCheatMenuEntry("Infinite Ninja Art");

    라고 적었습니다.

    치트코드와 이름을 다 적으셨으면. menucheat 파일로 돌아와서 startenv.batd을 실행시키면 cmd 창이 뜰텐데, 이곳에 build.bat를 쳐주면 무슨 말이 쫘르륵 뜨면서 완료가 됩니다. 이후 cheat.plg을 보면 이 파일이 덮어쓰기 되면서 다른 파일로 바뀌어 있을 겁니다. 이제 이 치트파일을 다른 치트파일 처럼 plugin 폴더에 타이틀id 폴더를 만들어주고 그곳에 넣어 사용하시면 됩니다.

    혹시라도 py 이 인식이 안된다고 나온다면 아래의 방법을 써보시길

    http://onestar.tistory.com/entry/Python-27-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

    영상엔 그냥 build.bat를 쓰던데 build.bat를 써도 상관없습니다.





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




    도배방지 : 0

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

     

    <<8182838485

    Copyright ⓒ FINALFANTASIA.COM All rights reserved.