Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-06-2004, 19: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, 21: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, 21: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, 21: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, 10: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, 10: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, 10: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 10:44.
beog è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2004, 11: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, 12: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


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Una valanga di wafer e memorie incombe s...
Microsoft 365, miglioramenti dopo il dow...
Un'IA attacca la tua azienda, ma per dif...
TSMC investe 1 miliardo di dollari in Op...
Niente più risposte IA nelle ricerche: M...
Allarmi bomba nelle scuole, il Viminale:...
OpenAI incassa 10 miliardi in tre mesi, ...
Continua il Black Friday Engwe: sconto e...
OnePlus 12 riceve Android 17 con una set...
Troppe patch generate dall'IA: anche chi...
Comprata e spenta il giorno dopo: cos'er...
Google lancia Tabletop, l'IA che trasfor...
SpaceX e Tesla verso la fusione del seco...
One UI 9.5 arriva anche su Galaxy S25: S...
Kimi K3 gira in casa senza GPU, sulla me...
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: 17:50.


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