Originariamente inviato da Luciano79
Ciao,
una volta l'ho dovuto fare anch'io e ho usato un metodo che fa ridere, quasi sicuramente ce ne sono di molto + veloci, ma funziona.
Ho voluto fare uno scherzo ad un mio amico: gli ho mandato tramite mail un programma che aveva lo scopo di riavviare continuamente il suo pc. Per fare questo ho creato un programma di base "finto" che conteneva una maschera, nella quale era presente un tasto "OK" (e un testo dove cercavo di convincerlo a cliccare lì). Una volta cliccato su OK copiavo nella cartella EsecuzioneAutomatica un nuovo eseguibile che conteneva il comando del riavvio. Questo eseguibile era "nascosto" in un modulo del mio programma, in pratica dal .exe di base ho estratto un altro .exe così:
1) Ho creato il .exe da nascondere.
2) Ho fatto un programma che mi trasforma un file eseguibile in un file di testo, trasformando ogni singolo byte in tre bytes che rappresentano la sua codifica decimale, per esempio: se nel file trovo il byte "a" seguito da una tabulazione, lo trasformo in "061009" (ovvero a=chr(61), tab=chr(9)). Avrei potuto trasformarlo in esadecimale, risparmiavo spazio, ma non ne avevo voglia. Sempre questo programma divide il nuovo file decimale in stringhe (ho scelto di 900 numeri, in ogni caso conviene multiplo di 3). Davanti ad ogni stringa ho messo un testo del tipo <VarStringa(1)="> dove il numero in parentesi è progressivo.
3) A questo punto nel programma di base ho inserito un modulo nel quale sono andato a copiare in una funzione il file appena creato,
quindi ho ottenuto una funzione del tipo:
codice:
Function SalvaEXE()
dim VarStringa(NumeroDiStringhe) as String * 900
VarStringa(1)="061009189846498498..." 'lunga 900 cifre
VarStringa(2)="084904916548006808..."
VarStringa(3)="789951019065164063..."
'...
VarStringa(n)="999999999999999999..."
End Function
Nel form ho inserito il tasto "OK", che va a richiamare la funzione SalvaEXE che installa il programma "nascosto", leggendo 3 numeri alla volta e scrivendo un byte... e il gioco è fatto.
Una volta fatto il programma che converte il file exe in numeri e la funzione che lo ripristina, puoi usarlo per tutti i programmi che vuoi senza dover fare pacchetti di installazione, l'unico problema e che ottieni un file exe di base un po' pesante, non come dimensioni (compilandolo tutti i numeri nel modulo vengono ben compressi), ma come utilizzo della ram.