Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2004, 17:34   #1
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Come viene utilizzata la memoria?

Ciao, volevo sapere una cosa particolare.

Le memorie di un processo sono suddivise in locazioni con un loro indirizzo.

Ma questi indirizzi sono globali oppure ogni processo ha una memoria destinata?

Se devo cambiare la locazione 00441D1E del processo pippo.exe che ha id 14B basta usare un comando che cambi la locazione 00441D1E o devo specificare il processo?


Grazie.
beog è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2004, 19:56   #2
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
Non è un problema di facile risoluzione... Ogni applicazione ha un indirizzamento virtuale completo a 32 bit...che poi viene rimappato in memoria fisica...

Il problema è che accedere alla memoria di una ltro processo non è consentito...o meglio si può fare, non so come, ma è sicuramente molto complesso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2004, 21:42   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Cosa devi fare esattamente? Devi accedere a un particolare indirizzo fisico?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2004, 09:37   #4
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Devo fare un trainer quindi devo accedere alla particolare locazione "00441B4c" (esempio) di un particolare processo:

pippo.exe con Id 14B...

ma non so come specificare indirizzo e processo in VBasic.

Ciao
beog è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2004, 09:58   #5
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
Te l'ho detto non è facile... Sotto DOS era facilissimo...ma sotto Windows diventa difficilissimo farlo...ancor più in Visual Basic...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2004, 10:02   #6
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
e dal prompt di dos si può fare?
beog è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2004, 10:08   #7
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
Da un file per DOS è ancora più improbabile accedere alal memoria di un processo a 32 bit...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2004, 10:12   #8
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
Forse ho trovato come fare....in assembly, ma a questo punto mi dovrei tradurre tutto in chiamate in C++ e poi in Vb...

http://win32assembly.online.fr/w32_02.txt
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2004, 10:20   #9
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Non ti chiedo così tanto!!!

Proverò a dare un occhio su Planetsourcecode.

Eventualmente vi saprò dire.
ciao
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 01:51   #10
ariagiovannifanboy
Member
 
Iscritto dal: Dec 2002
Messaggi: 40
Usa WriteProcessMemory:

http://msdn.microsoft.com/library/de...cessmemory.asp

ora, non ricordo se sotto W2K/XP è necessario abilitarsi qualche privilegio, cmq in caso puoi lanciare prima il processo con CreateProcess e a quel punto dovresti essere in grado di farci un po' cosa ti pare.

Ciaus
__________________
www.arialinks.com
ariagiovannifanboy è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 12:14   #11
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Ma sei un DIO!
Anche perchè sei fan di quella gran !!



Ma è una funzione che c'è già dentro VBasico o devo richiamarla da Kernel?

Se si come?

E poi devo definire la sub tipo
Define Sub..
BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPCVOID lpBuffer,
SIZE_T nSize,
SIZE_T* lpNumberOfBytesWritten
);

Qualcosa del genere?

Hai capito cosa devo mettere su
LPVOID lpBaseAddress,
LPCVOID lpBuffer

??


Grazie infinite!
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 12:58   #12
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
Sì...è la strada giusta... Viene usata anche nel link che ti ho postato sopra...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 14:16   #13
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Si ho trovato qualcosa, però la strada sempre molto in salita!

Visto che il process ID è dinamico, mi devo basare sul nome del processo o il file EXE per determinare il process ID.

Ma è possibile che il nome del processo su API Guide sia chiamato Class name? Oppure è un'altra cosa?

Grazie,ciao
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 15:51   #14
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Sono riuscito ad entrare nel processo, ora però ho un'altro problema:


WriteProcessMemory
mi chiede l'indirizzo di memoria come "pointer base address", ma cosa vuol dire?

Io devo scriver sull'indirizzo 0046AFBF (Hex) come converto questo valore esadecimale dell'indirizzo in una stringa Unicode in modo che la funzione mi scriva proprio in quell'indirizzo?

Grazie!
Ciao
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 16:04   #15
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
L'indirizzo fisico viene mappato a partire da un indirizzo logico. Lo spazio logico di un processo è consecutivo (vedilo come un array) , ma quello fisico non lo è!!
Di solito esiste un registro base che indica il punto di partenza dello spazio logico , e un offset per muoversi al suo interno (che non può superare il limite). O ancora con un sistema di paginazione (che è quello che usa WinXP), esistono delle tabelle di pagina con relativo algoritmo di traduzione in indirizzo fisico.

Io non ho ancora capito come tu possa accedere ad un indirizzo fisico. E' il kernel che sceglie il tipo di mappatura, come si può conoscere tale indirizzo fisico a priori?? IlSensine che dici?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 16:17   #16
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
No, ma io non cerco l'IND fisico, quello sono cavoli del sig. Kernel.
Io voglio cambiare l'indirizzo specifico di un processo particolare, esempio "pippo.exe". Ho ricavato l'handle a questo processo, ora però devo scrivergli in memoria.

Avevi capito male (o mi sono spieg male) o la tua perplessità rimane(e quindi non si può..)?
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 16:45   #17
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Fammi capire: tu vuoi assegnare a un processo un dato spazio di indirizzi fisici, un po' come i .com del DOS? Ovvero con binding degli indirizzi in fase di compilazione?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 17:17   #18
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
Quote:
Originariamente inviato da beog
Sono riuscito ad entrare nel processo, ora però ho un'altro problema:


WriteProcessMemory
mi chiede l'indirizzo di memoria come "pointer base address", ma cosa vuol dire?

Io devo scriver sull'indirizzo 0046AFBF (Hex) come converto questo valore esadecimale dell'indirizzo in una stringa Unicode in modo che la funzione mi scriva proprio in quell'indirizzo?
WriteProcessMemory scrive una sequenza di BYTE...quindi il base address dovrebbe essere l'indirizzo di partenza da cui cominciare a scrivere...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 17:45   #19
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
No, devo fare un trainer. Quindi devo modificare una variabile di un programma. L'allocazione non è fisica, è riferita al processo.

Se il processo ha l'allocaz da 000000 a FFFFFFF (che fisicamente sarà dove sarà...) io voglio cambiare il valore di alcuni byte di questa memoria.
Precisamente la locaz 0046AFBF ma non è la posizione assoluta in memoria, ma è quella assegnata al processo che voglio io.
Capisci?

Quello che volevo sapere in soldoni è se quando uso:
WirteProcessMemory (handle,address,bufferDaMandare,Flase,Null)
quel Address che è definito come Long può essere ricollegato all'indirizzo di memoria relativo al processo.

Esempio se il long è:

0000000000000000 (Long Dex) è assegnato all'indirizzo 000000 (Hex)

Se il long è 0000000000000015 è assegnato all'indirizzo 00000F.

O comunque se c'è un modo per capire questo paramento decide l'indirizzo.

Grazie ancora per la pazienza.Ciao
beog è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2004, 17:54   #20
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
Ricordati che la scrittura funziona solamente se l'area di memoria è accessibile in scrittura...

Comunque dai un'occhiata qui, c'è scritto http://msdn.microsoft.com/library/de...cessmemory.asp
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
La NASA ha confermato il supporto per il...
Sierra Space ha completato il test acust...
Ryzen 7 5800X3D pronto a tornare sul mer...
NASA: l'amministrazione Trump prosegue s...
L'Iran avrebbe acquistato un satellite p...
VivaTech compie dieci anni e raddoppia p...
Le vendite di CPU si sono ridotte di 25 ...
Starship: SpaceX ha completato lo static...
Huawei FusionSolar Roadshow 2026: l'inno...
Nuovo trailer per Street Fighter: un fil...
Sovranità sui dati: arriva la pri...
Schede video NVIDIA e AMD di nuovo su Ma...
Robot aspirapolvere, TV OLED, iPhone 17 ...
EUREKA J15 Pro Ultra super interessante ...
Intel porta l'AI nei notebook entry-leve...
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: 01:27.


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