Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-02-2009, 20:03   #1
DragorossoV2
Junior Member
 
Iscritto dal: Feb 2009
Messaggi: 18
[assembly]Verifica di un attach ad un exe.

Salve, sono nuovo e sto cercando aiuto per quanto riguarda l'assembly. Come il titolo anticipa vorrei sapere se è possibile verificare se un applicazione viene attaccata da un altro programma o almeno se il suo processo è attivo e corretto...
Quindi è possibile riuscire a scoprire se un'applicazione è soggetta ad hackeraggio?!???Se si, come?? Grazie per il vostro aiuto, questo forum è stupendo!
Saluti, Gianluca
DragorossoV2 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 10:00   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
dipende da che intendi, e comunque di certo non lo si fa in assembly...
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 11:44   #3
TellaspallaBob
Member
 
L'Avatar di TellaspallaBob
 
Iscritto dal: Nov 2002
Messaggi: 262
Quote:
Originariamente inviato da fero86 Guarda i messaggi
dipende da che intendi, e comunque di certo non lo si fa in assembly...
Purtroppo non ricordo con esattezza quali INT del S.O. vengono sollevati per leggere\modificare un file o eseguirlo.

Nel dos se ne occupava lo INT 21.
Ti consiglio di guardare una vecchia bibbia per i programmatori: HelpPC Reference Library.

Una cosa che puoi fare è verificare se il crc del tuo eseguibile è cambiato o agganciarti alle routine di cui ti parlavo per controllare intrusioni.

PS è un bordello di anni che non uso più queste cose e programmavamo sotto DOS che non ti faceva tante storie, oggi fare certe cose è molto più difficile perché il SO tende a non permettere certi giochetti.
TellaspallaBob è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 14:15   #4
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
Se non ci dici nemmeno il sistema operativo è impossibile risponderti.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 14:29   #5
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da TellaspallaBob Guarda i messaggi
Purtroppo non ricordo con esattezza quali INT del S.O. vengono sollevati per leggere\modificare un file o eseguirlo.
nel 2009 nessuna: un tempo Windows NT aveva la INT 2Eh, ma é da una vita che é stata sostituita da SYSENTER e SYSEXIT su praticamente tutte le architetture. ad ogni modo non é in questo modo che bisogna accedere ai servizi del sistema operativo, ma piuttosto utilizzando le API; ciascun servizio della ex-INT 2Eh ha una corrispondente API nativa, anche se molte non sono documentate per il semplice motivo che la via preferenziale nella stragrande maggioranza dei casi é quella di usare le API Win32.

e aggiorniamoci ogni tanto



Quote:
Ti consiglio di guardare una vecchia bibbia per i programmatori: HelpPC Reference Library.
ma anche no, é un tantino troppo vecchia; per la programmazione di sistema su Windows c'é sempre e solo la libreria MSDN:
http://msdn.microsoft.com/en-us/library/default.aspx



Quote:
PS è un bordello di anni che non uso più queste cose
si nota.



Quote:
e programmavamo sotto DOS che non ti faceva tante storie, oggi fare certe cose è molto più difficile perché il SO tende a non permettere certi giochetti.
alla gente non va mai bene niente: un sistema sicuro come Windows non va bene perché "fa troppe storie" rispetto al caro vecchio DOS, mentre un sistema rudimentale come il DOS (poco piu che un secondo BIOS) non va bene perché se esistesse nel 2009 figuriamoci, "Linux é anni luce piu avanti", "Linux di qua", "Mac di lá".
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 15:07   #6
TellaspallaBob
Member
 
L'Avatar di TellaspallaBob
 
Iscritto dal: Nov 2002
Messaggi: 262
Ma t'è venuto il ciclo??
Ho solo dato una info di quel poco che ricordo delle superiori (come subito dichiarato in apertura del mio post) visto che nessuno gli rispondeva.

Il dire "fa troppe storie" non era una critica verso windows era anzi il contrario, visto che ho detto che DOS ti permetteva le peggio zozzate.

Cmq polemiche a parte, hai ragione ho scordato di nominare le API Win32 el MSDN perché è una vita che "purtroppo" lavoro in java quindi non c'ho proprio pensato.
TellaspallaBob è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 20:20   #7
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da TellaspallaBob Guarda i messaggi
Ma t'è venuto il ciclo??
no, ho solo trovato esilaranti i reperti archeologici che hai tirato fuori dalle nostre memorie
DOS, INT 21H, quell'altra guida vecchia di decenni...

edit - cioé scusa eh, leggendo la prima riga del tuo post tu veramente avevi intenzione di richiamare un'interrupt per leggere o scrivere su un file...?
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 22:01   #8
TellaspallaBob
Member
 
L'Avatar di TellaspallaBob
 
Iscritto dal: Nov 2002
Messaggi: 262
Quote:
Originariamente inviato da fero86 Guarda i messaggi
no, ho solo trovato esilaranti i reperti archeologici che hai tirato fuori dalle nostre memorie
DOS, INT 21H, quell'altra guida vecchia di decenni...

edit - cioé scusa eh, leggendo la prima riga del tuo post tu veramente avevi intenzione di richiamare un'interrupt per leggere o scrivere su un file...?
PREMESSA: Tono scherzoso NO POLEMICA

Reperti si ma io con quelli ho cominciato, e sai bene che nell'informatica bastano pochi anni per stravolgere tutto.
Aggiungici che da noi i PC migliori (all'epoca i 386/486 al 5°) non ce li davano, quindi 8086 e 8088 a gogo!!!

Beh è una vita che non uso più una riga di assembly, ma all'epoca c'abbiamo fatto di tutto fidati. Certo oggi è follia farlo, ma come puoi vedere http://www.uv.tietgen.dk/staff/mlha/...T/21/index.htm
i servizi per farlo ce li hai (come mi fai notrare giustamente "avevi" tutti)
Visto che la domanda era relativa all'assembly ho pensato che stesse studiando per la scuola e mi sono attentuto al tema.....

E poi toccami tutto ma non l'HelpPc, la Bibbia di Peter Norton e le PC Tools

Scherzi a parte deduco che sei esperto nel settore, potresti spiegargli come realizzare un listener su un file utilizzando le Api Win32 (sono curioso anche io), così aiutiamo qualcuno e finiamo il flame
TellaspallaBob è offline   Rispondi citando il messaggio o parte di esso
Old 11-02-2009, 22:32   #9
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
un listener in che senso? per essere notificati di modifiche ad un ramo di filesystem ci sono queste API:
http://msdn.microsoft.com/en-us/library/aa364417.aspx
http://msdn.microsoft.com/en-us/libr...27(VS.85).aspx
http://msdn.microsoft.com/en-us/libr...14(VS.85).aspx

mentre per avere notifica di una semplice lettura credo che non ci siano altri modi se non installare un filesystem filter o impostare un audit.

ma non so se queste soluzioni siano pertinenti o meno alla richiesta finché DragorossoV2 non chiarisce meglio quello che vuole ottenere.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 15:04   #10
DragorossoV2
Junior Member
 
Iscritto dal: Feb 2009
Messaggi: 18
Allora, il mio problema è questo:
Io devo prevenire l'hacking da parte di cheat engine e cose simili che si attaccano all'eseguibile e tramite il memory viewer guardano e modificano le stringhe. Vorrei sapere se è possibile accorgersi che ciò stia avvenendo e in quel momento far killare l'esecuzione del programma.. Grazie per avermi risposto ma non sono stato a casa mi dispiace se ci ho messo tempo..


una soluzione alternativa sarebbe quella di rendere invisibile il client.exe al task manager o meglio toglierlo dal PID

qui c'è il codice in VB per fare ciò e mi servirebbe in assembly perchè devo iniettarlo in un exe usando un debugger

Private Declare Function RegisterServiceProcess Lib _
"kernel32.dll" (ByVal dwProcessId As Long, _
ByVal dwType As Long) As Long
''
'
''The GetCurrentProcessId function returns the process identifier of the calling process.
Private Declare Function GetCurrentProcessId Lib _
"kernel32.dll" () As Long

RegisterServiceProcess GetCurrentProcessId, 0
App.TaskVisible = False


Se qualcuno può aiutarmi gli sarei eternamente grato.
Qui ho un link con un altro codice:
http://www.programmers-corner.com/viewSource.php/72

Ultima modifica di DragorossoV2 : 12-02-2009 alle 15:47.
DragorossoV2 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:00   #11
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da DragorossoV2 Guarda i messaggi
Allora, il mio problema è questo:
Io devo prevenire l'hacking da parte di cheat engine e cose simili che si attaccano all'eseguibile e tramite il memory viewer guardano e modificano le stringhe. Vorrei sapere se è possibile accorgersi che ciò stia avvenendo e in quel momento far killare l'esecuzione del programma..
questo tipo di accesso si effettua tipicamente usando le API OpenProcess, ReadProcessMemory e WriteProcessMemory; che io sappia non esiste notifica che ti faccia sapere quando ció avviene su un certo processo, quindi l'unica é lavorare col sistema di sicurezza: devi proteggere il processo contenente i dati sensibili modificandone la DACL.



Quote:
una soluzione alternativa sarebbe quella di rendere invisibile il client.exe al task manager o meglio toglierlo dal PID
l'espressione "toglierlo dal PID" non ha il minimo senso; rendendolo invisibile al Task Manager invece cosa ci avresti concluso? il modo per farlo c'é, ma é del tutto inutile per i tuoi scopi.



Quote:
qui c'è il codice in VB per fare ciò
la fesseria che hai riportato funziona solo con Windows 9x, forse neanche su ME; in Windows NT i servizi non si registrano a quel modo, e comunque il Task Manager li visualizza.



Quote:
e mi servirebbe in assembly perchè devo iniettarlo in un exe usando un debugger
devi iniettarlo in exe, ok; e allora perché deve essere scritto in assembly? puoi scriverlo tranquillamente in C.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:37   #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
Non credo che esista un metodo valido per proteggersi da una DLL injection.
Dalla modifica dei dati invece qualcosa si può studiare, almeno per rendere la cosa più complicata. Potresti ad esempio creare un altro processo che tiene traccia delle modifiche fatte ai dati più sensibili:
- ogni N volte che leggi i dati sensibili ti calcoli un hash, prima di tutto verifichi che l'hash sia lo stesso calcolato l'ultima volta, lo invii all'altro processo insieme ad un numero casuale (generato con un generatore random serio personalizzato), se la risposta non avviene entro un termine molto stretto (30-100 ms) abortisci l'esecuzione. L'altro processo verifica l'hash (memorizzato precedentemente) e ti risponde con l'hash stesso ed il numero successivo della sequenza generata dal generatore random. Ovviamente tu verifichi sia l'hash che il numero successivo della sequenza random.
- ogni volta che devi scrivere il valore: fai la stessa cosa di sopra verificando che il valore attuale sia corretto, ma in più, oltre a hash e numero casuale, invii anche il nuovo valore da scrivere (che l'altro processo memorizzerà). A questo punto scrivi il valore in memoria. Ti calcoli il nuovo hash ed invii hash, numero casuale, nuovo valore all'altro processo. L'altro processo salverà il nuovo hash, ti risponderà con hash, numero casuale successivo e nuovo valore (ovviamente entrambi i processi dovranno verificare questi dati)

In ogni momento, ad ogni verifica non conclusa positivamente, il processo di verifica non risponde e quindi di conseguenza fa abortire il processo principale.

Quindi l'unico modo per fare un cheat è andare a crackare il programma...ma qui non puoi veramente fare altro. Certo crackare un programma è più complesso di usare un memory viewer
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 17:25   #13
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
l'hooking delle tre funzioni dell'api postate da fero86 è l'unico modo per prevenire quel genere di "intrusione"
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 19:13   #14
Lorenzo_RANX
Junior Member
 
Iscritto dal: Feb 2009
Messaggi: 2
Scusate l'intrusione, mi presento sono Lorenzo e io e Drago collaboriamo allo stesso progetto.

Vorrei innanzitutto rigraziare per le vostre risposte e scusarmi se siamo stati alquanto imprecisi in alcuni concetti.

Abbiamo postato quei sorgenti al solo scopo di capire come si facesse un hide del processo, nn voleva assolutamente essere una dichiarazione di conoscenza ma piuttosto il contrario, leggendo alcune documentazioni mi rendo conto che nei sistemi NT nn è piu possibile farlo...almeno nn in quella maniera.

Per quanto riguarda l'hooking di funzioni putroppo anche quella nn è una soluzione in quanto esistono degli "unhooker" di pubblico dominio che praticamente ricostruiscono tutte le funzioni hookate in un click. ( li puo usare qualsiasi utente)

Invece mi sembra alquanto valida la soluzione di Cionci anche se piuttosto complessa ( sarebbe apprezzato un contatto diretto )

Avrei il piacere di capire come utilizzare un programa esterno ( ES. compilato in C o Delphi o altri) per moddare un exe...in quanto noi stiamo lavorando direttamente sull'exe utilizzando "ollydbg" per modificarlo e nn abbiamo assolutamente il sorgente.

Per ora la nostra soluzione è abbastanza spartana possiamo bloccare programmi conosciuti per editare la memoria semplicemente controllando se esistono stringhe che solitamente questi programmi usano e nel caso crashamo l'applicazione.(praticamente una black list)

E' ovvio che si tratti di uno shield non definitivo e assolutamente insufficiente.

La nostra primissima idea era proprio quella di creare un guard che controllasse il programma e che a sua volta il programma controllasse il guard ( ovvio che esiste la possibilita di bypassare anche questo sistema, ma sicuro renderebbe la vita difficile almeno a chi nn sa usare un debugger).

Finisco ringraziando ancora per gli interventi fatti, con la speranza di avere un aiuto da chi magari è piu esperto in queste situazioni.

Ultima modifica di Lorenzo_RANX : 12-02-2009 alle 19:23.
Lorenzo_RANX è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 19:23   #15
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 Lorenzo_RANX Guarda i messaggi
Avrei il piacere di capire come utilizzare un programa esterno ( ES. compilato in C o Delphi o altri) per moddare un exe...in quanto noi stiamo lavorando direttamente sull'exe utilizzando "ollydbg" per modificarlo e nn abbiamo assolutamente il sorgente.
Ma sei sicuro che sia legale questa cosa ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 19:32   #16
Lorenzo_RANX
Junior Member
 
Iscritto dal: Feb 2009
Messaggi: 2
Il programma nn ha piu alcuna licenza attiva il game è praticamente morto ufficialmente, addirittura la casa che lo ha programmato nn esiste piu.

Ma c'è una cerchia di appassionati che ancora lo segue...es noi.

Ke sia assolutamente legale... nn saprei, ma di fatto il server esiste e non è l'unico server in circolazione.

Del resto evito di nominarlo proprio per nn creare sensazione di spamming o problemi al forum stesso, cio che interesserebbe di piu è studiare una soluzione al problema posto.

In ogni caso se pensi che questo sia al difuori degli scopi di questo forum o violi alcune delle regole.... beh non possiamo far altro che accettarne la chiusura.

P.S.
Ovviamente spero nn sia il caso :P

Ultima modifica di Lorenzo_RANX : 12-02-2009 alle 19:56.
Lorenzo_RANX è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2009, 13:02   #17
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
mi é venuto in mente che forse questo potrebbe aiutarvi:
http://msdn.microsoft.com/en-us/libr...49(VS.85).aspx

non so se é ragionevole nel vostro caso, ma potreste mettere un guard a tutte le pagine che in un dato momento il programma non ha bisogno di modificare, cosi qualunque modifica causerebbe il crash del processo.

ma vale sempre la solita storia: potete rendere l'impresa piu difficile, ma non impossibile; l'hacker di turno non ci mette nulla a scoprire l'inghippo e a togliere manualmente il guard.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2009, 13:51   #18
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da TellaspallaBob Guarda i messaggi
E poi toccami tutto ma non l'HelpPc, la Bibbia di Peter Norton e le PC Tools
La bibba era Ralph Brown
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 13-02-2009, 16:47   #19
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
La bibba era Ralph Brown
quella lo é tutt'ora: Ralph Brown ha documentato anche il BIOS, che oggi é ancora usato per scrivere i boot loaders.
fero86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Iliad: si consolida la partnership tecno...
Il SoC a 2 nm di Samsung non sfigura nel...
Prezzo shock per i Galaxy Buds FE + nuov...
Il nuovo SoC di Qualcomm vuole stupire: ...
Offerta lampo per pulire l'auto: aspirap...
I robotaxi di Amazon entrano in azione: ...
ECOVACS DEEBOT T50 PRO OMNI Gen2 domina ...
iPhone 17 Pro su Amazon: tutti i colori,...
Disney Plus da 2,99 euro al mese per 3 m...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
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: 23:04.


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