<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47124.aspx</link><pubDate>Tue, 23 Dec 2008 23:39:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47124</guid><dc:creator>mixio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47124.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47124</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Όσον αφορά τη διπλωματική, ο μόνος τρόπος να προστατεύσεις όσα κάνεις, αν ΟΝΤΩΣ είναι καινούρια, είναι η ευρεσιτεχνία. Κάτι το οποίο στην Ελλάδα είναι άγνωστη λέξη για τις σχολές, ενώ είναι συνηθισμένη πρακτική στο εξωτερικό. Το πρόβλημα είναι στο "όντως καινούρια".&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Οχι δα, δεν νομιζω να θελω να κανω κατι τετοιο. Μα υποτιθεται το project θα ειναι public. Δεν νομιζω να χρειαζεται καποια προστασια. Και βεβαια δεν ειμαι σιγουρος αν ειναι οντως κατι καινουργιο. Παντως εγω δε βρηκα κατι σε windows που να κανει αυτο που μου ζητειται.&lt;br&gt;Γραφω εναν client ο οποιος θα ενθυλακωνει IP packets μεσα σε dns queries. Ετσι οπου αν πας και δεν εχεις internet αλλα υπαρχει καποιος captive portal dns server μπορεις να χρησιμοποιεις αυτον τον client ο οποιος στελνει dns queries στον dns server και μετα θα εχεις IP. &lt;br&gt;To θεμα λεγεται IP-over-DNS. Υπαρχουν κατι σε linux αλλα λειτουργουν διαφορετικα.&lt;br&gt;Αλλοι τροποι tunnelling ειναι το IP-over-HTTP και IP-over-ICMP.&lt;br&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47123.aspx</link><pubDate>Tue, 23 Dec 2008 23:05:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47123</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47123.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47123</wfw:commentRss><description>Όσον αφορά τη διπλωματική, ο μόνος τρόπος να προστατεύσεις όσα κάνεις, αν ΟΝΤΩΣ είναι καινούρια, είναι η ευρεσιτεχνία. Κάτι το οποίο στην Ελλάδα είναι άγνωστη λέξη για τις σχολές, ενώ είναι συνηθισμένη πρακτική στο εξωτερικό. Το πρόβλημα είναι στο "όντως καινούρια".&lt;br&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47122.aspx</link><pubDate>Tue, 23 Dec 2008 23:00:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47122</guid><dc:creator>mixio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47122.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47122</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;cap:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Σε οποιαδήποτε μοντέρνα γλώσσα και να γράψεις, σε κάθε πλατφόρμα (π.χ. Java), χωρίς obfuscation δεν αποφεύγεις το reverse engineering. 

Και ναι, η σύγκριση textfield με string ΔΕΝ σου εξασφαλίζει ασφάλεια. Ακόμα και τέτοιοι μηχανισμοί να μην υπήρχαν, υπάρχουν τρόποι να βρει κάποιος το string σου!

Δεν είναι κανένα ιδιαίτερο χαρακτηριστικό (και ελάττωμα) ειδικά του .NET Framework αυτό...&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Και η Java στο κολπο ; ΕΛΕΟΣ. Τζαμπα τζαβα μας μαθανε στο ΤΕΙ &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;br&gt;Θα κατσω να διαβασω λιγακι τι ειναι αυτο το obfuscation.&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Σοβαρά
τώρα, πολύ, μα πάρα πολύ σπάνια ο κώδικας μίας εφαρμογής αξίζει τόσο
όσο νομίζει ο προγραμματιστής. Το 95% συνήθως είναι κώδικας ο οποίος
είναι κοινός για όλες τις εφαρμογές μίας κατηγορίας, π.χ. Winforms,
data access, web services. Οι αλγόριθμοι συνήθως είναι υλοποιήσεις
αλγορίθμων οι οποίοι είναι οι ίδιοι για 20-30 χρόνια, είναι
δημοσιευμένοι σε περιοδικά και βιβλία και&amp;nbsp; είναι διαθέσιμοι σε έτοιμες
βιβλιοθήκες.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Πλακα πλακα ετσι ειναι. Εχω κανα 2 χρονια που ξεκινησα να γραφω κανα σοβαρο προγραμμα και το ειδα με τα ματια μου αυτο που λες.&lt;br&gt;Μονο αυτο που κανω στην πτυχιακη μου τωρα δεν υπαρχει πουθενα!!! χαχα. &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;Αλλα και αυτο θα γινει open source. &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Όσο για το αν είναι
πρόβλημα ή όχι .... ας πούμε ότι αυτό το πρόβλημα δεν εμπόδισε την
επιτυχία εφαρμογών σε .NET ή Java, η οποία μπορεί να γίνει reverse
engineer το ίδιο εύκολα. Η πολυπλοκότητα μίας εφαρμογής είναι τέτοια
που δεν συμφέρει κανένα να κάνει reverse-engineer. Αν σε απασχολεί τόσο
όμως, μπορείς να χρησιμοποιήσεις obfuscation για να μην μπορεί να γίνει
reverse-engineer.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Μαλιστα. Οχι δεν θα ασχοληθω τωρα με αυτο το obfuscation. Δεν με τρωει να 'κλειδωσω' ενα κωδικα, απλως εντυπωσιαστηκα λιγο με αυτο το προγραμμα γιατι μου αλλαξε καποια πραματα που τα θεωρουσα δεδομενα.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47121.aspx</link><pubDate>Tue, 23 Dec 2008 22:35:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47121</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47121.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47121</wfw:commentRss><description>Τότε, να μην το κάνεις αυτό. Είναι κακή συνήθεια και δεν θα έπρεπε να τη χρησιμοποιείς, σε καμμία γλώσσα, σε κανένα λειτουργικό. Υπάρχουν και debuggers οι οποίοι άνετα μπορούν να εντοπίσουν τέτοιες συγκρίσεις. Πως νομίζεις ότι σπάνε τα παιχνίδια εδώ και 20 χρόνια?&lt;br&gt;Είναι απείρως καλύτερο και το ίδιο εύκολο να χρησιμοποιήσεις τις κρυπτογραφικές κλάσεις του .NET για να πετύχεις προστασία που κανένα reverse engineering δεν μπορεί να σπάσει.&lt;br&gt;&lt;br&gt;Σοβαρά τώρα, πολύ, μα πάρα πολύ σπάνια ο κώδικας μίας εφαρμογής αξίζει τόσο όσο νομίζει ο προγραμματιστής. Το 95% συνήθως είναι κώδικας ο οποίος είναι κοινός για όλες τις εφαρμογές μίας κατηγορίας, π.χ. Winforms, data access, web services. Οι αλγόριθμοι συνήθως είναι υλοποιήσεις αλγορίθμων οι οποίοι είναι οι ίδιοι για 20-30 χρόνια, είναι δημοσιευμένοι σε περιοδικά και βιβλία και&amp;nbsp; είναι διαθέσιμοι σε έτοιμες βιβλιοθήκες.&lt;br&gt;&lt;br&gt;Όσο για τον τυπά, αν καταφέρει να καταλάβει τον reverse-engineered κώδικα μίας σοβαρής εφαρμογής (μιλάμε για χιλιάδες γραμμές κώδικα) σε 2 μήνες, και να μπορέσει να τον υποστηρίξει, μπράβο του. Μόνο που κατά κανόνα αυτός ο τυπάς μπορεί να σου ξαναφτιάξει την εφαρμογή ίδια και καλύτερη σε λιγότερο χρόνο. Γι αυτό και είναι τόσο δύσκολο το development με legacy κώδικα. &lt;br&gt;&lt;br&gt;Όσο για το αν είναι πρόβλημα ή όχι .... ας πούμε ότι αυτό το πρόβλημα δεν εμπόδισε την επιτυχία εφαρμογών σε .NET ή Java, η οποία μπορεί να γίνει reverse engineer το ίδιο εύκολα. Η πολυπλοκότητα μίας εφαρμογής είναι τέτοια που δεν συμφέρει κανένα να κάνει reverse-engineer. Αν σε απασχολεί τόσο όμως, μπορείς να χρησιμοποιήσεις obfuscation για να μην μπορεί να γίνει reverse-engineer.&lt;br&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47119.aspx</link><pubDate>Tue, 23 Dec 2008 22:26:39 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47119</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47119.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47119</wfw:commentRss><description>Σε οποιαδήποτε μοντέρνα γλώσσα και να γράψεις, σε κάθε πλατφόρμα (π.χ. Java), χωρίς obfuscation δεν αποφεύγεις το reverse engineering. &lt;br /&gt;&lt;br /&gt;Και ναι, η σύγκριση textfield με string ΔΕΝ σου εξασφαλίζει ασφάλεια. Ακόμα και τέτοιοι μηχανισμοί να μην υπήρχαν, υπάρχουν τρόποι να βρει κάποιος το string σου!&lt;br /&gt;&lt;br /&gt;Δεν είναι κανένα ιδιαίτερο χαρακτηριστικό (και ελάττωμα) ειδικά του .NET Framework αυτό...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47115.aspx</link><pubDate>Tue, 23 Dec 2008 22:18:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47115</guid><dc:creator>mixio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47115.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47115</wfw:commentRss><description>Cap γι'αυτο το εβαλα σε αυτακια.&lt;br&gt;&lt;br&gt;Πανο δεν ειναι λιγο ελεος ομως αυτο;&lt;br&gt;Καταργει το close source! Ολα πλεον open source &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;Μοιραζεις μια εφαρμογη demo στον κοσμο και μετα απο 2 μηνες ερχεται ενας τυπας και πουλαει την ιδια εφαρμογη.&lt;br&gt;&lt;br&gt;Δεν χρειαζεται ο κωδικας να μας κανει και compile. Μονο που βλεπεις τους αλγοριθμους που κανουν κατι το αξιολογο (αυτοι οι αλγοριθμοι ειναι η καρδια της εφαρμογης) δε θες τιποτα αλλο. &lt;br&gt;Δηλαδη 0 ασφαλεια το .NET ;&lt;br&gt;&lt;br&gt;Θυμαμαι που μικρος εγραφα ενα προγραμματακι που κλασσικα ειχε ενα κωδικο περασμενο σε ενα string.&lt;br&gt;Εβγαζε το παραθυρακι "Please enter code to proceed:" και εκανε συγκριση το textfield με το string. &lt;br&gt;Που να ηξερα οτι αμα το κανω αυτο στο .ΝΕΤ την εκατσα &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;&lt;br&gt;Ελεος δε ξαναγραφω σε C# !&lt;br&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47113.aspx</link><pubDate>Tue, 23 Dec 2008 22:08:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47113</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47113.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47113</wfw:commentRss><description>Οταν λέμε reverse engineering δεν σημαίνει οτι κάποιος θα έχει πρόσβαση στον αρχικό σου κώδικα, με τη μορφή που είχε όταν τον έγραψες, πόσο μάλλον στα comments σου (αν χρησιμοποιείς!) :) Συνεπώς, για να κάνει κάποιος reverse engineer κάτι και να το κάνει να δουλέψει όπως πρέπει, χρειάζεται κόπος και χρόνος, ο οποίος ακυρώνει το πλεονέκτημα που έχει κανείς από το reverse engineering. Ισον, μην το φοβάσαι τόσο πολύ εκτός αν έχεις κανένα σούπερ μυστικό αλγόριθμο :)&lt;br /&gt;&lt;br /&gt;Μια και μιλάμε για το SQLCompare (schema), να πω οτι το χρησιμοποιώ χρόνια τώρα και μου έχει σώσει τη ζωή και την πνευματική μου ισορροπία αμέτρητες φορές :)&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Απ: Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47111.aspx</link><pubDate>Tue, 23 Dec 2008 21:57:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47111</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47111.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47111</wfw:commentRss><description>Καταπληκτικό πρόγραμμα &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;, με έχει βοηθήσει σε άπειρες περιπτώσεις. Ειδικά για όσους δουλεύουν με Sharepoint θεωρείται Tool #1 για να μπορέσεις να δεις πραγματικά τί συμβαίνει στον κώδικα όταν το documentation είναι ελλιπές. Επίσης βοηθάει πολύ στην περίπτωση που χαθεί ο αρχικός κώδικας, συνήθως λόγω τσαπατσουλιάς.&lt;br&gt;Ο δημιουργός του (Lutz Roeder) το έχει βγάλει εδώ και χρόνια και το ανανεώνει συνεχώς, πάντα δωρεάν. Πρόσφατα όμως ανακοίνωσε ότι δεν μπορεί πλέον να το υποστηρίξει και το έδωσε στην RedGate η οποία εξακολουθεί να το βγάζει δωρεάν. &lt;br&gt;Δεν είναι το μόνο πρόγραμμα που το κάνει αυτό, ούτε καν το καλύτερο, καθώς ο κώδικας που σου βγάζει σπάνια μπορεί να γίνει compile χωρίς παρεμβάσεις, αλλά είναι αρκετά καλό ώστε να μπορέσεις να κάνεις τη δουλειά σου και είναι ΔΩΡΕΑΝ. Άλλα, εμπορικά προϊόντα, μπορούν να αντιμετωπίσουν και μερικές απλές μορφές obfuscation.&lt;br&gt;&lt;br&gt;Παρεμπιπτόντως, η RedGate έχει και άλλα φοβερά εργαλεία, δικής της κατασκευής, όπως το SQL Schema Compare και SQL Data Compare τα οποία συγκρίνουν το schema ή τα δεδομένα δύο βάσεων και είτε τα συγχρονίζουν, είτε σου δίνουν το script για να το τρέξεις εσύ αργότερα.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Red Gate .NET Reflector</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/47109.aspx</link><pubDate>Tue, 23 Dec 2008 21:38:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:47109</guid><dc:creator>mixio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/47109.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=47109</wfw:commentRss><description>Καλημερα, βρηκα κατι στο ιντερνετ και αγχωθηκα.&lt;br&gt;&lt;br&gt;Υπαρχει ενα προγραμματακι που λεγεται Red Gate .Net Reflector και αυτο που κανει ειναι να παιρνει ενα executable γραμμενο με .NET Framework&lt;br&gt;και να σου εμφανιζει με 'Reverse Engineering' ολο τον πηγαιο κωδικα &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-7.gif" alt="Tongue Tied" /&gt;&lt;br&gt;Οταν λεω ολο εννοω ΟΛΟ.&lt;br&gt;&lt;br&gt;Εσεις οι παλιοι ας με εξηγησετε λιγο τι συμβαινει.&lt;br&gt;</description></item></channel></rss>