Pubblicato un nuovo aggiornamento per PS4 Cheater Neo, lo strumento nato per imbrogliare sui giochi della console PlayStation 4 e PlayStation 4 Pro jailbroken.
Il programma sviluppato dal developer avan06 ci permette di scovare cheat code di giochi ed è basato su ps4debug
e .Net Framework 4.8
. Alla base dell’aggiornamento ci sarebbe l’introduzione di funzionalità sperimentali nell’editor esadecimale e nella finestra delle query.
Descrizione
- Re-layout e progettazione dell’interfaccia utente in
dark mode
. - La finestra
cheat
e la finestraquery
sono separate. Hex editor
può essere aperto dalla finestracheat
oquery
.Pointer finder
può essere eseguito dagli elenchicheat
oquery
.
SendPayload
- L’apertura del programma
PS4CheaterNeo
rileverà automaticamente seps4debug
è abilitato. - Se non è abilitato,
SendPayload
verrà eseguito per abilitareps4debug
. - Devi specificare l’indirizzo
IP
della connessione PS4 in SendPayload. SendPayload
richiede il fileps4debug.bin
conforme alla propria versione delfirmware
.- La porta è
9090
quando si utilizzaGoldHEN2.x
perEnable BinLoader Server
, la porta dello strumentoOther Bin Loader
è solitamente9021
.
ps4debug
- Devi copiare manualmente
ps4debug.bin
nello stesso percorso della directoryPS4CheaterNeo.exe\payloads\[versione FW]\
.
path\PS4CheaterNeo\bin\Debug\payloads\[FW version]\ps4debug.bin
path\PS4CheaterNeo\bin\Release\payloads\[FW version]\ps4debug.bin
- Può essere scaricato dal seguente indirizzo URL (è stato testato solo ps4debug 6.72).
ps4debug 5.05 by jogolden
ps4debug 6.72 by GiantPluto
ps4debug 7.02 by ChendoChap
ps4debug 7.55 by Joonie86
ps4debug 9.00 by Karo
ps4debug tutti i firmware (5.0X, 6.72, 7.02, 7.5X, 9.00) by ctn123
Finestra cheat
- L’elenco dei cheat può essere caricato con un file cheat e il valore del cheat può essere
modificato
ebloccato
. - L’elenco dei cheat ha un meccanismo
espandibile/comprimibile di gruppo
e ladescrizione del cheat con lo stesso inizio
verrà impostata sullo stesso gruppo. - L’elenco dei trucchi mostrerà il numero della riga.
- Supporta l’uso della
tastiera su, giù o la rotellina del mouse
per regolare il valore quando si modifica il valore cheat. - Puoi aggiungere l’indirizzo alla
Cheat List
dallafinestra delle query
odall'editor esadecimale
e può anche essere aggiunto manualmente. - Puoi copiare l’indirizzo di memoria dall’elenco dei trucchi o delle query.
- Puoi anche aprire
l'editor esadecimale
nella finestra principale e inserire manualmente l’indirizzo. - È possibile modificare il
valore di più indirizzi contemporaneamente
, selezionare più cheat e fare clic con il pulsante destro del mouse per eseguire la modifica.
Supporto per file cheat
- Cheat (
*.cht
).- PS4CheaterNeo formato speciale, ma supporta anche il caricamento (solo) dei seguenti formati:
1.5|eboot.bin|ID:CUSA99999|VER:09.99|FM:672
data
|2|ABCDE|4 byte|999|0|DescForData|30ABCDE
puntatore semplice
|pointer|fload|@7777777_3_3333333+50+0+8+1B0+64|dati|mobile|999|1|DescForPointer|
@batchcode
|data|0|0|code||offset:0x7777777 valore:0x0123456789ABCDEF size:8;offset:0xAABBCC valore:0x0123456789 size:5|0|DescForBatchcode
- Cheat Relative (
*.chtr
).- Formato speciale PS4CheaterNeo, usa indirizzi relativi quando più indirizzi cheat sono vicini tra loro.
- Cheat Json (
*.json
)(funzione sperimentale).- Formato cheat utilizzato da PS4 Trainer e GoldHEN Cheat.
Aggiunta indirizzo
- Puoi aggiungere manualmente indirizzi in
Cheat List
.
Finestra query
- L’apertura della finestra di query aggiornerà automaticamente l’elenco dei processi, se il file
eboot.bin
esiste già verrà selezionato. - Supporta query multiple di obiettivi, più finestre di query possono essere aperte contemporaneamente.
- Oltre ai tipi di query come
Byte
,Float
,Double
,Hex
e così via, supporta anche i tipi digruppo
. - Rendi più evidente la sezione del target sospetto.
- Il valore della query ignorerà l’elenco delle sezioni filtrate quando si fa clic sulla casella di controllo del filtro.
- Le regole del filtro della sezione preimpostate sono
libSce
,libc.prx
,SceShell
,SceLib
,SceNp
,SceVoice
,SceFios
,libkernel
,SceVdec
, queste regole possono anche essere personalizzate.
Funzionalità sperimentale SlowMotion e Pausa nella finestra Query
- Questa è una
funzionalità sperimentale
che richiedeAttach ps4 Debugging
. - Assicurati di
chiudere la finestra di query prima di chiudere il gioco
, altrimenti la PS4 andrà incrash
. - Assicurati di
chiudere la finestra di query prima di chiudere il gioco
, altrimenti la PS4 andrà incrash
. - Assicurati di
chiudere la finestra di query prima di chiudere il gioco
, altrimenti la PS4 andrà incrash
. - L’esecuzione di
SlowMotion
richiederà l’immissionedell'intervallo SlowMotion
(inmillisecondi
, gli intervalli più grandi saranno più lenti).
Finestra della query: annulla la scansione
- Supporta l’annullamento della scansione (ripristina il risultato della scansione precedente), è necessario abilitare
EnableUndoScan
nelle opzioni. - Il supporto mette automaticamente in pausa il gioco all’avvio della scansione nella query, è necessario abilitare
EnableScanAutoPause
nelle opzioni. - Il supporto riprende automaticamente il gioco quando la scansione è completa nella query, è necessario abilitare
EnableScanDoneResume
nelle opzioni.
Editor esadecimale: visualizzazione modificata
- Mostra immediatamente la posizione modificata durante l’aggiornamento nell’editor esadecimale.
- Supporta
auto refresh interval
quandoAuto is enabled
nell’editor esadecimale (consigliato per la rete cablata, l’impostazione corrente è ogni 2,5 secondi).
Editor esadecimale: visualizzazione decimale, float e double
- Il valore esadecimale può essere visualizzato come valore numerico, quando l’editor ByteGrouping of Hex è impostato su decimale, float o double.
- Nota: Questa funzione è solo per la visualizzazione e non supporta la modifica diretta dei valori.
- I tipi di ByteGrouping sono i seguenti:
- B01 = Size:01, Hex.
- B02 = Size:02, Hex.
- B04 = Size:04, Hex.
- B08 = Size:08, Hex.
- B16 = Size:16, Hex.
- B01Decimal = Size:01, Decimal byte.
- B02Decimal = Size:02, Decimal ushort.
- B04Decimal = Size:04, Decimal uint.
- B08Decimal = Size:08, Decimal ulong.
- B04Float = Size:04, Float.
- B08Double = Size:08, Double.
Finestra di query: Il formato del valore dell’intervallo supporta l’offset
- È possibile utilizzare un offset per immettere l’intervallo di scansione nella finestra Query.
- Formato intervallo (hex, “0x” può essere omesso):
- Min: 12345678-1000 Max: 12345678+1000.
- Min: 0x12345678-0x1000 Max: 0x12345678+0x1000.
Finestra della query: interfaccia utente del contenitore divisa comprimibile e aggiunta di SimpleValue, Not, AutoPause e DoneResume CheckBox
- Aggiunta dell’interfaccia utente del contenitore diviso comprimibile in Query e HexEditor e PointerFinder (può essere impostato nelle opzioni per abilitare o meno).
- Aggiunta SimpleValue CheckBox nella finestra della query. Quando il tipo di scansione è float o double, questa funzione può essere abilitata per ridurre i risultati non necessari.
- Aggiunto Not CheckBox nella finestra della query. Quando questa funzione è abilitata, la logica di scansione può essere invertita. Ad esempio, se il tipo di confronto è esatto e Non è abilitato, diventa non esatto.
- Aggiunti AutoPause e DoneResume CheckBox nella finestra della query, puoi determinare se abilitare o meno.
Sezione
- L’indirizzo di memoria del gioco per PS4 è la posizione iniziale della sezione specifica più il relativo valore di offset.
- La posizione iniziale delle sezioni è dinamica e cambierà ogni volta che avvii il gioco o carichi il salvataggio del gioco o semplicemente passi attraverso una scena del gioco.
- Questo programma ricaricherà le sezioni quando esegue il blocco o aggiornerà i cheat code per assicurarsi che siano corretti.
Sezione ID
- Per elaborare gli indirizzi di memoria, il programma deve utilizzare
SectionID
per ottenere la sezione corrispondente.
La regola originale di PS4_Cheater per stabilire la SectionID è quella di ordinare le sezioni dall’indirizzo più basso a quello più alto e ottenere il valore di conteggio come Sezione ID.
Ad esempio, se il SectionID è 100, verrà letta la sezione nella 100esima posizione.
Qual è il problema? Quando il numero delle Sezioni è basso, l’ordine non sarà sbagliato, ma se il numero delle Sezioni va da cento a più di mille è facile ottenere la Sezione sbagliata, perché il gioco viene avviato in momenti diversi, il il valore della sezione cambia spesso.
- Questo programma tenta di creare un SectionID che può corrispondere correttamente a una sezione in momenti diversi.
- SectionID è abbreviato come SID di seguito e le sue regole di codifica sono le seguenti (regole stabilite
prima della 0.9.5.5-beta
):
- Il
primo codice
è idx utilizzato per contare più sezioni generate dalla stessa MemoryEntry. - Il codice dal
3° al 6°
è sIdx continuerà a contare fino a quando il valore Prot non cambierà e verrà ripristinato. - Il codice dal
7° all'8°
è ProtCnt che conterà quando il valore di Prot cambia. - Il
9° codice
è il TypeCode quando la Sezione ha un nome è 1, altrimenti è 2.
- Dopo un po’, ho scoperto che le regole di cui sopra non sono ancora sufficienti e le nuove regole di codifica dalla 0.9.5.5-beta sono le seguenti:
- Il
primo codice
è idx utilizzato per contare più sezioni generate dalla stessa MemoryEntry. - Il codice dal
3° al 5°
è sIdx continuerà a contare fino a quando non cambia HighBits o TypeCode o Prot, verrà ripristinato. - Il
sesto codice
è ProtCnt che conta quando il valore Prot cambia e si azzera quando cambia TypeCode. - Il
7° codice
è il TypeCode quando la Sezione ha un nome è 1, altrimenti è 2. Dall'ottavo al decimo codice
è HighBits che sarà preso dai bit di ordine superiore dell’indirizzo, come AB12345678 => 171(AB).
- Il salvataggio aggiornerà automaticamente il valore SID durante il caricamento di file cheat cht da versioni precedenti.
- Per esempio:
- Se l’indirizzo di destinazione che abbiamo trovato è
3890012345
, la sua Sezione è3890000000
e il relativo indirizzo è12345
. L’attuale tabella della sezione è la seguente:
AddrStart Prot count SIDv1 SID
34E6200000 3 1076 200006300 522000600
34E7800000 3 1077 200006400 522000700
3890000000 3 1078 200006500 562000000 <-- Section of the destination address
3890200000 3 1079 200006600 562000100
3890600000 3 1080 200006700 562000200
- Ogni Sezione non esiste ogni volta, causando un aumento o una diminuzione del numero totale di Sezioni, supponiamo che la prossima volta che avvierai il gioco,
aggiungi la Sezione 34EA200000
e il suo SID cambierà nel seguente usa “count o SIDv1
” del precedente salva e otterrai la sezione sbagliata.
AddrStart Prot count SIDv1 SID
34E6200000 3 1076 200006300 522000600
34E7800000 3 1077 200006400 522000700
34EA200000 3 1078 200006500 522000800 <-- Suppose this Section is added when the game is started this time, using count or SIDv1 will get the wrong Section
3890000000 3 1079 200006600 562000000 <-- The actual Section of the destination address
3890200000 3 1080 200006700 562000100
3890600000 3 1081 200006800 562000200
Gruppo ScanType
- Utilizzare
group search
quando si conosce già la struttura dei dati del target della query. - Formato di input: [
ValueType
1:]ValueNumber
1 [,] [ValueType
2:]ValueNumber
2 [,] [ValueType
3:]ValueNumber
3… ValueType
può essere1
(Byte),2
(2 Byte),4
(4 Byte),8
(8 Byte),F
(Float),D
(Double),H
(Hex) o non specificato.ValueType
è preimpostato su 4 byte quando il tipo di valore non è specificato.ValueNumber
può essere specificato come un asterisco(*
) o da un punto interrogativo(?
) quando il valore è sconosciuto.- Il delimitatore può essere virgola(
,
) o spazio(
Gruppo ScanType tipi non specificati
- Il tipo di letterali in una ricerca di gruppo può essere determinato automaticamente dal suo
suffisso o prefisso o caratteri specifici
come segue (senza distinzione tra maiuscole e minuscole
): - Il letterale con il
suffisso u o ul, lu
è di tipoulong(8 Bytes)
. - Il letterale con il
suffisso f
è di tipofloat
. - Il letterale con il
suffisso d
è di tipodouble
. - Il valore letterale con il
prefisso 0x
è di tipoHex(esadecimale)
. - Il valore letterale contiene un
punto decimale (.)
il carattere è di tipofloat
. - Il valore letterale contiene
caratteri a~f
è di tipoHex(esadecimale)
quando non viene analizzato come float e double. - Altri valori letterali di
tipi non specificati
, per impostazione predefinita il tipouint(4 byte)
.
Esempio:
Supponendo che la struttura del target sia 63 00
E7 03 00 00
AB CD 00 00
00 01
Group scan
può essere inserita come 2:99 999 ? 2:256
Supponendo che la struttura del target sia 02 00
AB CD
E7 03 00 00
01 00 00 00 00 00 00 00
Group scan
può essere inserita come 2:2
2:?
e7030000
1u
Hex Editor
- Visualizza i valori delle informazioni dettagliate del valore dell’indirizzo della posizione corrente del cursore.
- Resi più evidenti i valori degli indirizzi maggiori di zero.
- Puoi aggiungere l’indirizzo in
Cheat List
dalla posizione corrente del cursore. - La posizione di scorrimento corrente non verrà modificata durante l’aggiornamento dell’editor esadecimale.
- Diventa rosso quando viene modificato un valore di indirizzo e verde dopo il commit.
- Possibilità di copiare e incollare valori esadecimali.
- Possibilità di disassemblare i valori esadecimali correnti e visualizzarli.
- Immettere assembler e visualizzare come valore esadecimale.
Pointer finder
- Fatto in modo che
l'indirizzo di base
del puntatore si trovi nellasezione eseguibile
quando si fa clic suFastScan
. - Se non ci sono risultati, puoi provare a fare clic su
NegativeOffset
. - Il finder salterà l’elenco delle sezioni filtrate quando viene selezionata la casella di controllo
filter
. - Le regole del filtro della sezione preimpostate sono
libSce
,libc.prx
,SceShell
,SceLib
,SceNp
,SceVoice
,SceFios
,libkernel
,SceVdec
, anche queste regole possono essere personalizzate.
Opzioni
Aggiunta la finestra delle opzioni, puoi regolare alcune impostazioni del programma.
- Generale.
- PS4IP: Inserire l’indirizzo IP della PS4.
- PS4Port: Inserire la porta della PS4.
- PS4FWVersion: Inserire la versione del firmware in uso sulla PS4 (conferma la versione fw solo quando esegui sendpayload).
- Cheat.
- CheatCellDirtyValueCommit: Determina se scrivere automaticamente su PS4 durante la modifica dei valori cheat in UpDown,
Default enabled
. - VerifySectionWhenRefresh: Determina se abilitare la verifica dei valori della sezione durante l’aggiornamento dell’elenco cheat,
Default enabled
. - VerifySectionWhenLock: Determina se abilitare la verifica dei valori della sezione quando si bloccano gli elementi cheat,
Default enabled
.
- CheatCellDirtyValueCommit: Determina se scrivere automaticamente su PS4 durante la modifica dei valori cheat in UpDown,
- Query.
- AutoPerformGetProcesses: Determina se abilitare l’esecuzione automatica dei processi di recupero all’apertura della finestra Query. Predefinito abilitato.
- DefaultProcess: Imposta il programma selezionato predefinito quando si eseguono processi di recupero. L’impostazione predefinita è
eboot.bin
. - MaxQueryThreads: Inserire il numero di thread da utilizzare durante la query. Il valore predefinito è di 3 thread.
- MinResultAccessFactor: Accesso al valore direttamente per indirizzo quando il numero di risultati della query per la stessa sezione è inferiore a questo fattore, utilizzato per controllare se leggere i dati della sezione completamente o accedere direttamente al valore per indirizzo, il valore predefinito è 50.
- EnableFilterQuery: Determina se abilitare il filtraggio delle sezioni all’apertura della finestra della query, Default abilitato.
- SectionFilterKeys: Inserisci il valore del filtro, il filtro verrà impostato qui quando si elencano le sezioni.
- SectionFilterSize: Filtra quando la dimensione della sezione è inferiore a questo valore (l’unità è byte), l’impostazione predefinita è 204.800.
- MaxResultShow: Inserisci il numero massimo di risultati della query visualizzati. influenzerà solo il numero di risultati visualizzati in ResultView, il valore predefinito è
8192
. - QueryBufferSize: Imposta la dimensione minima del buffer (in MB) nelle query e nel pointerFinder, inserisci 0 per non utilizzare il buffer, l’impostazione di questo valore su 0 è migliore quando il numero totale di sezioni nel gioco è basso. Se il gioco ha più di mille Sezioni, è necessario impostare il Buffer.
- EnableUndoScan: Determina se abilitare l’annullamento della scansione (ripristinare il risultato della scansione precedente), se abilitato, è necessario utilizzare più memoria durante la scansione. Abilitazione predefinita.
- EnableScanAutoPause: Determina se sospendere automaticamente il gioco all’avvio della scansione nella query. Predefinito disabilitato.
- EnableScanDoneResume: Determina se riprendere automaticamente il gioco al termine della scansione nella query. Predefinito disabilitato.
Changelog
Aggiunte diverse funzionalità sperimentali come segue:
- Aggiunta dell’interfaccia utente del contenitore diviso comprimibile in Query e HexEditor e PointerFinder (può essere impostato nelle opzioni per abilitare o meno).
- Aggiunta SimpleValue CheckBox nella finestra della query. Quando il tipo di scansione è float o double, questa funzione può essere abilitata per ridurre i risultati non necessari.
- Aggiunto Not CheckBox nella finestra della query. Quando questa funzione è abilitata, la logica di scansione può essere invertita. Ad esempio, se il tipo di confronto è esatto e Non è abilitato, diventa non esatto.
- Aggiunti AutoPause e DoneResume CheckBox nella finestra della query, puoi determinare se abilitare o meno.
- Aggiunti più parametri delle opzioni come segue:
- EnableCollapsibleContainer:
Determina se abilitare l’interfaccia utente del contenitore diviso comprimibile nelle finestre Query e HexEditor e PointerFinder. Predefinito abilitato. - EnableCheatLock:
Determina se abilitare il blocco cheat nella finestra principale. Predefinito abilitato. - FloatingSimpleValueExponents:
Determina il valore degli esponenti del valore semplice di floating.
Questo valore di opzione viene utilizzato nella finestra della query quando SimpleValues per numeri in virgola mobile è abilitato.
Cheat Engine è impostato su 11 (da 2 a 11a potenza = 2^11 = più o meno 2048). Il valore predefinito è 11. - EnableAutoRefresh:
Determina se abilitare l’aggiornamento automatico in HexEditor. Predefinito disabilitato. - AutoRefreshTimerInterval:
Determina l’intervallo di AutoRefreshTimer quando AutoRefresh è abilitato, in millisecondi, HexEditor deve essere riavviato dopo la modifica di questo valore. Predefinito 2500.
Download: PS4 Cheater Neo v0.9.7.3-beta
Download: Source code PS4 Cheater Neo v0.9.7.3-beta
Fonte: github.com