Torna indietro   Hardware Upgrade Forum > Software > Programmazione

 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-12-2005, 22:26   #1
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
[C e gcc] sezione shared in immagine ELF

salve, è possibile col gcc creare gestire e modificare nomi e attributi delle sezioni di un'immagine ELF di un programma C? quello che mi interessava fare era creare (su Linux) uno shared object che abbia una sezione di dati condivisa; che direttive dovrei usare?

grazie.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-01-2006, 18:11   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
dal numero di risposte mi pare di capire che non si possa
e come faccio a fare la stessa cosa però usando il MinGW e volendo produrre un file PE? in altre parole, qual è l'equivalente MinGW di #pragma data_seg? grazie
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2006, 00:59   #3
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Secondo me (fino a che qualcuno non me lo dimostra) il comp msvc è il migliore.

Riguardo l'efficienza di gcc con il C è buona mentre non lo sono per il C++.

Questo è un buon esempio con il comp msvc
http://www.twork.it/work/Oki_DataSegs.zip

Function Forwarding:
#pragma comment (linker, "/export:Func1=Dll.OtherFunc");
(Ho cercato una cosa simile con gcc ma non l'ho trovata)

Preferisco esportare con .def

Ti faccio un esempio di file .DEF che fa la stessa cosa di quella pragma li:

;Esempio file def

LIBRARY "blabla"

EXPORTS

func_uno mx_sock.altra_func_1 @23
func_due mx_sock.altra_func_2 @45 PRIVATE

senza usare i pragma.

W win il migliore

Edit: cionci usa il ming chissà se ne sà qualcosa
okay è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2006, 09:09   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da 71104
quello che mi interessava fare era creare (su Linux) uno shared object che abbia una sezione di dati condivisa
...cioè?
__________________
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-01-2006, 12:52   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ilsensine
...cioè?
lascia perdere, ho scoperto per certo che non si può
(il formato ELF non ha sezoni condivise tra processi)

cambio la domanda:
mi interessava sapere come fare col gcc (sia col MinGW sia col gcc di Linux) a creare un'immagine PE (un programma per Windows insomma) contenente una sezione shared, ovvero una sezione che sia mappata sulle stesse pagine fisiche in tutti i processi in cui il modulo viene caricato (sia esso un exe, una dll, un ocx, una qualsiasi altra cosa); naturalmente nel codice dovrò fare in modo di sincronizzare gli accessi al contenuto della sezione.

e poi più in generale mi interessava sapere come faccio (sempre col gcc) a gestirmi a piacere i nomi e gli attributi delle sezioni; cioè, detto in parole poverissime, qual è l'equivalente GNU di #pragma data_seg???
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2006, 12:55   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
hum, sta a vedere che hanno messo #pragma data_seg pure nel MinGW...
ora provo, non si sa mai dovesse funzionare...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2006, 13:07   #7
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
---___---'''

va in crash il linker


help please come faccio???
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2006, 13:51   #8
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da 71104
lascia perdere, ho scoperto per certo che non si può
(il formato ELF non ha sezoni condivise tra processi)
Forse perché sarebbe una piccola fonte di problemi di sicurezza?

Puoi gestire un piccolo segmento condiviso (ipc o in mmap su un file) tramite una funzione constructor della tua libreria, così da avere almeno un pò di controllo su chi può scrivere sul segmento e chi no...io farei così, se deve essere "trasparente" all'applicazione...
__________________
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-01-2006, 14:04   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ilsensine
Forse perché sarebbe una piccola fonte di problemi di sicurezza?
mumble non ci avevo mai pensato, però c'è anche da dire che una sezione shared è una forma di IPC, e quindi i programmi in genere non ci vanno a scrivere dati sensibili (tipo password), cioè ci scrivono dati partendo dall'assunto che chi legge è "unreliable"; per fare un paragone Linux: metti che due processi comunicano tramite named pipe (fifo); chi scrive chiaramente non scrive dati sensibili (oppure li scrive ma non in chiaro), perché chi legge potrebbe non essere il processo aspettato.

edit: aggiungi anche che un processo per poter leggere i dati della sezione condivisa deve aver necessariamente caricato il modulo che la contiene, sia esso un exe o una dll o qualsiasi altra cosa: considerando che i files sono protetti dal sistema di sicurezza di Windows NT direi che comunque una certa protezione c'è.

per esempio, mettiamo che io ho due utenti sul mio sistema NT: Administrator e Utonto; Utonto viene usato per accedere ad Internet e per lavorare sui documenti (immagini, doc di Word, slides, ecc.) e per alcune cartelle ha accesso in sola lettura o esecuzione, ma non in scrittura (diciamo le cartelle C:\WINDOWS e C:\Program Files); Administrator invece ha accesso su tutto quanto e viene usato per la manutenzione del sistema (es. installazione / rimozione di programmi).

mettiamo che Utonto andando in Internet con IE (male male ) si becca un virus: diciamo che si tratta di un buffer overflow di IE, quindi il codice malizioso viene eseguito nel processo iexplore.exe; contemporaneamente sta girando un programma importante sotto l'account di Administrator, e si da il caso che ce ne sia più istanze e che comunichino con una sezione shared presente nell'eseguibile; il codice malizioso per poter leggere e/o modificare la sezione shared deve poter caricare il modulo che la contiene, che si trova in C:\Program Files oppure in C:\WINDOWS oppure ancora in C:\WINDOWS\SYSTEM32, e infatti lo carica senza problemi perché gli accessi in lettura ed esecuzione ce li ha anche Utonto, e infatti l'esempio non calza solo che dopo aver scritto tutto sto popo' di roba non mi va di cancellarlo.

edit2: bella pe' Linux.

Ultima modifica di 71104 : 02-01-2006 alle 14:12.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 02-01-2006, 14:13   #10
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Ehm no; file, pipe e oggetti IPC hanno controllo sui permessi. Non puoi ad es. leggere da un pipe se il processo non è in grado di aprirlo con i privilegi in lettura.

Usando un constructor+mmap puoi facilmente ottenere il pezzo condiviso che ti serve; vuoi che ti posto un esempio?
__________________
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-01-2006, 14:14   #11
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
al contrario, siccome le named pipes suppongo siano sempre sono soggette al sistema di sicurezza (essendo dei files), immagino che sia possibile proteggerle in maniera tale da impedire anche la lettura a processi estranei, e quindi le fifo non danno problemi di sicurezza. ma LOL...

edit: ecco, hai postato prima che io postassi questo post
no thx, l'esempio non mi serve: il fatto delle sezioni shared mi serviva per Windows, non per Linux; mi serve di generare delle immagini PE col gcc avendo controllo su nomi e attributi delle sezioni (è per un lavoro open source che sto facendo con DanieleC88).

e in particolare oltre a definire sezioni shared (ma ci sto un po' ripensando ) mi serviva di poter definire quali sezioni debbano essere paginabili e quali no.

Ultima modifica di 71104 : 02-01-2006 alle 14:17.
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
USA e Cina si combattono su tutto, trann...
UE, entra in vigore il nuovo dazio sui p...
Piccolo fuori, enorme dentro: il nuovo C...
Nothing Phone (4b) si mostra online a un...
TOP 12 offerte Amazon, aggiornata ora: 2...
Nano Banana 2 Lite: immagini in 4 second...
L'AI fa paura anche ad Apple: cambia com...
Switch 2, aggiornamento hardware in arri...
Roborock F25 e F25 ALT in offerta su Ama...
La fabbrica lituana che vuole salvare l'...
Google cambia i backup di Android: ora p...
Alla scoperta di Aiper, robot pulisci pi...
OPPO Reno16, Pro e FS ufficiali: super b...
Saltato l'accordo con BOE: i top di gamm...
Insta360 X4 Air a 299€ invece di 399€: &...
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: 10:20.


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