Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Red Gate .NET Reflector

Îåêßíçóå áðü ôï ìÝëïò mixio. Τελευταία δημοσίευση από το μέλος mixio στις 23-12-2008, 15:39. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-12-2008, 13:38 47109

    Red Gate .NET Reflector

    Καλημερα, βρηκα κατι στο ιντερνετ και αγχωθηκα.

    Υπαρχει ενα προγραμματακι που λεγεται Red Gate .Net Reflector και αυτο που κανει ειναι να παιρνει ενα executable γραμμενο με .NET Framework
    και να σου εμφανιζει με 'Reverse Engineering' ολο τον πηγαιο κωδικα Tongue Tied
    Οταν λεω ολο εννοω ΟΛΟ.

    Εσεις οι παλιοι ας με εξηγησετε λιγο τι συμβαινει.

    Sleep-deprived psychotic hacker

  •  23-12-2008, 13:57 47111 σε απάντηση της 47109

    Απ: Red Gate .NET Reflector

    Καταπληκτικό πρόγραμμα Big Smile, με έχει βοηθήσει σε άπειρες περιπτώσεις. Ειδικά για όσους δουλεύουν με Sharepoint θεωρείται Tool #1 για να μπορέσεις να δεις πραγματικά τί συμβαίνει στον κώδικα όταν το documentation είναι ελλιπές. Επίσης βοηθάει πολύ στην περίπτωση που χαθεί ο αρχικός κώδικας, συνήθως λόγω τσαπατσουλιάς.
    Ο δημιουργός του (Lutz Roeder) το έχει βγάλει εδώ και χρόνια και το ανανεώνει συνεχώς, πάντα δωρεάν. Πρόσφατα όμως ανακοίνωσε ότι δεν μπορεί πλέον να το υποστηρίξει και το έδωσε στην RedGate η οποία εξακολουθεί να το βγάζει δωρεάν.
    Δεν είναι το μόνο πρόγραμμα που το κάνει αυτό, ούτε καν το καλύτερο, καθώς ο κώδικας που σου βγάζει σπάνια μπορεί να γίνει compile χωρίς παρεμβάσεις, αλλά είναι αρκετά καλό ώστε να μπορέσεις να κάνεις τη δουλειά σου και είναι ΔΩΡΕΑΝ. Άλλα, εμπορικά προϊόντα, μπορούν να αντιμετωπίσουν και μερικές απλές μορφές obfuscation.

    Παρεμπιπτόντως, η RedGate έχει και άλλα φοβερά εργαλεία, δικής της κατασκευής, όπως το SQL Schema Compare και SQL Data Compare τα οποία συγκρίνουν το schema ή τα δεδομένα δύο βάσεων και είτε τα συγχρονίζουν, είτε σου δίνουν το script για να το τρέξεις εσύ αργότερα.



    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  23-12-2008, 14:08 47113 σε απάντηση της 47111

    Απ: Red Gate .NET Reflector

    Οταν λέμε reverse engineering δεν σημαίνει οτι κάποιος θα έχει πρόσβαση στον αρχικό σου κώδικα, με τη μορφή που είχε όταν τον έγραψες, πόσο μάλλον στα comments σου (αν χρησιμοποιείς!) :) Συνεπώς, για να κάνει κάποιος reverse engineer κάτι και να το κάνει να δουλέψει όπως πρέπει, χρειάζεται κόπος και χρόνος, ο οποίος ακυρώνει το πλεονέκτημα που έχει κανείς από το reverse engineering. Ισον, μην το φοβάσαι τόσο πολύ εκτός αν έχεις κανένα σούπερ μυστικό αλγόριθμο :)

    Μια και μιλάμε για το SQLCompare (schema), να πω οτι το χρησιμοποιώ χρόνια τώρα και μου έχει σώσει τη ζωή και την πνευματική μου ισορροπία αμέτρητες φορές :)


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  23-12-2008, 14:18 47115 σε απάντηση της 47111

    Απ: Red Gate .NET Reflector

    Cap γι'αυτο το εβαλα σε αυτακια.

    Πανο δεν ειναι λιγο ελεος ομως αυτο;
    Καταργει το close source! Ολα πλεον open source Big Smile
    Μοιραζεις μια εφαρμογη demo στον κοσμο και μετα απο 2 μηνες ερχεται ενας τυπας και πουλαει την ιδια εφαρμογη.

    Δεν χρειαζεται ο κωδικας να μας κανει και compile. Μονο που βλεπεις τους αλγοριθμους που κανουν κατι το αξιολογο (αυτοι οι αλγοριθμοι ειναι η καρδια της εφαρμογης) δε θες τιποτα αλλο.
    Δηλαδη 0 ασφαλεια το .NET ;

    Θυμαμαι που μικρος εγραφα ενα προγραμματακι που κλασσικα ειχε ενα κωδικο περασμενο σε ενα string.
    Εβγαζε το παραθυρακι "Please enter code to proceed:" και εκανε συγκριση το textfield με το string.
    Που να ηξερα οτι αμα το κανω αυτο στο .ΝΕΤ την εκατσα Big Smile

    Ελεος δε ξαναγραφω σε C# !

    Sleep-deprived psychotic hacker

  •  23-12-2008, 14:26 47119 σε απάντηση της 47115

    Απ: Red Gate .NET Reflector

    Σε οποιαδήποτε μοντέρνα γλώσσα και να γράψεις, σε κάθε πλατφόρμα (π.χ. Java), χωρίς obfuscation δεν αποφεύγεις το reverse engineering.

    Και ναι, η σύγκριση textfield με string ΔΕΝ σου εξασφαλίζει ασφάλεια. Ακόμα και τέτοιοι μηχανισμοί να μην υπήρχαν, υπάρχουν τρόποι να βρει κάποιος το string σου!

    Δεν είναι κανένα ιδιαίτερο χαρακτηριστικό (και ελάττωμα) ειδικά του .NET Framework αυτό...



    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  23-12-2008, 14:35 47121 σε απάντηση της 47115

    Απ: Red Gate .NET Reflector

    Τότε, να μην το κάνεις αυτό. Είναι κακή συνήθεια και δεν θα έπρεπε να τη χρησιμοποιείς, σε καμμία γλώσσα, σε κανένα λειτουργικό. Υπάρχουν και debuggers οι οποίοι άνετα μπορούν να εντοπίσουν τέτοιες συγκρίσεις. Πως νομίζεις ότι σπάνε τα παιχνίδια εδώ και 20 χρόνια?
    Είναι απείρως καλύτερο και το ίδιο εύκολο να χρησιμοποιήσεις τις κρυπτογραφικές κλάσεις του .NET για να πετύχεις προστασία που κανένα reverse engineering δεν μπορεί να σπάσει.

    Σοβαρά τώρα, πολύ, μα πάρα πολύ σπάνια ο κώδικας μίας εφαρμογής αξίζει τόσο όσο νομίζει ο προγραμματιστής. Το 95% συνήθως είναι κώδικας ο οποίος είναι κοινός για όλες τις εφαρμογές μίας κατηγορίας, π.χ. Winforms, data access, web services. Οι αλγόριθμοι συνήθως είναι υλοποιήσεις αλγορίθμων οι οποίοι είναι οι ίδιοι για 20-30 χρόνια, είναι δημοσιευμένοι σε περιοδικά και βιβλία και  είναι διαθέσιμοι σε έτοιμες βιβλιοθήκες.

    Όσο για τον τυπά, αν καταφέρει να καταλάβει τον reverse-engineered κώδικα μίας σοβαρής εφαρμογής (μιλάμε για χιλιάδες γραμμές κώδικα) σε 2 μήνες, και να μπορέσει να τον υποστηρίξει, μπράβο του. Μόνο που κατά κανόνα αυτός ο τυπάς μπορεί να σου ξαναφτιάξει την εφαρμογή ίδια και καλύτερη σε λιγότερο χρόνο. Γι αυτό και είναι τόσο δύσκολο το development με legacy κώδικα.

    Όσο για το αν είναι πρόβλημα ή όχι .... ας πούμε ότι αυτό το πρόβλημα δεν εμπόδισε την επιτυχία εφαρμογών σε .NET ή Java, η οποία μπορεί να γίνει reverse engineer το ίδιο εύκολα. Η πολυπλοκότητα μίας εφαρμογής είναι τέτοια που δεν συμφέρει κανένα να κάνει reverse-engineer. Αν σε απασχολεί τόσο όμως, μπορείς να χρησιμοποιήσεις obfuscation για να μην μπορεί να γίνει reverse-engineer.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  23-12-2008, 15:00 47122 σε απάντηση της 47119

    Απ: Red Gate .NET Reflector

    cap:
    Σε οποιαδήποτε μοντέρνα γλώσσα και να γράψεις, σε κάθε πλατφόρμα (π.χ. Java), χωρίς obfuscation δεν αποφεύγεις το reverse engineering. Και ναι, η σύγκριση textfield με string ΔΕΝ σου εξασφαλίζει ασφάλεια. Ακόμα και τέτοιοι μηχανισμοί να μην υπήρχαν, υπάρχουν τρόποι να βρει κάποιος το string σου! Δεν είναι κανένα ιδιαίτερο χαρακτηριστικό (και ελάττωμα) ειδικά του .NET Framework αυτό...


    Και η Java στο κολπο ; ΕΛΕΟΣ. Τζαμπα τζαβα μας μαθανε στο ΤΕΙ Sad
    Θα κατσω να διαβασω λιγακι τι ειναι αυτο το obfuscation.

    Παναγιώτης Καναβός:

    Σοβαρά τώρα, πολύ, μα πάρα πολύ σπάνια ο κώδικας μίας εφαρμογής αξίζει τόσο όσο νομίζει ο προγραμματιστής. Το 95% συνήθως είναι κώδικας ο οποίος είναι κοινός για όλες τις εφαρμογές μίας κατηγορίας, π.χ. Winforms, data access, web services. Οι αλγόριθμοι συνήθως είναι υλοποιήσεις αλγορίθμων οι οποίοι είναι οι ίδιοι για 20-30 χρόνια, είναι δημοσιευμένοι σε περιοδικά και βιβλία και  είναι διαθέσιμοι σε έτοιμες βιβλιοθήκες.


    Πλακα πλακα ετσι ειναι. Εχω κανα 2 χρονια που ξεκινησα να γραφω κανα σοβαρο προγραμμα και το ειδα με τα ματια μου αυτο που λες.
    Μονο αυτο που κανω στην πτυχιακη μου τωρα δεν υπαρχει πουθενα!!! χαχα. Big Smile
    Αλλα και αυτο θα γινει open source. Smile

    Παναγιώτης Καναβός:

    Όσο για το αν είναι πρόβλημα ή όχι .... ας πούμε ότι αυτό το πρόβλημα δεν εμπόδισε την επιτυχία εφαρμογών σε .NET ή Java, η οποία μπορεί να γίνει reverse engineer το ίδιο εύκολα. Η πολυπλοκότητα μίας εφαρμογής είναι τέτοια που δεν συμφέρει κανένα να κάνει reverse-engineer. Αν σε απασχολεί τόσο όμως, μπορείς να χρησιμοποιήσεις obfuscation για να μην μπορεί να γίνει reverse-engineer.


    Μαλιστα. Οχι δεν θα ασχοληθω τωρα με αυτο το obfuscation. Δεν με τρωει να 'κλειδωσω' ενα κωδικα, απλως εντυπωσιαστηκα λιγο με αυτο το προγραμμα γιατι μου αλλαξε καποια πραματα που τα θεωρουσα δεδομενα.



    Sleep-deprived psychotic hacker

  •  23-12-2008, 15:05 47123 σε απάντηση της 47122

    Απ: Red Gate .NET Reflector

    Όσον αφορά τη διπλωματική, ο μόνος τρόπος να προστατεύσεις όσα κάνεις, αν ΟΝΤΩΣ είναι καινούρια, είναι η ευρεσιτεχνία. Κάτι το οποίο στην Ελλάδα είναι άγνωστη λέξη για τις σχολές, ενώ είναι συνηθισμένη πρακτική στο εξωτερικό. Το πρόβλημα είναι στο "όντως καινούρια".

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  23-12-2008, 15:39 47124 σε απάντηση της 47123

    Απ: Red Gate .NET Reflector

    Παναγιώτης Καναβός:
    Όσον αφορά τη διπλωματική, ο μόνος τρόπος να προστατεύσεις όσα κάνεις, αν ΟΝΤΩΣ είναι καινούρια, είναι η ευρεσιτεχνία. Κάτι το οποίο στην Ελλάδα είναι άγνωστη λέξη για τις σχολές, ενώ είναι συνηθισμένη πρακτική στο εξωτερικό. Το πρόβλημα είναι στο "όντως καινούρια".


    Οχι δα, δεν νομιζω να θελω να κανω κατι τετοιο. Μα υποτιθεται το project θα ειναι public. Δεν νομιζω να χρειαζεται καποια προστασια. Και βεβαια δεν ειμαι σιγουρος αν ειναι οντως κατι καινουργιο. Παντως εγω δε βρηκα κατι σε windows που να κανει αυτο που μου ζητειται.
    Γραφω εναν client ο οποιος θα ενθυλακωνει IP packets μεσα σε dns queries. Ετσι οπου αν πας και δεν εχεις internet αλλα υπαρχει καποιος captive portal dns server μπορεις να χρησιμοποιεις αυτον τον client ο οποιος στελνει dns queries στον dns server και μετα θα εχεις IP.
    To θεμα λεγεται IP-over-DNS. Υπαρχουν κατι σε linux αλλα λειτουργουν διαφορετικα.
    Αλλοι τροποι tunnelling ειναι το IP-over-HTTP και IP-over-ICMP.

    Sleep-deprived psychotic hacker

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems