1. A breve aggiorneremo la piattaforma di Reboot per risolvere alcuni problemi con i plug-in, quindi chiediamo ancora un po' di pazienza, Lo staff di Reboot

[SWITCH] Tutorial per la creazione dei cheats in SX OS

Discussione in 'Guide Switch' iniziata da AngelDavil88, 17 Dic 2018.

  1. AngelDavil88

    AngelDavil88 Livello 19

    Iscritto:
    31 Dic 2017
    Messaggi:
    925
    Like ricevuti:
    453
    SX OS Cheat Finder.png

    Con questo tutorial vi spiegherò come creare ed utilizzare i cheats in sx os. Prenderò l'esempio di V-Rally 4 ma si può utilizzare anche su altri giochi. Detto questo, vi chiedo la massima comprensione in quanto serviranno nello stesso momento un pc per creare il file di testo contenenti i cheats e una Nintendo Switch per trovare i valori da modificare nel gioco. Se siete pronti cominciamo.

    REQUISITI:

    - PC (qualsiasi sistema operativo)
    - Nintendo Switch (con Bootrom non patchata) con batteria carica o collegata in Dock
    - Una scheda micro SD temporanea in FAT32 con all'interno l'ultima versione di SX OS *
    - Un HDD esterno o pendrive in exFAT (facoltativo ma consigliato)
    - Qualunque gioco in versione XCI o NSP

    * Alla fine della procedura potete utilizzare la vostra scheda micro SD che utilizzate sempre (sia exFAT sia FAT32), inizialmente serve una micro SD in FAT32 per la sola ricerca dei valori.

    PROCEDIMENTO INIZIALE:

    - Avviamo qualsiasi gioco (in questo caso V-Rally 4) da micro SD in FAT32 (no exFAT) o HDD in exFAT
    - Dopodiché premiamo il tasto "Home" per ritornare alla Home, entriamo in "Album" e spostiamioci sul tab "CHEAT" per visualizzare Il "Title ID" e il "Build ID" del gioco:

    2018121718474200-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    - A questo punto su pc dobbiamo creare una cartella rinominata col "Title ID" del gioco, all'interno di essa creiamo una cartella rinominata "cheats" e dentro quest'ultima creiamo un file di testo txt rinominato col "Build ID" del gioco. Questo è quello che si otterrà:

    /010064400b138000/cheats/c07b867928055e3d.txt

    Cattura 00.PNG

    - Questo step va effettuato per tutti i giochi in cui vogliamo creare dei cheats

    TROVARE I CHEATS:

    - Ritorniamo al gioco e identifichiamo il valore che vogliamo modificare. In questo caso ho intenzione di modificare i $ che sono 1000

    2018121721065200-4B11145C8EC1A8E5FEC047427FF596CE.jpg

    - Ritorniamo alla home premendo il tasto "Home", entriamo in "Album", poi sul tab "CHEATS" e infine su "Cheats Searcher"
    - Clicchiamo su "New Cheat Search"
    - Adesso dobbiamo identificare gli bit del valore che vogliamo cercare seguendo questa tabella:

    8bit signed/unsigned value :arrowright: equivale ad un valore hex da 0 a 2 cifre alfanumeriche
    16bit signed/unsigned value :arrowright: equivale ad un valore hex da 0 a 4 cifre alfanumeriche
    32bit signed/unsigned value :arrowright: equivale ad un valore hex da 0 a 8 cifre alfanumeriche
    64bit signed/unsigned value :arrowright: equivale ad un valore hex da 0 a 16 cifre alfanumeriche

    Come facciamo a convertire il nostro valore 1000 in hex e capire a quale categoria di bit appartiene? Semplice, clicchiamo su questo convertitore online, nel campo "Decimal Value" inseriamo 1000 e clicchiamo su "Convert" per trovare il valore "Hexadecimal Value" che ci darà come risultato "3E8". Questo valore, essendo composto da 3 cifre alfanumeriche appartiene alla categoria 16bit

    - Quindi clicchiamo su "16bit signed value" o "16bit unsigned value" (non so quale sia la reale differenza ma ho preferito cliccare su signed)

    2018121721323100-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    - Dato che conosciamo il valore esatto clicchiamo su "Exact value", con le freccie "Su/Giù" componiamo il valore 03E8 (va messo uno 0 iniziale per completare il valore) e clicchiamo sul tasto "A" per avviare la ricerca:

    2018121722122900-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    2018121722124300-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    - A ricerca conclusa, un messaggio ci dirà che ci sono troppe variabili con quel valore:

    2018121722130600-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    - Quindi torniamo al gioco per far aumentare/diminuire il valore facendo qualche gara, ripetere gli step sopra e questa volta clicchiamo su "Next search" - "Exact value", inseriamo il nuovo valore in hex, usando il convertitore online di cui vi ho parlato sopra, e clicchiamo su "A" fino a che non troviamo poche variabili (meglio se una):

    2018121723005300-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    - Ora clicchiamo su "OK" e poi su "View candidates" per vedere l'indirizzo di memoria che contiene il nostro valore:

    2018121723021500-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    - Quello in rosso ci servirà per la compilazione del cheat quindi annotatevelo da qualche parte o scattate una foto

    COMPILARE IL CHEAT

    Vi ricordate il file di testo che abbiamo creato in precedenza sul PC? Bene, apriamolo e compiliamolo seguendo questo schema che vi spiegherò passo passo:

    # Code Type 0: Write to memory

    0TMR00AA AAAAAAAA YYYYYYYY

    T = width of write (1/2/4/8) :arrowright: In bit (8/16/32/64)
    M = memory type (0 = main nso, 1 = heap)
    R = register to be added as offset
    A = address relative to (M)
    Y = value

    Al posto di "T" possiamo scrivere:

    1 se vogliamo inserire un valore in hex da 0 a 2 cifre
    2 se vogliamo inserire un valore in hex da 3 a 4 cifre
    4 se vogliamo inserire un valore in hex da 5 a 8 cifre
    8 se vogliamo inserire un valore in hex da 9 a 16 cifre

    Al posto di "M" scriveremo 1 perche il nostro valore trovato è un "heap"
    Al posto di "R" scriveremo 0 o f (non ho ancora capito il perchè, ma funziona con 0)
    Al posto di "A" scriveremo 00 7d34a098 (i due 0 iniziali vanno messi per completare l'indirizzo)
    Al posto di "Y" scriveremo il valore desiderato, io ho scelto 99999999 che in hex diventa 05f5e0ff (lo 0 iniziale va messo per completare il valore)

    [Nome del cheat]
    04100000 7d34a098 05f5e0ff

    Cattura 01.PNG

    NB: Le 3 sequenze sopra devono essere sempre di 8 cifre ciascuna, se l'inidirizzo di memoria e il valore non raggiungono le 8 cifre, vanno messi degli 0 iniziali

    - Dopo aver compilato per bene il file di testo, salvate e passiamo alla parte successiva

    COLLOCARE IL FILE DI TESTO CONTENENTE I CHEATS

    - Tutti i file di testo contenenti i cheats vanno collocati nella scheda micro SD che utilizzate sempre (sia exFAT sia FAT32) nel seguente percorso:

    /sxos/titles/<titleID>/cheats/<buildID>.txt

    che, come abbiamo visto in precedenza, nel caso di V-Rally 4 diventa:

    /sxos/titles/010064400b138000/cheats/c07b867928055e3d.txt

    ABILITARE E TESTARE IL CHEAT IN SX OS

    Ora che abbiamo tutto il necessario andiamo a testare il nostro cheat:

    - Avviate il gioco (in questo caso V-Rally 4)
    - Premete il tasto "Home"
    - Entrate nell'album e scorrete fino alla voce "CHEAT"
    - Premete il tasto "A" su >Select Cheats
    - Premete il tasto "A" su >99999999$
    - A destra apparirà "ENABLED"
    - Premete il tasto "Home" e ritornate al gioco
    - Premete su "Modalità V-Rally"
    - Tornate al menù principale premendo il tasto "B" e poi "A" per confermare (*Refresh Memory)
    - Ora dovreste vedere in alto a destra 99 999 999$

    2018121716112300-4B11145C8EC1A8E5FEC047427FF596CE.jpg

    - Enjoy

    * A volte il valore non cambia all'istante quindi bisogna fare un "Refresh Memory" cioè entrare ed uscire dalle varie schermate di gioco affinché si visualizzi il vero valore da noi modificato.

    Guida scritta e testata interamente dal sottoscritto in esclusiva per Reboot.ms pertanto ne è vietata la copia al di fuori di questo sito, inoltre non mi assumo nessuna responsabilità per danni o guasti alle vostre console. Pertanto siate consapevoli che tutto ciò che fate è a vostro rischio e pericolo...!!! Un bel "Like" lo accetto volentieri, grazie...!!! :tonguewink:
     
    #1
    Ultima modifica di un moderatore: 23 Apr 2019
    A LucarVicti, Khodeus, DanoBs91 e 8 altri utenti piace questo elemento.
  2. IlVampirelloXY

    IlVampirelloXY Livello 16

    Iscritto:
    3 Feb 2016
    Messaggi:
    700
    Like ricevuti:
    299
    Bravo... la cosa mi fa sorridere una tua affermazione .
    Mi fa sorridere xche non ti sei fermato per scoprirlo. ma avrebbe potuto fare la differenza...
    un unsigned value a 16 bit rappresenta come massimo numero 65535 mente il massimo numero rappresentabile da un 16 bit signed e' un 32767.… ( nel range -32768 :arrowright: 32767)
    Alla fine la cheat e' adirritura per un 32 bit.. quindi la ricerca forse si poteva fare con 00003E8..

    :thumbsup:
     
    #2
    A AngelDavil88 piace questo elemento.
  3. AngelDavil88

    AngelDavil88 Livello 19

    Iscritto:
    31 Dic 2017
    Messaggi:
    925
    Like ricevuti:
    453
    Ecco era quello che volevo sentirmi dire. Grazie! Purtoppo non lo sapevo questa cosa del signed e unsigned! Si è vero, la ricerca si può fare anche a 64 bit aggiungendo molti 0, ma ho preferito spiegare a tutti il tipo di ricerca che piu si avvicina ai bit. Essendo un hex a 3 cifre (1000 :arrowright: 3E8) è un 16bit con uno 0 iniziale, ma poteva anche essere un 32 o 64bit con molti 0 iniziali, alla fine non cambia niente. Il valore è sempre quello!
     
    #3
    Ultima modifica: 18 Dic 2018
  4. astaroth2

    astaroth2 Livello 3

    Iscritto:
    19 Giu 2018
    Messaggi:
    59
    Like ricevuti:
    21
    Grande guida, davvero, complimenti
     
    #4
    A AngelDavil88 piace questo elemento.
  5. IlVampirelloXY

    IlVampirelloXY Livello 16

    Iscritto:
    3 Feb 2016
    Messaggi:
    700
    Like ricevuti:
    299
    A questo mondo c'e' sempre da imparare .. la cosa importante non fermarsi mai davanti agli ostacaoli e cercare una soluzione ….
    A titolo informativo .. potresti anche imbatterti in formati nomerici ancora piu' complessi .. pur sempre standarizzati … se dovessi manipolare dei dati con cifre decimali.… la rappresentazione sarebbe molto piu' complessa in mantissa ed esponente ..
    https://it.wikipedia.org/wiki/IEEE_754
    dai un occhio ….
    Se i tuoi 1000 $ fossero stati rappresentati con questo formato il valore da cercare sarebbe stato.
    447A0000 se a 32bit o
    408F400000000000 se a 64 bit.….
    http://www.binaryconvert.com/convert_float.html
    Ciao.….
     
    #5
    A Zeus piace questo elemento.
  6. AngelDavil88

    AngelDavil88 Livello 19

    Iscritto:
    31 Dic 2017
    Messaggi:
    925
    Like ricevuti:
    453
    Esattamente! Comunque facendo una conversione in binario utilizzando il Float a 32bit o 64bit il valore cambia. Spero di non battermi mai su questa complessità, ma almeno saprei come utilizzarla. Grazie mille!
     
    #6
  7. Djchubby

    Djchubby Advanced Advanced User Advanced

    Iscritto:
    1 Ago 2015
    Messaggi:
    265
    Like ricevuti:
    23
    Se la ricerca del cheat in questione, anche dopo diversi tentativi, restituisce più "candidati" (nel mio caso 4), il cheat va compilato come multiriga, una sotto l'altra, seguendo lo schema precedente?
    Per esempio, io sto cercando un cheat per cui ho ottenuto questi valori e dal quale vorrei 9999 monete (270F):

    MAIN+0x0ab9a328 (0xad)
    MAIN+0x0ab9a32c (0xad)
    MAIN+0x0af23128 (0xad)
    MAIN+0x0af2312c (0xad)

    Il cheat sarà tipo:
    011f0000 0ab9a328 0000270F
    011f0000 0ab9a32c 0000270F
    011f0000 0af23128 0000270F
    011f0000 0af2312c 0000270F

    E' corretto?
     
    #7
  8. student

    student Staff Livello 40 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.935
    Like ricevuti:
    3.939
    No, devi identificare quale dei 4 valori è quello che effettivamente contiene il valore che cerchi. Per scoprirlo ne modifichi 1 per volta finché il valore non ti cambia realmente. Capita spesso che tali valori siano associati (se modifichi uno cambia anche l'altro) ma quello che "comanda" solitamente è soltanto 1.
     
    #8
  9. AngelDavil88

    AngelDavil88 Livello 19

    Iscritto:
    31 Dic 2017
    Messaggi:
    925
    Like ricevuti:
    453
    020f0000 0ab9a328 0000270F
    020f0000 0ab9a32c 0000270F
    020f0000 0af23128 0000270F
    020f0000 0af2312c 0000270F

    Ora è corretto ma teoricamente dovrebbe essere uno solo, provali uno alla volta.
     
    #9
  10. Djchubby

    Djchubby Advanced Advanced User Advanced

    Iscritto:
    1 Ago 2015
    Messaggi:
    265
    Like ricevuti:
    23
    Oro provo a rifinire la ricerca, ma, nel caso te lo chiedessi, il trucco è per 9999 monete in Unepic! Il trucco deve per forza avere una sola riga?
     
    #10
  11. AngelDavil88

    AngelDavil88 Livello 19

    Iscritto:
    31 Dic 2017
    Messaggi:
    925
    Like ricevuti:
    453
    No anche piu righe puo avere per come hai scritto tu. Ma assicurati prima di verificarli uno alla volta.
     
    #11
  12. student

    student Staff Livello 40 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.935
    Like ricevuti:
    3.939
    No le locazioni di memoria possono anche essere "combinate" ma più dati vai a modificare contemporaneamente più rischio c'è che alcuni controlli del gioco lo facciano crashare soprattutto se Freezi un valore in una certa locazione anziché semplicemente modificarlo.

    Esempio: finito un livello il gioco trasforma in punti l'energia residua finché il conteggio non arriva a zero: se freezi l'energia questa non scalera'mai e potrebbero accadere cose strane: crash, impossibilità a finire il livello, punti che aumentano a dismisura, ecc. a seconda di quali sono gli effettivi controlli programmati in origine.
     
    #12
  13. Djchubby

    Djchubby Advanced Advanced User Advanced

    Iscritto:
    1 Ago 2015
    Messaggi:
    265
    Like ricevuti:
    23
    Proverò a rifinirlo, ma, per ora, ho sempre riscontrato 4 valori, nonostante io incrementassi il numero di monete; ora sono a 177! Mi consigliate di usare questo formato di cheat, oppure usare il formato a 64bit? Meglio signed oppure unsigned?
     
    #13
  14. student

    student Staff Livello 40 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.935
    Like ricevuti:
    3.939
    Il formato dipende dal tipo di metodo di gestione dei dati del gioco. Io ti consiglio di usare, per valori che non superano i pochi 65535 (soldi, vite, energia, ecc), 16bit unsigned. Se non te lo trova riprova con signed. Se cerchi valori maggiori usa 32bit.
     
    #14
  15. Djchubby

    Djchubby Advanced Advanced User Advanced

    Iscritto:
    1 Ago 2015
    Messaggi:
    265
    Like ricevuti:
    23
    student, grazie tante! Faccio qualche test con Unepic e Ghost 1.0!
    Solo una cosa: per qui valori che hanno l'esadecimale di due o tre cifre (200 è C8, 589 è 24D), posso anteporre uno o due zeri, a seconda del caso, oppure è sbagliato?
     
    #15
    A student piace questo elemento.
Sto caricando...

Condividi questa Pagina