【3DSチート入門①】必要最低限の知識

3DSチート

はじめに

3DSチート入門記事第一回

自分でチートを作りたい!って方に向けて、必要なことを1から解説していきます

私自身そんなに詳しい訳じゃないので、間違いや説明不足な事があるかもしれません

あまり鵜呑みにせず、参考程度に読んでいただければと思いますw

前提

3DSに、

CFW(カスタムファームフェア)

CTRPF(CTRPluginFramework)

をどちらも導入済みであること

CFWは最新のものをググって導入してください

CTRPFは以下の記事が大変わかりやすいです

メモリについて

ここから本題

今回は必要最低限の知識を書きます

何のゲームでも構わないので、CTRPFのメニューを開く

Tools → Hex Editor を選択

Hex Editorが開かれる

これはゲームの中身であるメモリを覗いて編集できるツールです

メモリには、カセットのROMデータ本体保存のセーブデータ、などゲームに必要なデータを読み込み、さらにゲームの現在の状態を表すのに必要な情報も保存している物と思います

つまりこのメモリを書き換えることで、ゲームを思いのままに制御できるって訳です

(メモリの続き)アドレスと値について

メモリには、実際のデータであると、その場所を指し示すアドレスがある

上の画像の場合、アドレス100000には値07が格納されており、100001に値00、100002に値00、100003に値EBと続いていく

但し、100009の次は100010ではなく10000Aとなり、B→C→D→E→Fと数えられた後に100010となる

これについては次で説明

進数とバイトについて

コンピューターは電気信号のONとOFF、値にすると0か1しか理解できないので、ゲームのデータも0と1のみで表されている

0は0、1は1、2は10、3は11、4は100、5は101、6は110、と、0と1だけで数字を表し、繰り上がっていくのが2進数と呼ばれるコンピューターの数字の数え方

この、0と1で2通りのデータを表すことができる1桁(2進数の1桁)をbitと呼ぶ

このままだと人間が理解するのは難しいので、この1bitを8桁で1byteとして1つの単位にし、1byteにつき2の8乗で256通りのデータを表すことで人間でも理解しやすくしている

Hexエディタで覗いたメモリもbyte単位で値が格納されており、256通りの値を2桁で表せるように、16で1桁繰り上がる、16進数が使用されている

16で1桁上がるということは数字が6つ足りないので、代わりにABCDEFがそれぞれ10,11,12,13,14,15の代わりとして使用されている

まとめると、10進数は10で繰り上がる我々が普段使用している数字の数え方で、16進数が16で繰り上がるチートで使用する数字の数え方って抑えればokです

おまけ

10進数と16進数で見分けがつくように、16進数は頭に0xをつけて表したりする

10進数での32を16進数で表したかったら、0x20となる

他にも、16進数(hexadecimal)の頭文字hを後ろにつける場合もある

チートコードとかで16進数で+20してくださいって意味の+20hとか

コメント

  1. 【3DSチート入門①】必要最低限の知識 | blog.mh4.jp
    ifsbevti http://www.g50uq55lmplr30yrm3699h4a50787jccs.org/
    aifsbevti
    [url=http://www.g50uq55lmplr30yrm3699h4a50787jccs.org/]uifsbevti[/url]