Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-06-2004, 18:39   #21
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
me sono già riuscito a scrivere (la funzione mi restituisce "1" quindi..penso di aver il permesso) il problema è che non so dove ho scritto!!!



Non so perchè io ho i riferimenti in HEX (come tutti gli indirizzi di mem) mentre la funzione accetta un long... che è definito come


lpBaseAddress
[in] Pointer to the base address in the specified process to which data will be written. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access. If this is the case, the function proceeds; otherwise, the function fails.


Cosa devo fare per metterci dentro l'HEx che ho io?
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 20:47   #22
ariagiovannifanboy
Member
 
Iscritto dal: Dec 2002
Messaggi: 40
Allora,

premetto che non so nulla di Visual Basic quindi se ho scritto qualche cacchiata perdonami :-)

in lpBaseAddress ci devi mettere appunto l'indirizzo di base da dove iniziare a scrivere (come diceva giustamente cionci), scrivilo pure in "HEX", l'Hex non è altro che una notazione, che tu scriva in hex[esadecimale] o in decimale è indifferente.

lpBuffer è l'indirizzo di memoria dove la funzione va a leggere i byte che vuoi scrivere

nSize il numero di byte che vuoi scrivere

lpNumberOfBytesWritten il numero di byte che WriteProcessMemory ha scritto (puoi anche non passarlo)

Ciao
__________________
www.arialinks.com
ariagiovannifanboy è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 20:52   #23
ariagiovannifanboy
Member
 
Iscritto dal: Dec 2002
Messaggi: 40
Quote:
Originariamente inviato da ariagiovannifanboy
Allora,

premetto che non so nulla di Visual Basic quindi se ho scritto qualche cacchiata perdonami :-)

Quote:
quel Address che è definito come Long può essere ricollegato all'indirizzo di memoria relativo al processo.
Si =)

in lpBaseAddress ci devi mettere appunto l'indirizzo di base da dove iniziare a scrivere (come diceva giustamente cionci), scrivilo pure in "HEX", l'Hex non è altro che una notazione, che tu scriva in hex[esadecimale] o in decimale è indifferente.

lpBuffer è l'indirizzo di memoria dove la funzione va a leggere i byte che vuoi scrivere

nSize il numero di byte che vuoi scrivere

lpNumberOfBytesWritten il numero di byte che WriteProcessMemory ha scritto (puoi anche non passarlo)

Ciao
__________________
www.arialinks.com
ariagiovannifanboy è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 20:53   #24
ariagiovannifanboy
Member
 
Iscritto dal: Dec 2002
Messaggi: 40
Mi sono auto quotato.. ehm ops
__________________
www.arialinks.com
ariagiovannifanboy è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 09:00   #25
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Mi dispiace alquanto, ma non mi risulta!

Almeno con il programma che ho io per vedere la memoria dei processi non sono riuscito a vedere nessun cambiamento nell'indirizzo che mi sono inserito.

Tra l'altro il valore in Hex io l'ho inserito come Stringa (TExtBox) come fa lui a capire che quello è un val in Hex?
Anche se converto l'Hex in Decimale e poi lo butto dentro non funziona.
Non è che per caso lui accetta stringhe, long, di tutto come indirizzo e poi le converte tutte in un numero?

Grazie
beog è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 09:04   #26
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi convertire la stringa in numero... Questo senza dubbio... Altrimenti non ti funziona una cippa... HEX o dec non conta niente (basta usare l'opportuna notazione), basta convertire la stringa in numero...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 09:35   #27
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Raga sono riuscito a vedere qualcosa, però non ci capisco molto.

vi descrivo quello che ho fatto:


Siccome il parametro Address deve essere scritto in Unicode ho dovuto convertire prima la Stringa dell'address:

indirizzoPerFunzione = StrPtr(indirizzoLetto)

Dopo l'ho buttata dentro la funzione e mi sono fatto restituire in MsgBox questo:
MsgBox CLng(indirizzoPerFunzione)

Ho convertito il valore numerico in Hex e ho guardato nella locaz relativo e... è cambiata!!!

Ora il mio problema è:
Questo StrPtr che è OBLIGATORIO (ho provato ad ometterlo e non va più la funzione), mi scombina tutto perchè come paramentro vuole solo stringhe e quindi quando butto dentro un numero DEc 124513 lui me lo converte in Stringa con consegente alterazione del valore!

Come faccio a scrivere un valore in Unicode senza usare StrPtr?

Esiste una funzione inversa?

Grazie


PS:

Ho provato anche a fare:

Text1.text = StrPtr("Ciao Mondo!")

E ogni volta text1 cambia valore (continuano ad alternarsi 3 valori)
Che cos'è?

Ultima modifica di beog : 04-06-2004 alle 09:44.
beog è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 10:01   #28
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Con un po' di fantasia non ci voleva tanto a farsela la funzioen
Codice:
Function Hex2Dec(txt As String)
    Dim base As Long
    base = 1
    Hex2Dec = 0
    For i = Len(txt) To 1 Step -1
        If Mid(txt, i, 1) = "A" Or Mid(txt, i, 1) = "a" Then
            Hex2Dec = Hex2Dec + base * 10
        ElseIf Mid(txt, i, 1) = "B" Or Mid(txt, i, 1) = "b" Then
            Hex2Dec = Hex2Dec + base * 11
        ElseIf Mid(txt, i, 1) = "C" Or Mid(txt, i, 1) = "c" Then
            Hex2Dec = Hex2Dec + base * 12
        ElseIf Mid(txt, i, 1) = "D" Or Mid(txt, i, 1) = "d" Then
            Hex2Dec = Hex2Dec + base * 13
        ElseIf Mid(txt, i, 1) = "E" Or Mid(txt, i, 1) = "e" Then
            Hex2Dec = Hex2Dec + base * 14
        ElseIf Mid(txt, i, 1) = "F" Or Mid(txt, i, 1) = "f" Then
            Hex2Dec = Hex2Dec + base * 15
        Else
            Hex2Dec = Hex2Dec + base * CLng(Mid(txt, i, 1))
        End If
        base = base * 16
    Next
End Function

Private Sub Command1_Click()
    Dim v1 As Long
    v1 = Hex2Dec(Text1.Text)
    Text2.Text = "" & v1
End Sub
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 11:29   #29
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Ma la funzione inversa a StrPtr non per l'Hex!
Cmq la funzione inversa prob non esiste... resta che io sto StrPtr non lo capisco!



Sono riuscito a imbroccare l'indirizzo... ora come cambiarlo?
Provando a fare così:


WriteProcessMemory (processHandle, Indirizzo(Long), stringaDaScrivere(Long), 6, vbNullString)


mi cambia le 6 locazioni (giustamente)

ma però se io su stringaDaScrivere gli do "0" (poi la converte con CLng)
Dovrebbe darmi "00 00 00 00 00 00" invece non cambia niente!

Se invece io cambio la dichiarazione della stringa con:
stringaDaScrivere = Clng(StrPtr(TExt3.text))
allora mi scrive dei valori (non 0, valora che non so da cosa derivino!)

controllando poi il valore long di StringadaScrivere vedo che ha valori tipo 1314421 (7 cifre) e sempre tra 1300000 e 1400000
se scrivo altri valori (anche inferiori) la mappatura della memoria resta invariata!

I valori variano solo se metto numeri così alti... anche se cambio il numero di bit da scirivere?

PERCHE'?

Veramente io non capisco perchè con StrPtr cambi qualcosa altrimenti non funzia.


Illuminatemi
beog è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
iPhone 16 in Bianco e altri 2 colori a s...
Microsoft rimuove il blocco dell'aggiorn...
TikTok 'MAGA al 100%': Trump vuole modif...
Stuttering e freeze sui laptop da 3.000 ...
Government Data Intelligence for Agricul...
iPhone 17e limitato per non oscurare iPh...
Windows 11 può usare l'IA per cla...
Microsoft Edge diventa più sicuro...
Yakuza Kiwami 3: il nuovo trailer mostra...
Geely lo fa davvero: auto con garanzia a...
'Troppi videogiochi': ecco perché...
Videogiochi e TV aumentano la concentraz...
OneXFly Apex è la console portati...
Dati impressionanti: le auto autonome di...
Il folle esperimento: 12 modem 56K uniti...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v