Newsgroup: it.comp.lang.delphi
Titolo: Leggere un file EXE?

Ciao a tutti!
Sono alle prime armi con delphi e ho un problema che non riesco proprio a
risolvere... Devo caricare il contenuto di un file EXE (lungo circa 100Kb)
in una stringa; poi, in questa stringa, devo ricercare l'occorrenza di
un'altra stringa. Il problema è che non riesco a caricare il file EXE in
una stringa! Come si fa? Mi potete aiutare?
Grazie,
Paolo
-- 
Posted from 
mta23-acc.tin.it
 [212.216.176.76] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:3.0.32.20001023...@box1.tin.it...
Ciao a tutti!
Sono alle prime armi con delphi e ho un problema che non riesco proprio a
risolvere... Devo caricare il contenuto di un file EXE (lungo circa 100Kb)
in una stringa;
??? Ma sai che proprio non ho capito!
Lavorando molto di fantasia posso giungere a 2 ipotesi :
1 - Nel tuo Exe è incluso (come risorsa o altro) un testo da assegnare ad
una stringa
2 - Vuoi caricare in una stringa la sequenza binaria di codifica del tuo EXE
poi, in questa stringa, devo ricercare l'occorrenza di un'altra stringa.
Il problema è che non riesco a caricare il file EXE in
una stringa! Come si fa? Mi potete aiutare?
Prova a ripostare il messaggio in maniera più chiara.
Ciao!
--
- Carlo -

una stringa! Come si fa? Mi potete aiutare?
la stringa non mi pare una bella cosa per risolvere il tuo problema. Meglio
una specie di array dinamico di byte. Tutto si puň fare....ma
vabbč, lasciamo perdere le soluzioni inventante su due piedi.....usa la
classe TMemoryStream e finisce la questione.
Fai una ricerca nello stream e si conclude la storia !!
Per ulteriori dettagli scrivi pure !!!
Ti saluto.....ciao !!
Antonio Tarolla

una stringa! Come si fa? Mi potete aiutare?
la stringa non mi pare una bella cosa per risolvere il tuo problema. Meglio


una stringa! Come si fa? Mi potete aiutare?
la stringa non mi pare una bella cosa per risolvere il tuo problema. Meglio


una stringa! Come si fa? Mi potete aiutare?
Non usare direttamente una stringa: prova a vedere fra i discendenti di
TStream (in particolare TMemoryStream, TStringStream).
hth
Paolo Arosio

 Prova a ripostare il messaggio in maniera piů chiara.
In sostanza ecco il problema. Ho un EXE, es. PIPPO.EXE. Con un programma VB,
all'EXE faccio l'append di una stringa (per la precisione "XXXXX"). Poi ci
faccio l'append di un altro EXE.
Con il programma in Delphi dovrei cercare l'occorrenza della stringa "XXXXX"
nell'EXE; in questo modo saprei dov'č l'offset del II programma EXE, che
devo estrarre.
Spero di essere stato un po' piu' chiaro...
Grazie!
Paolo

 una specie di array dinamico di byte.
Cosa consiglieresti? Io ho un EXE; alla fine di questo exe ho fatto l'append
della stringa "XXXXX", poi ho un altro exe (in sostanza due exe concatenati,
suddivisi dalla stringa "xxxxx").
A me serve trovare la posizione della stringa "xxxxx"; in questo modo saprei
dove inizia il secondo EXE e sarei in grado di estrarlo (l'estrazione del
secondo exe è lo scopo del programma).
Come posso fare?
Grazie!
Paolo

 TStream (in particolare TMemoryStream, TStringStream).
Grazie, avevo giŕ provato con TStream, ma, forse perchč ho sbagliato
qualcosa, non ci sono riuscito. Infatti "cercava" di caricarmi il file EXE
ma appena trovava un Chr(0) (e negli EXE ce ne sono molti) lui la
intepretava come fine stringa e non mi caricava piů niente...
O forse sbaglio qualcosa?
Grazie!
Paolo

 secondo exe č lo scopo del programma).


 Potresti fare così:


 wrote in message
news:8t622q$f8c$1...@nslave2.tin.it...


> Non è che stai cercando di creare un virus, vero???
Nessun virus! Sono un programmatore ed odio quelle cose li'! Devo invece
creare una specie di archivio autoestraente, tipo quelli generati da WinZip.
Ciao,
Paolo

Potrei aiuarti a fare una cosa del genere, ma devi dirmi sinceramente
a cosa ti serve, non è che per caso vuoi che il tuo eseguibile lanci
un troiano sulla macchina su cui viene eseguito per poi prendere il
controllo di questa macchina????
Vegeta.


Non preoccuparti, come ho già detto prima, niente di tutto questo. Ecco a
che cosa serve: sto realizzando in VB un software per fare presentazioni.
Come PowerPoint, le presentazioni generate hanno però bisogno di un runtime
per girare su altri computer. Vorrei che il mio programma VB creasse un EXE
(es. chiamiamolo programma P) e ci "appendesse" il runtime (un altro exe).
In sostanza il programma P sarebbe composto dal programma D (l'exe fatto in
Delphi), il programma R (il runtime, un altro exe in vb) e la presentazione.
In delphi devo realizzare il programma D (non posso farlo in VB perchè non è
detto che le librerie vbrun siano installate). In questo modo avrei:
P = D + R + Pres.
Dato che D è all'inizio di P, quando avvio P mi si avvia D. Il programma D
va a controllare se  R è già installato (cioè se posso vedere subito la
presentazione); in caso affermativo estrae Pres. e la avvia; in caso
negativo estrae ed installa R e poi estrae Pres. e la avvia.
Non so se sono stato abbastanza chiaro... quindi una speciè di archivio
autoestraente.
Ti ringrazio!
Paolo

3.0.32.20001023...@box1.tin.it...


Grazie, mi sembra che avevo provato ma evidentemente avevo fatto qualche
errore. Riprovo subito!
Paolo


Paolo
Posto che sono assolutamente d'accordo che una stringa non sia la
soluzione... leggi il file byte per byte finché non trovi il primo
carattere, seguito dal secondo e così via... non mi piace affatto come
soluzione ma è l'unica che vedo praticabile....
Andrea