Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
DEEBOT T90 PRO OMNI abbina un sistema di aspirazione basato su tecnologia BLAST ad un rullo di lavaggio dei pavimenti dalla larghezza elevata, capace di trattare al meglio le superfici di casa minimizzando i tempi di lavoro. Un robot completo che riesce anche ad essere sottile e garantire automazione ed efficienza nelle operazioni di pulizia di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-03-2010, 22:20   #1
3nigma666
Senior Member
 
L'Avatar di 3nigma666
 
Iscritto dal: Jan 2005
Città: A casa mia
Messaggi: 825
[c++] Autokill e autocancellazione di un eseguibile da remoto

buona sera a tutti,

premetto subito una cosa, onde evitare da subito pensieri maliziosi, che il codice che sto scrivendo non ha niente a che fare con keylogger, malware etc..

Senza dilungarmi eccessivamente vado subito al dunque.

Sto scrivendo due applicazioni, entrambe girano su un server che sta dietro a 2 firewall (anzi 3 considerando windows).
Devo poter controllare da remoto queste applicazioni, ma entrare nel server mi risulta alquanto difficile data la protezione, e inoltre non voglio lasciare possibili aperture in ingresso dall'esterno.

L'applicazione A.exe ha ESCLUSIVAMENTE il compito di vedere, su un dato server ftp, la presenza di un file che ho deciso chiamarsi init.txt, se è presente l'applicazione A.exe crea un file B.exe.
Questo file B.exe è una applicazione che, tra i vari compiti, ha quello di controllare, sempre su un dato server ftp, se c'è il file die.txt.
Se presente il file die.txt l'applicazione B.exe si deve autokillare e cancellare dall'hard disk

Sono riuscito a fare tutto tranne quello di ricercare su un server ftp un dato file, e soprattutto non riesco a far si che B.exe si autokilli e si autocancelli.

come fare ?
grazie in anticipo per l'aiuto
3nigma666 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2010, 23:31   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 3nigma666 Guarda i messaggi
Sto scrivendo due applicazioni, entrambe girano su un server che sta dietro a 2 firewall (anzi 3 considerando windows).
Devo poter controllare da remoto queste applicazioni, ma entrare nel server mi risulta alquanto difficile data la protezione, e inoltre non voglio lasciare possibili aperture in ingresso dall'esterno.
Ma qualcosa che abbia a che fare con la programmazione web no?
Tipo un webservice.

Quote:
L'applicazione A.exe ha ESCLUSIVAMENTE il compito di vedere, su un dato server ftp, la presenza di un file che ho deciso chiamarsi init.txt, se è presente l'applicazione A.exe crea un file B.exe.
Come fa A a creare B?

Quote:
Questo file B.exe è una applicazione che, tra i vari compiti, ha quello di controllare, sempre su un dato server ftp, se c'è il file die.txt.
Se presente il file die.txt l'applicazione B.exe si deve autokillare e cancellare dall'hard disk
per l'"autokill" direi che basta un banale exit, per quanto riguarda la cancellazione non mi risulta possibile su Windows cancellare un file in uso, l'unica è impostare la cancellazione al riavvio, o lavorare in collaborazione con A.
Dopo che A ha avviato B può mettersi in attesa della terminazione del processo B, una volta teminato cancella il file
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2010, 23:38   #3
3nigma666
Senior Member
 
L'Avatar di 3nigma666
 
Iscritto dal: Jan 2005
Città: A casa mia
Messaggi: 825
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Ma qualcosa che abbia a che fare con la programmazione web no?
Tipo un webservice.



Come fa A a creare B?



per l'"autokill" direi che basta un banale exit, per quanto riguarda la cancellazione non mi risulta possibile su Windows cancellare un file in uso, l'unica è impostare la cancellazione al riavvio, o lavorare in collaborazione con A.
Dopo che A ha avviato B può mettersi in attesa della terminazione del processo B, una volta teminato cancella il file
si scusa ho sbagliato a scrivere "lo crea", intendevo dire lo avvia, fa eseguire l'applicativo B.exe


Ok, per quanto riguarda la collaborazione in effetti si può fare.. come collabora ad avviarlo può anche collaborare a cancellarlo..

Ciò che mi manca, che proprio non riesco è far si che B.exe verifichi che sia presente il file die.txt sul server ftp....

pensavo di fare una cosa di questo tipo, molto terra terra:

una cosa del tipo:

Codice:
if (!ftpFileOpen("die.txt"))
{
    //non fare nulla
}
else 
{
   system("exit")
}
a me manca la funzione ftpfileOpen!!!! non la trovo da nessuna parte .. ed è di una banalità assurda ... lo so.. :'(
3nigma666 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2010, 23:39   #4
bobbytre
Senior Member
 
L'Avatar di bobbytre
 
Iscritto dal: Feb 2010
Messaggi: 466
per l'autokill potresti fare cosi:

il programma B.exe crea un nuovo file C.exe , lo esegue ed esce.

C.exe è un semplice programma che cancella un file passato per parametro.
C.exe all'avvio dell'esecuzione attende n secondi , poi cancella il file passato per parametro ( b.exe), quindi scrive nel registro di windows in esecuzione automatica ( HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce ) "DEL /Q c.exe" cosi all'avvio successivo di windows anche c.exe viene cancellato.
bobbytre è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2010, 23:40   #5
3nigma666
Senior Member
 
L'Avatar di 3nigma666
 
Iscritto dal: Jan 2005
Città: A casa mia
Messaggi: 825
Quote:
Originariamente inviato da bobbytre Guarda i messaggi
per l'autokill potresti fare cosi:

il programma B.exe crea un nuovo file C.exe , lo esegue ed esce.

C.exe è un semplice programma che cancella un file passato per parametro.
C.exe all'avvio dell'esecuzione attende n secondi , poi cancella il file passato per parametro ( b.exe), quindi scrive nel registro di windows in esecuzione automatica ( HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce ) "DEL /Q c.exe" cosi all'avvio successivo di windows anche c.exe viene cancellato.
uhmm... geniale! non c'avevo pensato..
3nigma666 è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2010, 00:12   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da 3nigma666 Guarda i messaggi
Ciò che mi manca, che proprio non riesco è far si che B.exe verifichi che sia presente il file die.txt sul server ftp....
Quindi ti manca anche la parte di A che controlla init.txt

Quote:
pensavo di fare una cosa di questo tipo, molto terra terra:

una cosa del tipo:

Codice:
if (!ftpFileOpen("die.txt"))
{
    //non fare nulla
}
else 
{
   system("exit")
}
a me manca la funzione ftpfileOpen!!!! non la trovo da nessuna parte .. ed è di una banalità assurda ... lo so.. :'(
Già ti ci vuole una libreria per la gestione dell'ftp.
Potresti provare curl o Wininet
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2010, 00:14   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da bobbytre Guarda i messaggi
per l'autokill potresti fare cosi:

il programma B.exe crea un nuovo file C.exe , lo esegue ed esce.

C.exe è un semplice programma che cancella un file passato per parametro.
C.exe all'avvio dell'esecuzione attende n secondi , poi cancella il file passato per parametro ( b.exe), quindi scrive nel registro di windows in esecuzione automatica ( HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce ) "DEL /Q c.exe" cosi all'avvio successivo di windows anche c.exe viene cancellato.
Ma ha già A che può fare tutto questo in maniera più semplice andando ad attendere la terminazione di B, senza bisogno di ulteriori attese inutili e soprattutto senza necessitare del riavvio.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2010, 00:26   #8
3nigma666
Senior Member
 
L'Avatar di 3nigma666
 
Iscritto dal: Jan 2005
Città: A casa mia
Messaggi: 825
Codice:
#define OPEN_DIE "die.txt"

.....

 if (!FtpOpenFile(hCon, OPEN_DIE, GENERIC_READ, 
	  FTP_TRANSFER_TYPE_BINARY | INTERNET_FLAG_TRANSFER_BINARY,0))
  {
	  cout<<"non esiste il file die.txt";
  }
  else
  {
	system("exit");
  }
3nigma666 è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2010, 01:56   #9
bobbytre
Senior Member
 
L'Avatar di bobbytre
 
Iscritto dal: Feb 2010
Messaggi: 466
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Ma ha già A che può fare tutto questo in maniera più semplice andando ad attendere la terminazione di B, senza bisogno di ulteriori attese inutili e soprattutto senza necessitare del riavvio.
ma noi non sappiamo A che fa dopo la creazione di B , potrebbe non essere in esecuzione quando B va a cercare il file su FTP.

Quindi ,secondo me , è meglio che sia B stesso a provvedere alla sua auto-terminazione
bobbytre è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
NVIDIA: raggiungeremo almeno 1 triliardo...
Lenovo presenta workstation e server con...
Nuova BMW i3: la Serie 3 elettrica debut...
NVIDIA torna in Cina: stretto un accordo...
Vibe coding nel mirino di Apple: ecco le...
Smart TV QLED 50'' a un super prezzo: 4K...
Horizon Worlds lascia i visori Quest: Me...
Lexar compie 30 anni e cambia le regole ...
Questo SSD fornisce memoria aggiuntiva a...
PlayStation Portal si aggiorna: arriva l...
Akamai, le API nel mirino dei cyber atta...
Spider-Man: Brand New Day, finalmente on...
La serie TV di Hitman è ufficialmente fe...
"Grazie e arrivederci": Sam Al...
Il CEO di Take-Two critica l'idea che l'...
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: 18:25.


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