Newsgroup: it.comp.lang.delphi
Titolo: protezione eseguibile, scusate la banalità

esiste quelche programma freeware e/o open source che permetta (anche
in minima parte) di impedire la decompilazione di un eseguibile
ho provato alcuni programmi che recuperano il codice
dall'eseguibile ... e funzionano molto bene :(
forse ho visto male ma non sono riuscito a trovare post simili

 dall'eseguibile ... e funzionano molto bene :(
ti recuperano la struttura della form e alcune risorse, al più, non certo il 
sorgente, e quello che ottieni in ogni caso, che è molto limitato, non è 
ricompilabile, ergo: utilità = zero.
Avalon 

allora sbaglio io qualcosa quando compilo (sicuramente)
ho provato a decompilare il mio programma ed il risultato è quasi
meglio dell'originale ... diciamo identico ;)

 meglio dell'originale ... diciamo identico ;)
Non credo tu possa sbagliare qualcosa nel compilare...
ma che decompilatore hai trovato che ti permette di recuperare in toto il 
sorgente?
Valter

azz ... bella domanda
adesso non ricordo (l'ho installato in una partizione virtualizzata e
non posso caricarla adesso ... risale a qualche mese fa)
bazzicavo in un forum di hacking ... mi serviva decompilare un
programma per "guardare" come aveva fatto un programmatore una certa
routine ... non riuscendo a ottenere nulla
per curiosità ho provato sul mio eseguibile ed ho ottenuto il sorgente
completo (persino tutte le mie info che descrivono e separano i vari
pezzi ... alias descrizioni del sorgente)
per questo avevo il dubbio che facessi io la compilazione in maniera
da "novizio" (cosa che riconosco di essere)
ps. uso delphi2006

trovato ... DeDe.3.50
;)

 trovato ... DeDe.3.50
http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml
cit. " You can create a Delphi project folder with all dfm,pas, dpr files. 
Note: pas files contains the mentioned above well commented ASM code. They 
can not be recompiled !"
dunque: che te ne fai di procedure con codice asm dentro, senza variabili, 
commenti e quant'altro, e soprattutto non ricompilabili?
Avalon 


DeDe, non ricordo che versione, lo avevo provato anch'io ma ovviamente del 
sorgente puro nessuna traccia - non mi risultano decompilatori in grado di 
arrivare a tanto, per questo ero curioso...
V 

sicuramente sono io che non ci arrivo ... :(
ma se ho tutti i file.pas uguali all'originale (oltre tutti gli altri)
non è semplice vedere il sorgente ?
quello che trovavo "decompliato" era identico ai file.pas originali
(se non sono rincitrullito e non ricordo il codice che io stesso ho
scritto ... tutto è possibile)
proverò a rifare l'estrazione e poi la compilazione
ripeto probabilmente sono io che non faccio tutto per bene (ricordo di
aver letto che prima di compilare conveniva eliminare alcuni tipi di
file)
grazie comunque per le risposte

 quello che trovavo "decompliato" era identico ai file.pas originali
[...]
c'è una possibile risposta...
ho rispolverato DeDe e fatto due prove...quello che ti restituisce è 
effettivamente tutto assembler ma quello che forse ti ha tratto in inganno è 
che laddove tu indichi la directory del tuo progetto DeDe crea una cartella 
con il suo elaborato ma ti resta anche la tua cartella 
originale...probabilmente ci sei finito dentro per errore ritenendo fosse 
quanto generato dal decompilatore...
in sostanza, per quanto sappia io, non è possibile risalire ai tuoi sorgenti 
dall'eseguibile quindi puoi stare tranquillo...
ciao
V 

 in minima parte) di impedire la decompilazione di un eseguibile
"Impedire" la decompilazione, di per se', e' impossibile. Esisterà sempre
un modo per arrivare a rappresentare le istruzioni in linguaggio macchina.
Quello che si usa fare, normalmente, e' di utilizzare degli "offuscatori"
che permettono di mischiare il sorgente in maniera del tutto
incomprensibile. (es.
http://delphi.devdirect.com/ALL/OBFUSCATIORS_PCAT_2014.aspx
)
Tieni presente che offuscare un programma prima di compilarlo e
rilasciarlo, ti rende impossibile il debugging: non ci capiresti nulla
perche' di fatto produce sorgenti del tutto diversi dagli originali.
Molti discorsi a proposito sono stati fatti, cerca in questo ng con google
groups.
Credo che la maggior parte di noi sviluppatori non usi nulla di tutto
questo, e rilasci le proprie applicazioni semplicemente compilate.
Ciao
-- 
Morde

grazie a tutti

scriptors ha scritto:

Una piccola soluzione semplice, potrebbe essere comprimere l'exe dopo la 
compilazione con un compressore tipo UPX.
In tal caso l'eseguibile viene decompresso in memoria al momento 
dell'esecuzione e non essendo scritto su disco "dovrebbe" essere piu 
difficile decompilare il codice.
Ciao
ZioGian