PDA

Visualizza la versione completa : [VB.NET] Eseguire programma direttamente in memoria?


UltraShock97
09-04-2014, 20:02
Ciao a tutti,

Volevo eseguire un file .exe (con file resource dentro) senza fare in modo che estragga i file.

Questo è il codice che una volta aperto il file (.exe), estrae i resource e avvia "start.bat":


IO.File.WriteAllText("prova.bat", My.Resources.start)
IO.File.WriteAllBytes("msvcp100.dll", My.Resources.msvcp100)
IO.File.WriteAllBytes("prova2.exe", My.Resources.svchosted)

Dim mP As New Process()
mP.StartInfo.UseShellExecute = False
mP.StartInfo.FileName = "prova.bat"
mP.StartInfo.CreateNoWindow = True
mP.Start()

Io invece volevo fare in modo che appena il file (.exe) si avvia senza estrarre i file.


Grazie in anticipo :ciauz:

oregon
09-04-2014, 20:14
Devi estrarre il file per eseguirlo.

Fra l'altro non ha proprio senso portarti dietro un batch (.bat) dato che hai a disposizione il VB ... non ha senso.

P.S. Questa non è la sezione giusta per il VB

UltraShock97
09-04-2014, 20:20
Devi estrarre il file per eseguirlo.

Fra l'altro non ha proprio senso portarti dietro un batch (.bat) dato che hai a disposizione il VB ... non ha senso.

P.S. Questa non è la sezione giusta per il VB

Non è niente vero, ho trovato questo post (in un altro forum) a riguardo: Forum (http://goo.gl/H3CiGC)
Solo che a me non funziona! Quindi ho chiesto a voi maggiori informazioni!

P.S.: A me sembra di essere nella sezione giusta dato che c'è scritto:
Programmazione
"Discussioni legate a C++, VB, Java, CGI, Perl e ad altri linguaggi"

oregon
09-04-2014, 20:23
Non è niente vero

Beh, allora chiedi in quel forum.


P.S.: A me sembra di essere nella sezione giusta dato che c'è scritto:
Programmazione
"Discussioni legate a C++, VB, Java, CGI, Perl e ad altri linguaggi"

E sbagli. Perché c'è una sezione dedicata a VB.NET

P.S. Tra l'altro, un certo tipo di codice "non molto chiaro", che si nasconde e si esegue senza permessi dell'utente, non è ben visto qui ...

UltraShock97
09-04-2014, 20:24
Beh, allora chiedi in quel forum.



E sbagli. Perché c'è una sezione dedicata a VB.NET

In ogni caso! Ho chiesto nel forum ma non mi sanno rispondere! Ecco perchè ho chiesto a voi!

oregon
09-04-2014, 20:44
Io ti dico che quel tipo di "trucco" non funziona (almeno nei sistemi moderni) e che non ha nessuna importanza eseguire il codice in memoria o tramite un file temporaneo. Inoltre questo tipo di comportamento può non essere ben visto dagli antivirus.

Quindi il consiglio, dato che hai chiesto, è di lasciar stare e usare il file.

UltraShock97
09-04-2014, 20:47
Io ti dico che quel tipo di "trucco" non funziona (almeno nei sistemi moderni) e che non ha nessuna importanza eseguire il codice in memoria o tramite un file temporaneo. Inoltre questo tipo di comportamento può non essere ben visto dagli antivirus.

Quindi il consiglio, dato che hai chiesto, è di lasciar stare e usare il file.

Se non ne sei capace non serve che commenti!

-Grazie

oregon
09-04-2014, 20:58
Se non ne sei capace non serve che commenti!

Io commento quanto voglio, proprio perché so di cosa si parla (e non mi interessano le lamerate ...)

Confermo che non ha alcun senso eseguire il file in memoria.
Ottieni quanto ti serve con un file temporaneo, a meno che, non ci sia qualcosa da "nascondere".

A questo punto, dovresti spiegare tu A COSA ti serve ...

UltraShock97
09-04-2014, 21:20
UP! @oregon Evitiamo SPAM!

-Grazie

oregon
09-04-2014, 21:32
Non hai capito nulla. Io non faccio proprio nessuno spam.

Sono intopic e ti ho risposto dandoti una soluzione "pratica". In definitiva

1) quella tecnica NON funziona su sistemi a 64 bit, ma solo su 32
2) è una tecnica NON utile ai fini del lancio di un eseguibile se non a fini "illeciti"

A questo punto, come da regolamento, vuoi chiarire perché ti serve l'esecuzione dalla memoria e non ti basta quella normale con un file temporaneo? Come in altri casi, dalla risposta il moderatore deciderà ...

Loading