Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-10-2006, 12:39   #121
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da 71104
ah comunque potresti provare a caricare la DLL semplicemente con regsvr32.exe: ti dirà che non trova degli entry points (è normale) però intanto la DllMain è stata chiamata.
Niente da fare, anche con regsvr32 mi da errore di protezione da parte del Microsoft Register Server.

EDIT: Ah, nel mio keylogger ho gestito un po' di tutto (compreso caratteri accentati, ecc. Ovviamente, per i carattere accentati non ho usato costrutti tipo "case VK_SHIFT:".
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 12:40   #122
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ho modificato ancora il post #110 aggiungendo il log degli spazi; ora voglio provare ad usare I/O overlapped, così da non appensatire il sistema quando abbiamo a che fare con un utente dalla tastiera veloce e possibilmente anche un sistema già carico di suo :P
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 12:44   #123
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Sì ma purtroppo con SP2 installato non si può rilocare la DLL... Meglio tornare al classico thread a questo punto.
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 13:10   #124
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da -fidel-
Sì ma purtroppo con SP2 installato non si può rilocare la DLL... Meglio tornare al classico thread a questo punto.
guarda che io ho SP2 eh... :| da me funzica tutto perfettamente; da te toccherebbe fare il debug per vedere cos'è che lo fa incazzare...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 13:14   #125
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da 71104
guarda che io ho SP2 eh... :| da me funzica tutto perfettamente; da te toccherebbe fare il debug per vedere cos'è che lo fa incazzare...
Mhmmh, ok ci dò un'occhiata nel pomeriggio.
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 13:23   #126
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Intanto, visto che non ci sono problemi, posto il mio keylogger, come progetto VS .NET 2003.
Non posto direttamente il codice perché, essendo commentato, sarebbe troppo lungo da piazzare in un post (e di più difficile lettura), quindi allego direttamente il progetto.

Rispetto a quello inviato via mail a mamo, ho aggiunto il logging dei tasti funzione (li avevo dimenticati ). Ci sarebbero anche altri tasti da loggare, ma sono normalmente inutili per l'uso che di solito si fa di un keylogger, e comunque è banale aggiungerli.

Appena finisco la feature che indica, oltre ai tasti premuti, in quale programma li si è premuti (molto utile secondo me ), riposto il sorgente aggiornato

EDIT: piccola aggiunta, VK_CONTROL, VK_MENU e VK_SHIFT oltre al controllo sinistro e destro (non si sa mai...)
Allegati
File Type: zip Keylogger DLL.zip (8.1 KB, 13 visite)
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 20-10-2006 alle 14:04.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 13:45   #127
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da -fidel-
Appena finisco la feature che indica, oltre ai tasti premuti, in quale programma li si è premuti (molto utile secondo me ), riposto il sorgente aggiornato
ho provato a riflettere su come farla: pensavo di aver trovato il modo sfruttando l'handle della finestra a cui era destinato il messaggio, cosa che pensavo fosse inclusa nella struttura di dati del Low Level Keyboard Hook, ma invece non è così; tu come fai a trovare la finestra? cerchi quella che ha il focus in quel momento?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 13:49   #128
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ho letto il tuo codice; non conoscevo la funzione ToAscii!!
ora la uso pure nel mio :P

edit: uu, ma vedo su MSDN che c'è un sacco di roba carina, tipo MapVirtualKey(Ex) e ToUnicode :P
mi erano sfuggite

Ultima modifica di 71104 : 20-10-2006 alle 13:52.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 13:54   #129
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da 71104
ho provato a riflettere su come farla: pensavo di aver trovato il modo sfruttando l'handle della finestra a cui era destinato il messaggio, cosa che pensavo fosse inclusa nella struttura di dati del Low Level Keyboard Hook, ma invece non è così; tu come fai a trovare la finestra? cerchi quella che ha il focus in quel momento?
Esatto, però non sto usando un keyboard hook, ma un hook CBT, che mi avvisa anche dei focus con il messaggio HCBT_SETFOCUS.
Non ho ancora finito di implementare la feature proprio perchè devo cambiare l'hook filter (ora associato ad un low level keyboard hook), e non ho mlto tempo da dedicarci...

EDIT: Ah, sono riuscito a far funzionare il tuo codice anche da me, ora è tutto ok In effetti mi pareva strano che Windows si accorgesse della cosa dando errore di protezione
Oggi pomeriggio provo a modificare il codice per evitare di usare il campo TypeOffset nella struct IMAGE_BASE_RELOCATION, non dovrebbe essere complicato.
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 20-10-2006 alle 13:58.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 14:06   #130
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da 71104
edit: uu, ma vedo su MSDN che c'è un sacco di roba carina, tipo MapVirtualKey(Ex) e ToUnicode :P
mi erano sfuggite
Eheh, MapVirtualKey la stavo provando per ottenere i caratteri tipo %, & (quelli raggiungibili con lo shift ad esempio, o con AltGr) ma in prima battuta niente (quindi avevo cambiato strada), ma adesso ci riprovo!

EDIT: che poi è il motivo per cui ho inserito i tag <SHIFT>...</SHIFT>: per le lettere maiuscole non ce n'era bisogno, ma per tutti gli altri tipo % o ? sì. Quindi per evitare incongruenze anche con layout di tastiera diversi, ho usato i tag, così da prevedere tutti i casi.
Per il momento MapVirtualKey non mi mappa tali caratteri, vediamo se si può aggirare il problema...
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 20-10-2006 alle 14:16.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 14:45   #131
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
grazie per l'allegato -fidel-, ho preso quello dal sito...

ora me lo studio bene bene aiutandomi con msdn!!!!
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 16:02   #132
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Ok, come annunciato prima, ho modificato il codice della CopyAndRelocate() postato prima da 71104 per fare in modo di non usare il campo TypeOffset della struct IMAGE_BASE_RELOCATION, dato che quel campo è di default commentato in WinNT.h.
Ho modificato questo stralcio (linea 90):

Codice:
uFixupCount = (pBaseReloc->SizeOfBlock - (sizeof(IMAGE_BASE_RELOCATION) - sizeof(WORD))) / sizeof(WORD);
for (u = 0; u < uFixupCount; u++) {
     PVOID pFixupLocation = (PBYTE)pNewImage + pBaseReloc->VirtualAddress + (pBaseReloc->TypeOffset[u] & 0x0FFF);
     switch (pBaseReloc->TypeOffset[u] >> 12) {
in questo modo:

Codice:
uFixupCount = (pBaseReloc->SizeOfBlock - (sizeof(IMAGE_BASE_RELOCATION))) / sizeof(WORD);
for (u = 0; u < uFixupCount; u++) {
     PVOID pFixupLocation = (PBYTE)pNewImage + pBaseReloc->VirtualAddress + (u * sizeof(WORD));
     switch (*(PWORD)pFixupLocation >> 12) {
In più, per rendere "più leggibile" il codice ho modificato la seguente linea (121):

Codice:
hThread = CreateThread(NULL, 0, (PTHREAD_START_ROUTINE)((DWORD)ThreadEntry - (DWORD)pImageBase + (DWORD)pNewImage), NULL, 0, &dwDummy);
con questa:

Codice:
hThread = CreateThread(NULL, 0, (PTHREAD_START_ROUTINE)((DWORD)ThreadEntry + (DWORD)dwDelta), NULL, 0, &dwDummy);
così è più chiaro che il codice del thread si trova all'indirizzo della funzione nella dll attuale + l'offset rispetto alla nuova posizione della DLL appena rilocata (dwDelta rappresenta appunto la distanza in bytes tra la zona di memoria in cui la DLL viene caricata e quella rilocata).
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2006, 13:37   #133
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
fidel... ti volevo chiedere se avevi abbandonato o meno il progetto di construire un keylogger che ti dice anche in quale finestra sono stati premuti i tasti...
sono curiosissimo di vedere in che modo si possa fare
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2006, 13:40   #134
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da mamo139
fidel... ti volevo chiedere se avevi abbandonato o meno il progetto di construire un keylogger che ti dice anche in quale finestra sono stati premuti i tasti...
sono curiosissimo di vedere in che modo si possa fare
da quanto ho capito installando anche un altro tipo di hook, il CBT: gli serve per vedere quale finestra assume il focus.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2006, 14:02   #135
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Ok, ho implementato la funzionalità annunciata
Ho dovuto abbandonare la strategia dell'hook CBT, dal momento che tale hook può essere globale ma non è Low Level. Quando è globale (è il nostro caso), non essendo Low Level, ogni processo agganciato va a caricare la nostra DLL, quini in breve tempo un alto numero di processi sul sistema carica la DLL, rendendola quindi facilmente tracciabile (oppure consumando molta memoria nel caso iniettiamo la DLL rilocandola - seguendo la strategia descritta prima da 71104).

Ho quindi risolto in modo differente... Posto qui il progetto Visual Studio .NET 2003 (ma è compilabile con qualunque altro IDE, basta leggere i commenti iniziali del sorgente).
Tutto il codice è ampiamente commentato, a scopo didattico.

EDIT: ho fatto anche una versione che usa la CopyAndRelocate() (leggermente modificata come descritto nei post precedenti) postata da 71104. Non la posto perchè è banale implemenetarla, dal momento che nel thread c'è già il sorgente della CopyAndRelocate, più le modifiche (se le volete aggiungere) che ho apportato.
La rilocazione della DLL la trovo un'ottima strategia
Allegati
File Type: zip Keylogger DLL v2.zip (9.4 KB, 12 visite)
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 23-10-2006 alle 14:09.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2006, 14:03   #136
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da mamo139
fidel... ti volevo chiedere se avevi abbandonato o meno il progetto di construire un keylogger che ti dice anche in quale finestra sono stati premuti i tasti...
sono curiosissimo di vedere in che modo si possa fare
Non l'ho abbandonato come vedi , ho solo poco tempo da dedicarci
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2006, 15:22   #137
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
grazie fidel...

nel compilarlo con Microsoft Visual C++ 6.0 però nn mi trova questo:
#include <psapi.h>
non che sai xche???
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2006, 15:32   #138
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
Cercalo su google...
Dovrebbe essere distribuita con DDK...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2006, 15:51   #139
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da cionci
Cercalo su google...
Dovrebbe essere distribuita con DDK...
Esatto, nell'SDK/DDK fornita con VS .NET c'è già.
@Mamo:
Comunque la libreria psapi.dll è in tutti i sistemi Win NT e successivi (quindi anche su XP), ti serve solo il .h per compilare il programma. Lo posto qui.

Ho aggiutno .txt sennò non mi faceva allegare...

EDIT: Ah, comunque quella libreria serve solo se vuoi loggare anche il nome del processo. Nel frattempo, se vuoi provare, disattiva il log del nome del processo (è scritto nel sorgente come fare, ti basta commentare una riga) e commenta l'include di psapi.h (che in questo caso non serve più), e compila.
Allegati
File Type: txt Psapi.h.txt (6.0 KB, 8 visite)
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 23-10-2006 alle 15:55.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2006, 20:28   #140
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
come sempre, grazie
mamo139 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Blue Origin annuncia una nuova versione ...
LG UltraFine evo 6K: il primo monitor al...
DJI cambia direzione: investe in Elegoo ...
Black Friday Narwal 2025: risparmi da ca...
Phishing evoluto contro Apple ID: caso f...
Prestazioni in discesa nei giochi? NVIDI...
Addio ai banner dei cookie? L'UE spinge ...
Le offerte Black Friday per gli smartpho...
Il controllo qualità degli iPhone...
Qualcomm Snapdragon X Elite vola con il ...
A2RL Season 2: storia, innovazione e sor...
Core Ultra Series 3: Intel conferma l'ev...
Black Friday Amazon: la GeForce RTX 5070...
EcoFlow, il Black Friday porta grande ri...
Gli sconti più pesanti del Black ...
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: 20:30.


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