Newsgroup: it.comp.lang.visual-basic
Titolo: decompilazione .net

Non mi è chiara questa cosa:
E' possibile decompilando  un exe in .net ricostruire automaticamente un 
progetto completo pronto da aprire con Visual Basic ?
Oppure si vede tutto in chiaro ma per ricostruire il sorgente completo 
bisogna lavorare sodo ?
Se è vera la prima, mi piacerebbe provare su una mia applicazione, per 
rendermi conto di cosa riuscirebbe a fare un ipotetico concorrente e con 
quanta facilità/fatica.
Mk 

 bisogna lavorare sodo ?
Prova Reflector. E' il migliore, e vedi tu cosa può fare:
http://www.red-gate.com/products/reflector/
Esistono degli add-in per Reflector, che, da quanto ho capito, tentano 
di generare direttamente un progetto completo. Ad esempio:
http://www.denisbauer.com/NETTools/FileDisassembler.aspx
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3, I suppose", molto di più di semplici FAQ!
http://it.openoffice.org/doc/manuali/

 
http://www.denisbauer.com/NETTools/FileDisassembler.aspx
non č chiarissimo se č cosě, ora vedo se č scaricabile in demo e ci provo
Ciao
Mk

 non č chiarissimo se č cosě, ora vedo se č scaricabile in demo e ci provo
Non ci sono demo. E' gratuito, open source, e si installa come add-in di 
Reflector.
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3, I suppose", molto di piů di semplici FAQ!
http://it.openoffice.org/doc/manuali/

sfrutto la discussione aperta per un quesito legato alla protezione
del codice.
Da un paio di giorni, anche grazie all' altra discussione aperta con
ormai una settantina di interventi mi sono messo ad indagare quanto
uno strumento come reflector (red gate's) possa essere efficace nel
"decifrare" il codice sorgente di un' applicazione.
Fatte le dovute prove mi sono accorto, per quello che ne ho capito io
che una mia applicazione si ricrea da zero in molto meno tempo
piuttosto che rincorrere gli elaborati del reflector (anche con l' uso
dell' addin sopra citata (
http://www.denisbauer.com/NETTools/
FileDisassembler.aspx)
Ora la questione è un' altra o meglio una conseguenza della stessa ed
è questa:
il mio sw serve per configurare terminali hw per uso industriale e
siccome l' hw è lo stesso, il cliente aggiorna l' hw in base ad un
livello sw prestabilito che ne fà il prezzo. Certo che se si usa il
reflector si capisce al volo il protocollo da usare in seriale per
trasformare la macchina mod. base che costa 10 in quella mod. completo
che costa 100 e così tutta la strategia dei costi và a farsi benedire.
Esiste un modo per evitare questo? (mi aspetto risposte scontate, ma
in ogni caso la mia ignoranza mi porta lo stesso a chiederlo)


Tutto è commisurato al prezzo ....ovvio!
Ma se come dice paperino UNA PARTE dell'algoritmo la sposti su una
scheda...il sw non funziona senza il "pezzetto di HW che contiene il
sw rimanente"...
quello che rimane in chiaro è l'interfaccia e parti di elaborazione
"standard"...e di quelle te ne frega poco se te le grabbano!
Chiedi a paperino se ti sà consigliare uno SPECIFICO prodotto (marco e
modello)

 in ogni caso la mia ignoranza mi porta lo stesso a chiederlo)
come passi i parametri? stringhe? numeri? dai maggiori info...
Marcello Cantelmo
www.cantelmosoftware.com

che costa 100 e così tutta la strategia dei costi và a farsi benedire.
Per analizzare un protocollo in seriale nella maggior parte dei casi basta uno
sniffer, in quelli più sofisticati dove varia il baud-rate ci vuole anche un
analizzatore di stati logici, naturalmente del tempo ma ci si arriva.
Forse con Refractor si fa prima, ma se vogliono...
--
ciao
  Stefano

 
imho il problema non e' il sw che puo' essere ricostruito, ma la 
protezione del pezzo di ferro che e' pensata male.
come hanno detto altri, sniffare una trasmissione via seriale e' cosa 
abbastanza semplice.
se l'upgrade puo' essere fatto tramite comandi via seriale replicabili da 
chiunque e identici per tutti gli apparecchi, e' il metodo di protezione 
che e' intrinsecamente debole.
se il pezzo di ferro potesse essere sbloccato solo tramite un codice 
legato a un mac (o id equivalente) diverso per ogni apparecchio, saresti 
messo un po' meglio: per avere il codice di sblocco bisogna chiamare te, 
che lo generi tramite opportuno algoritmo (sempre craccabile, ovviamente, 
ma piu' robusto che una chiamata su seriale).
e' poi il pezzo di ferro che deve contenere una funzione che interpreta 
il codice e vede che funzionalita' abilitare.
spero di aver reso l'idea...
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 spero di aver reso l'idea...
grazie per l' idea ma in effetti è già implementata, l' utente finale
(chi ha comprato l' hw) per fare l' upgrade deve comunicarmi il s.n.
software della macchina ed altre info.
poi il file che passo io, che serve per upgradare il l' hw da un
livello inferiore ad uno superiore, da caricare tramite seriale (usb)
è un 'interpretazione dei dati forniti ed è univoca per ogni macchina
quindi non così facile da capire.
grazie comunque a tutti per i suggerimenti/riflessioni proposti.

 grazie comunque a tutti per i suggerimenti/riflessioni proposti.
Vabeh se è solo "quello che passa"...basta criptarlo!
Sniffano quello che vuoi ...ma se non sai come fare a rimetterlo in
chiaro!
Il problema però non è nel fiume...ma nella sorgente e nel mare!
La sorgente ha il sistema di criptatura.....
facciamola facile....usi un algoritmo simmetrico tipo blowfish....la
pw di upgrade la metti tu da remoto in qualche posto!
E' dove metti le chiavi sicuro?
E' l'algoritmo craccabile?
Se ti basi solo su un protocollo....io uso reflector capisco che
assembly usi...che classi metodi eventi usi....e programmo CLONAX2008
che ti sblocca la macchina!
Non me ne frega nulla del protocollo...uso quello che c'è!...io
intervengo a monte!
MA ...è una ipotesi che deve essere confrontata con l'effettivo valore
della cosa da proteggere!!!
Se tu "doti" tutte le macchine di un Pic....o roba
analoga...programmato con una rom che contiene tra le altre cose anche
la chiave privata RSA di quella macchina...
potresti abilitare upgradare disabilitare downgradare quella
macchina....anche da remoto! Usi logmein entri su un pc dell'azienda e
invii il messaggio corretto al "coso" hardware
Dato che è criptato può anche essere "UPGRADE LICENZA 100" che te
frega!
La bontà stà nell'algoritmo di criptatura...il protocollo non è
rilevante.
La cosa a grandi linee è questa
....puoi semplificarla fino a farla diventare un lettore di smartcard
e una smartcard "Iron" "Silver" o "Gold" a seconda della licenza da
effettivamente dare al cliente da inserire nella macchina
...o complicarla fino a fare diventare la tua applicazione stand alone
solo l'interfaccia client e la vera elaborazione on-board sul micro-pc
della macchina
Come sempre il costo ed il tempo è il discrimine!
per evitare polemiche...sempre e soltanto IMHO!