Newsgroup: it.comp.lang.delphi
Titolo: D8 - .NET decompiler

Io non ho D8, 
se qualcuno ha fatto un progettino con D8 
puo' provare on line qui
http://www.programmersheaven.com/zone28/cat754/23084.htm
Funziona ?
Eugenio Belli.

On Mon, 09 Feb 2004 11:43:38 GMT, 
s...@despammed.com
 (Eugenio Belli) wrote:
scusate, il link giusto e' questo :
http://www.remotesoft.com/salamander/index.html
 

> Io non ho D8,
io nemmeno, ma la sola idea che si possa risalire al sorgente di un
"compilato in IL" mi fa rabbrividire. Ulteriore motivo per non fare il salto
verso il .NET.
Ciao, Sandro

 
http://www.remotesoft.com/salamander/index.html
opporca vacca... ditemi che è una bufala...
Matteo

 verso il .NET.
frase incompleta: aggiungere " finchè si puo' evitare...." ;)
A

verso il .NET.
Sandro, non farti ingannare da questa cosa, anche java e' fatto cosi', ma la
forma non cambia: tu puoi decompilare e fare reverse engineering su un
metacompilato, ok, ma se usi un offuscatore la tua business logic e' tutelata
fino all'ultimo byte. fine dei problemi.
Sandro, Sandro, attento a non sottovalutare .net framework. ;-)
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 fino all'ultimo byte. fine dei problemi.
Non sembra....
http://www.remotesoft.com/salamander/stringencrypt/index.html
-- 
Ciao!
Marco Kregar
marco....@FirebirdSQL.it
www.FirebirdSQL.it
"over the bench the goat sings, under the bench the goat dies"


http://www.remotesoft.com/salamander/stringencrypt/index.html
Un offuscatore serio deve anche darti la possibilita' di crittare le stringhe.
Ti faccio l'esempio con quello che usavo io per la banca dove ho lavorato
(java): avevi la possibilita' di scegliere diversi paramteri di offuscaggio,
dai nomi delle variabili alla chiave di crittaggio delle stringhe. Poi, con lo
stesso prodotto, potevi decompilare e deoffuscare il sorgente riottenendo
cosi' le stringhe in chiaro.
Cioe' quello cho sostengo e' che si tratta piu' di una questione di features
commerciali di un prodotto, che di caratteristiche di .net.
Ad esempio qui c'e' un buon elenco di offuscatori/decompilatori:
http://msdn.microsoft.com/vcsharp/team/tools/default.aspx#obfuscators
http://msdn.microsoft.com/vcsharp/team/tools/default.aspx#decompilers
Ciao,


> frase incompleta: aggiungere " finchč si puo' evitare...." ;)
naturalmente :) ..e quindi, aggiungiamo, per parecchi anni a venire :)
Ciao, Sandro

> Sandro, Sandro, attento a non sottovalutare .net framework. ;-)
e tu attento a non sopravvalutarlo ;)
Ciao, Sandro
ps. non ho un minimo di fiducia negli "offuscatori", ho visto sulla rete
craccate cose molto piu' complesse di un semplice xor di byte su un po' di
stringhe.

stringhe.
Attenzione a non confondere due cose: il reverse engineering di un tuo
programma con il cracking dello stesso.
L'offuscatore serve a nascondere la business logic, non a proteggere il
programma!
Decompilare un software e' utile se ne devi ricostruire la logica: ma se il
decompilato e' una sequenza incomprensibilie di istruzioni, cicli, variabili
dai nomi assurdi, stringhe criptate, allora l'offuscatore ha svolto il suo
dovere: quello di proteggere la tua business logic!
Questo puo' servire ad esempio se fai uso di algoritmi proprietari, sviluppati
da te e di cui non ne vorresti la copiatura fraudolenta.
Scusa le ripetizioni, spero di essermi spiegato chiaramente. ;-)
Ciao!
P.S.
Com'e' il vostro mare oggi ? AAAAhhhh che voglia di farmi una pennichella al
sole di Sardegna!!!



Open Delphi Manual (
http://groups.yahoo.com/group/delphi_open_manual/
)

 
LOL


http://www.remotesoft.com/salamander/stringencrypt/index.html
mi sembrava strano che vendessero un 
offuscatore dicendo che non serve a nulla...
http://www.remotesoft.com/salamander/protector.html
non ho capito se si ottiene un .asm o un .exe
Eugenio.
 

 lamentare? Ma non siete mai contenti... :-D
A voler essere pignoli, però, bisognà dire che risalire al codice
sorgente è SEMPRE possibile, anche per il software compilato in
formato nativo.  O meglio, a *un* codice sorgente, che non è detto sia
significativo, leggibile ed utilizzabile da chiunque.

> non ho capito se si ottiene un .asm o un .exe
in ogni caso e' del tutto inutile; se l'offuscatore nasconde, all'interno
dell'exe ci sara' qualcosa che deoffusca le risorse/stringhe/ecc. per
consentire l'esecuzione del programma. Il pirata di turno, tracciando
l'esecuzione dell'eseguibile, becchera' il deoffuscatore-integrato, ne
carpira' la chiave, e deoffuschera' il programma risalendo in quattro e
quattr'otto al sorgente in chiaro. Evviva il .NET :)
Ciao, Sandro

significativo, leggibile ed utilizzabile da chiunque.
Infatti, da qui l'utilita'/esigenza degli offuscatori: proteggere la logica.


 dell'exe ci sara' qualcosa che deoffusca le risorse/stringhe/ecc.
No.  Gli "offuscatori" eseguono operazioni irreversibili.
Non è necessario "deoffuscare" perché l'eseguibile venga eseguito.

 altro decompilato che il sorgente in ASM.
No.  Anche con gli ambienti a 32 bit si può ottenere un sorgente, mi
riquoto:
"O meglio, a *un* codice sorgente, che non è detto sia significativo,
leggibile ed utilizzabile da chiunque."
Gli "offuscatori" servono anche per il codice a 32 bit nativo, il
termine "fog code" è nato su queste piattaforme.

in ogni caso e' del tutto inutile; se l'offuscatore nasconde, 
Questo non e' un offuscatore, lo chiamano protector.
Da quel che ho capito converte il quasi assembler 
di .NET (IL) in assembler puro.
Vedo pochi svantaggi
1 - La dimensione del file eseguibile
2 - Il tempo da impiegare per il trattamento
3 - La compatibilita' tra l'IL e la salamandra
4 - il costo della salamandra 
Ciao,
Eugenio.
 

 di .NET (IL) in assembler puro.
quindi non sarebbe piu' IL ma un eseguibile vero e proprio. In questo caso
potrebbe girare senza il framework, ma non funzionerebbe piu' sui futuri
sistemi operativi che inibiranno tutto il software non-.NET. E allora, se
questa e' la prospettiva, tanto vale continuare in Win32, no?
Ciao, Sandro

 significativo, leggibile ed utilizzabile da chiunque.
Appunto. Avendo un eseguibile, in fondo si tratta di istruzioni in
linguaggio macchina che sono comunque riconducibili ad una "logica",
anche se è ovviamente difficile risalire a qualcosa di intellegibile
districandosi nella marea di istruzioni che costituiscono un
programma...ma ciò non vuol dire che sia impossibile.
Non per niente, tutti i programmi al giorno d'oggi vengono "crackati",
quindi ci sono persone esperte in grado di riconoscere all'interno del
codice la logica seguita per ottenere un certo meccanismo di protezione
che viene quindi scoperto e aggirato.
Certo, il codice IL è maggiormente interpretabile rispetto alla
controparte in codice macchina...tuttavia, utilizzando un offuscatore,
trovo che sia difficile a più individuare la logica di programmazione.
Difficile non equivale a impossibile, ma non è di fatto impossibile
nemmeno parlando di codice macchina.
In definitiva, questa storia del disassemblaggio IL è una delle solite
scuse frivole di chi vuole trovare per forza una motivazione per
denigrare un framework. ;-)


 denigrare un framework. ;-)
quando troverai il sorgente del tuo software aziendale costato anni di
lavoro, liberamente scaricabile da un ftp russo, ne riparliamo :D
Ciao, Sandro

 andranno "assolutamente e senza modifiche"
Longhorn infatti sara' il sistema operativo "di transizione", per arrivare
infine a Blackcomb, che supportera' solo .NET (e, ovviamente, Palladium).
Certo, magari in Blackcomb ci sara' una macchina virtuale che fara' girare
XP e tutto il software Win32, ma senza beneficiare dei desktop 3D, della
comunicazione con dispositivi mobili, ecc.ecc. ; un po' come oggi far girare
un emulatore Spectrum su un Pentium 4 :) Chi acquisterebbe il tuo bellissimo
software programmato per l'emulatore Spectrum? :)
Ciao, Sandro

 lavoro, liberamente scaricabile da un ftp russo, ne riparliamo :D
Quando la smetterai di dire cagate sarà sempre troppo tardi.

 controparte in codice macchina...
Tu dici ?! io non credo che lo sia...

 lavoro, liberamente scaricabile da un ftp russo, ne riparliamo :D
Quando farò un software aziendale talmente riconosciuto e venduto a
livello mondiale da essere "deoffuscato" da una gang di hacker russi e
reso disponibile in formato sorgente, non credo che mi preoccuperò più
di tanto...perchè sarò sdraiato al sole dei Caraibi, nella mia villa con
piscina, a bere Coca & Havana (rigorosamente invecchiato 7 anni) mentre
seducenti bellezze del luogo mi coccoleranno ventilandomi e imboccandomi
delicatamente chicchi d'uva fresca.


 Tu dici ?! io non credo che lo sia...
In effetti hai ragione.
Ho verificato che gli esempi che stavo osservando all'interno di un sito
erano già in parte disassemblati usando il tool di Microsoft (quindi già
semi interpretati).


Puoi dirmi dove hai letto di questo emulatore?
Lascia stare non avevo capito che era un esempio
Ciao,
Eugenio
 

delicatamente chicchi d'uva fresca.
SEI UN MITO, MARCO...!!!
Questa me la conservo: e' il perfetto "wish list" di ogni programmatore....!!!
:-)


lavoro, liberamente scaricabile da un ftp russo, ne riparliamo :D
Sandro, non puoi bloccare i crackers, lo sappiamo tutti: quello che ti deve
confortare e' il fatto che il tuo gestionale, senza contratto di assistenza,
sara' poco sfruttabile. Ci sono diverse astuzie per fidelizzare il cliente, ti
pare ? ;-)
Non puoi fermare il cracking, l'hacking,e tutto quanto sia underground: fermo
restando che non condivido tutto cio' che sia fatto per scopi di lucro.
Ma prefersico evitare questo OT, al limite se vuoi continuare questo discorso
scrivimi in privato.
Ciao!


 delicatamente chicchi d'uva fresca.
temo che di programmatori che si godono il sole dei tropici ce ne siano ben
pochi al mondo, per non dire nessuno, al contrario dei programmatori che si
sono visti i propri software craccati e ridistribuiti in tutto il mondo.
Ora, oltre al rischio di crack, c'e' pure il rischio ben concreto di reverse
engineering, rischio da non sottovalutare. Come tu ben sai la proprieta'
intellettuale di un software, e quindi i diritti di sfruttamento economico,
possono essere dimostrati come propri davanti ad un giudice nel momento in
cui tu hai il sorgente del programma e la controparte no. Ora, se ogni
software .NET puo' essere decompilato e da qui si puo' risalire al sorgente,
chiunque potrebbe dire di essere il proprieterio (=l'autore) del software e
detenerne i diritti di sfruttamento economico, addirittura facendoti causa
per farsi rimborsare dei soldi che tu "avresti guadagnato sfruttando il suo
lavoro"! Questo implica che ogni sorgente andra' registrato presso la SIAE o
chi per lei (con le spese che potrai ben immaginare) e ogni nuova release
andra' registrata a sua volta, per proteggerla dai possibili ladri.
Che bella prospettiva eh?
Ciao, Sandro

> Pero' non so quanti non acquisterebbero BlackComb.
perche' secondo te al tempo in cui uscira' Blackcomb ci sara' ancora
possibilita' di scelta? resteranno dei produttori hardware "indipendenti"
che si potranno permettere il lusso di uscire dal mainstream del mercato e
mantenere attive catene di produzione di chippetti che non supportano
Palladium da vendere a quei pochi poveretti che continueranno ad usare
Linux? E per produttori di hardware intendo i produttori di: CPU, schede
video, audio, motherboard, memorie, hard disk, memory card, ecc.
Io non credo che i signori Intel, Creative, Asus, e chi piu' ne ha piu' ne
metta decidano di andare controcorrente e magari lavorare in perdita pur di
non supportare Microsoft. Tu che ne dici?
Ciao, Sandro

 Che bella prospettiva eh?
Mi sembra che la prospettiva illustrata sia proprio quella attuale.
Gli enti dedicati alla protezione e all'attestazione della proprietà
intellettuale di un software esistono tutt'oggi, così come vari tool per
il disassemblaggio, mentre il cracking è sempre possibile.
In definitiva, la problematica è viva per la natura stessa della
costituzione di un "programma" e pertanto non è aggirabile e risolvibile
dal .NET Framework.


 software .NET puo' essere decompilato e da qui si puo' risalire al
sorgente,
Non č cosě.

 :-)
Il giorno che riuscirai a scrivere un software in grado di risalire al
sorgente esatto del programma eseguibile, allora forse avrai
guadagnato tanti soldi da andartene ai Caraibi :-)

guadagnato tanti soldi da andartene ai Caraibi :-)
O forse avrai vissuto settanta volte sette le vite di un programmatore ben
pagato.... ;-)


 Non la vedo cosi' nera...
secondo te lo zietto si mette tanti scrupoli? ha in mano il mercato, e lo sa
bene. Il bloatware .NET ne e' una dimostrazione: Microsoft esce con una
tecnologia immatura e traballante, che promette tanto e mantiene poco, e
tutti dietro, come pecorelle.. (a cominciare da questo gruppo, che come vedi
ribolle di gente entusiasta del .NET e prontissima a lasciare Delphi il
prima possibile per abbracciare la nuova religione M$)
Ciao, Sandro

 prima possibile per abbracciare la nuova religione M$)
Il problema č proprio qui: nella tua ristrettezza mentale, che hai
dimostrato piů volte di possedere, vedi .NET come una "religione".  Io
no.  Essere contrari a Microsoft, per principio, č un'atteggiamento
molto piů "religioso" di altri.

prima possibile per abbracciare la nuova religione M$)
Dai, non e' cosi' io non ribollo e 
non sono nemmeno cosi' preoccupato.
Ciao,
Eugenio.