<?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>Code Security</title><link>https://www.dotnetzone.gr:443/cs/forums/139/ShowForum.aspx</link><description>Περιοχή που συζητάμε για το το code security - ένα θέμα που πρέπει να απασχολεί κάθε προγραμματιστή.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46529.aspx</link><pubDate>Thu, 27 Nov 2008 23:17:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46529</guid><dc:creator>RedHat</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46529.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=46529</wfw:commentRss><description>Σε ευχαριστώ θα το κοιτάξω με πολύ προσοχή φαίνεται ενδιαφέρον το άρθρο σου.&lt;br&gt;&lt;br&gt;ευχαριστώ και πάλι&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46463.aspx</link><pubDate>Tue, 25 Nov 2008 22:30:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46463</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46463.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=46463</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;RedHat:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;διαβάζωντας το τελευταίο post με ενδιαφέρον. Ασχολούμαι τον τελευταίο καιρό με τέτοια θέματα στην εταιρεία που εργάζομαι. Θα ήθελα λίγο να μάθω περί του θέματος code caves γιατί πραγματικά δεν το είχα ξαναακούσει. Επίσης δεν βρίσκω κάποιο θέμα στο google σχετικό. Μήπως θα μπορούσε κάποιος να αναφέρει κάποια πράγματα που γνωρίζει για αυτό, ένα παράδειγμά ή πηγές που μπορούμε να βρούμε για αυτό το θέμα? &lt;br&gt;Ευχαριστώ&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Ελπίζω να σε βοηθήσει το παρακάτω:&lt;br&gt;&lt;a href="http://www.s3cure.gr/forum/viewtopic.php?f=20&amp;amp;t=152"&gt;http://s3cure.gr/blogweb/index.php?/archives/1-unknown.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Edited... some new one to start with:&lt;br&gt;&lt;a href="http://www.codeproject.com/KB/cpp/codecave.aspx"&gt;http://www.codeproject.com/KB/cpp/codecave.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46432.aspx</link><pubDate>Mon, 24 Nov 2008 18:06:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46432</guid><dc:creator>RedHat</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46432.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=46432</wfw:commentRss><description>διαβάζωντας το τελευταίο post με ενδιαφέρον. Ασχολούμαι τον τελευταίο καιρό με τέτοια θέματα στην εταιρεία που εργάζομαι. Θα ήθελα λίγο να μάθω περί του θέματος code caves γιατί πραγματικά δεν το είχα ξαναακούσει. Επίσης δεν βρίσκω κάποιο θέμα στο google σχετικό. Μήπως θα μπορούσε κάποιος να αναφέρει κάποια πράγματα που γνωρίζει για αυτό, ένα παράδειγμά ή πηγές που μπορούμε να βρούμε για αυτό το θέμα? &lt;br&gt;Ευχαριστώ&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46133.aspx</link><pubDate>Tue, 11 Nov 2008 01:05:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46133</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46133.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=46133</wfw:commentRss><description>Κατ' αρχάς να ζητήσω συγγνώμη για την λίγο... "ετεροχρονισμένη" απάντηση σε ένα σχετικά παλιό post... αλλά πιστεύω οτι το θέμα είναι αρκετα ενδιαφέρον και (ίσως)&amp;nbsp; απασχολεί αρκετούς φίλους. Ήδη αισθάνομαι άσχημα που χρησιμοποίησα στην προηγούμενη πρόταση μου την λέξη "ίσως", αλλά ίσως! δεν έχω πολύ άδικο: Το section αυτό (για code security) κατά την ταπεινή μου αποψη είναι ή θα έπρεπε να ανήκει στην ομάδα με την μεγάλη επισκεψιμότητα και με την μεγαλύτερη συχνότητα σε απαντήσεις... Δηστυχώς όμως δεν είναι έτσι... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;br&gt;Και αυτό κάτι σημαίνει... τεσπα...&lt;br&gt;&lt;br&gt;Τέρμα οι γκρίνιες.... ας έρθουμε λίγο στο "ψητό".&lt;br&gt;&lt;br&gt;Υπάρχουν πολλοί τρόποι και πολλές τεχνικές να κάνεις το πρόγραμμα σου δύσκολο στο κάθε επίδοξο cracker.&amp;nbsp; Ο τίτλος του post σου είναι "Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;" που κατά την γνώμη μου&amp;nbsp; είναι πολύ σωστός. Διότι, έναν καλό cracker που έχει και τα κατάλληλα εργαλεία, μπορείς μόνο να τον δυσκολέψεις.&lt;br&gt;&lt;br&gt;Όπως πολύ σωστά ανέφεραν και οι υπόλοιποι φίλοι, το "μπέρδεμα" ή το... "θόλωμα" του κώδικα είναι κάτι,... δεν είναι όμως το παν. Είναι απλά ένα κομμάτι του παζλ που λέγεται anti-cracking.&lt;br&gt;Υπάρουν όμως κι άλλα κομμάτια (μπορεί) πιο σημαντικά.&lt;br&gt;Αυτά είναι:&lt;br&gt;1. Τεχνικές antidebugging: Μια πραγματικά πολύ αξιόλογη αναφορά βρίσκεται εδώ: &lt;a href="http://www.securityfocus.com/infocus/1893"&gt;http://www.securityfocus.com/infocus/1893&lt;/a&gt;. Θα μπορούσα να σου αναφέρω κι άλλα παραδείγματα αλλά διαβάζοντας και κατανοόντας το παραπάνω κείμενο  νομίζω είναι μια καλή αρχή για να μπείς στο κλίμα. Το να σε φορτώσω με περισσότερα infos απλά θα χάναμε τον στόχο...&lt;br&gt;&lt;br&gt;2. Τεχνικές self-encryption. Ίσως έχεις διαβάσει για τους λεγόμενους πολυμορφικούς ιούς που έχουν την ικνανότητα να πολλαπλασιάζονται κρύβοντας κάθε φορά τον εαυτό τους μέσα στον εαυτό τους!! με μια διαφορετική μορφή κωδικοποίησης. Μπορείς (με την ίδια λογική) να κάνεις encrypt το πρόγραμμα σου ή κομμάτια αυτού και να τα κάνεις decrypt run-time κατά βούληση και κατ' απαίτηση. Το θέμα αυτό είναι πραγματικά δύσκολο αλλά και προκλητικό μαζί. Για μια καλή αρχή, μπορείς να ρίξεις μια ματιά εδώ: &lt;a href="http://tinyurl.com/6jju36"&gt;http://tinyurl.com/6jju36&lt;/a&gt; .&lt;br&gt;&lt;br&gt;3. Τεχνικες Packing και Unpacking του εκτελέσιμου: Εδώ υπάρχει πολύ "πράμα"... Θα πρότινα όμως να μην χρησιμοποιήσεις κάποιο γνωστό packer μιας και οι περισσότεροι υποψήφιοι crackers το πρώτο πράμα που κάνουνε όταν αποφασίσουνε να ασχοληθούνε με το "άθλημα", είναι να κατεβάσουμε όλους τους un-packers... του "εμπορίου"... (&lt;a href="http://www.exetools.com/unpackers.htm"&gt;http://www.exetools.com/unpackers.htm&lt;/a&gt;).&lt;br&gt;&lt;br&gt;4. Code hiding... Εδώ έρχεται η πρόταση σου για το που θα κρύψεις το password. Κατ' αρχάς μπορείς να το κρυπτογραφίσεις με DES με MD5 με BLOWFISH... με ότι θέλεις... Μετά θα έρθει η ώρα να το κρύψεις...&lt;br&gt;Χμ... πού όμως??&lt;br&gt;Απ' οτι είδα... έχουνε πέσει αρκτές ιδέες... π.χ. στο registry, μέσα σε ένα άλλο αρχείο... σε μια DLL...κλπ κλπ...&lt;br&gt;Να προτείνω κάτι?&lt;br&gt;Έχεις σκεφτεί να κρύψεις μέσα στο ίδιο σου το executable αλλά στο run time... και μάλιστα κάθε φορά που καλείτε το πρόγραμμα σου, να του αλλάζεις και.... θέση!!&lt;br&gt;Δεν μποορώ να σου δώσω περισσότερες λεπτομέρειςα επάνω σε αυτό... απλά ψάξε για να λεγόμενα "code caves" μέσα στον κώδικα ενός ececutable. Εν ανάγκη δημιούργησε μόνος σου πολλά τέτοια και "παίξε" με αυτά.... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;...&lt;br&gt;Το πιασες το υπονοούμενο .... ε?.. αν όχι "googled" 4 a while... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-15.gif" alt="Geeked" /&gt;&lt;br&gt;&lt;br&gt;Το σημαντικό είναι να μην χρησιμοποιείς μόνο ΜΙΑ μέθοδο ή τεχνική anticracking, πράγμα που κάνουνε τα περισσότερα εμπορικά προγράμματα προστασίας. Εφόσων ο cracker βρει το αδύνατο σημείο σου... είσαι off. Να χρησιμοποιείς πολλές τεχνικές αντι-cracking και εάν είναι δυνατόν αυτές να αλλάζουνε κάθε φορά (βλέπε polymorphic)... Τότε κάνεις τη ζωή του cracker (εκεί που λέει "Σ ΕΣΠΑΣΑ") πραγματικό εφιάλτη!!!&lt;br&gt;&lt;br&gt;&lt;br&gt;Happy anti-cracking...&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43073.aspx</link><pubDate>Thu, 26 Jun 2008 02:45:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43073</guid><dc:creator>tsomos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43073.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43073</wfw:commentRss><description>Σε ευχαριστω για τις απαντησεις σου, αλλα ισως να μην το εθεσα τοσο καλα το ερωτημα. Το τι λεει το αρθρο, το διαβασα και πριν. Δε λεω ΠΩΣ να κανω κρυπτογραφηση; ειναι γνωστοι ετοιμοι αλγοριθμοι, με λιγο αλλαγη στο salt ολα οκ. &lt;br&gt;&lt;br&gt;Η ερωτηση ηταν που να αποθηκευσω τον κωδικο(καλα οκ, το αρθρο λεει στη ΒΔ) και πως να κανω τη ζωη του επιδοξου που θελει να δει τι κανω, πιο δυσκολη.&lt;br&gt;Εξηγω: αν πω variable="kalimera" ειναι πιο ευκολο απο το να πω variable="ka", valiable+="lime", variable+="ra"&lt;br&gt;επισης αν πω for i=0 to 10 ειναι πιο ευκολο απο το for i=0 to 20 step -2 διοτι τα πραγματα περιπλεκονται.&lt;br&gt;&lt;br&gt;Αν βαλω ονομα μεταβλητης πολυ μεγαλο(πχ 50 χαρακτηρες) εχει διαφορα ή οχι; &lt;br&gt;Τελος παντων, για να μη σας κουραζω, αν παρω καποια ικανοποιητικη απαντηση, εχει καλως, αν παλι οχι, ε και τοτε παλι εχει καλως....&lt;br&gt;ευχαριστω οπως και να εχει...&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43072.aspx</link><pubDate>Thu, 26 Jun 2008 00:37:36 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43072</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43072.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43072</wfw:commentRss><description>&lt;P&gt;Μάλλον το διάβασες λίγο βιαστικά... Στην ενότητα "Sensitive Data" λέει (και παραπέμπει σε περαιτέρω πληροφορίες) για το πώς να αποθηκεύσεις sensitive data χρησιμοποιώντας το&amp;nbsp;DPAPI. Λέει ότι πρέπει να φροντίσεις να κρυπτογραφίσεις τα δεδομένα πριν τα αποθηκεύσεις. Παρακάτω λέει ότι οι προτεινόμενες τοποθεσίες είναι το Active Directory ή η database. Με το αγαπημένο σου search engine, αν βάλεις "DPAPI Encrypt Decrypt" θα βρεις αρκετά δείγματα κώδικα.&lt;/P&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43070.aspx</link><pubDate>Thu, 26 Jun 2008 00:01:53 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43070</guid><dc:creator>tsomos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43070.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43070</wfw:commentRss><description>Δε λεει κατι συγκεκριμενο. Απλα λεει τι να μην κανεις, οπως αφησεις κωδικους στο registry, να καθαρισεις τη μνημη μετα το περας του ελεγχου, γενικα να κανεις cryptography. Καλο το αρθρο αλλα γενικο.&lt;br&gt;&lt;br&gt;Ας πουμε οτι εχω τον κωδικο '123456789'. Καλα, τον κανω hash. Και μετα τι; Που να τον 'κρυψω' ;&amp;nbsp; Στο registry; στη ΒΔ; σε ενα αρχειο τοπικα; &lt;br&gt;&lt;br&gt;Επισης, υπαρχει καποια γνωστη 'τακτικη' σε επιπεδο κωδικα που να δυσκολευει καποιον 'επιδοξο' στο να καταλαβει τι κανω; (εκτος απο obfuscator). Αν υπαρχει την τροποποιω εν μερη και ειμαι οκ...&lt;br&gt;&lt;br&gt;Τωρα αν ψαχνω ψιλους στα αχυρα..δεν ξερω να σου πω την αληθεια, γιατι δεν εχω ασχοληθει με reverse enginerring καθολου.&lt;br&gt;Αν ειχα ασχοληθει θα ηξερα τι μου φτιαχνει τα πραγματα δυσκολα!&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43067.aspx</link><pubDate>Wed, 25 Jun 2008 23:42:41 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43067</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43067.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43067</wfw:commentRss><description>&lt;P&gt;Ρίξε μια ματιά εδώ: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms998378.aspx#pagquestionlist0002_sensitivedata"&gt;http://msdn.microsoft.com/en-us/library/ms998378.aspx#pagquestionlist0002_sensitivedata&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Edit: Μάλλον σε ενδιαφέρει το κομμάτι "Sensitive Data" (κανονικά θα έπρεπε να σε πετάει εκεί το link αλλά δεν συμβαίνει)&lt;/P&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43066.aspx</link><pubDate>Wed, 25 Jun 2008 23:28:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43066</guid><dc:creator>tsomos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43066.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43066</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;KelMan:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt; Το θέμα είναι να μην αποθηκεύεις τα ευαίσθητα δεδομένα (passwords, license keys, κλπ) σε σημεία που μπορούν να ανακτηθούν&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Δηλαδή, εσυ τι θα εκανες για αυτο; Που και πως θα τα εκρυβες ; Καμια καλη ιδεα;&lt;br&gt;&lt;br&gt;Ευχαριστω για το ενδιαφερον σου&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43064.aspx</link><pubDate>Wed, 25 Jun 2008 23:05:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43064</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43064.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43064</wfw:commentRss><description>&lt;P&gt;Το θέμα δεν είναι να κρύψεις τον κώδικά σου ανάμεσα σε άλλον άχρηστο κώδικα. Προσωπικά, δεν θα το έκανα ποτέ καθώς θα μου έκανε το debugging μαρτύριο και αν μετά από καιρό θα ήθελα να κάνω revisit τον κώδικα για κάποιο πιθανό upgrade, θα ήταν πάλι εξαιρετικά δύσκολο και αντιπαραγωγικό. Το θέμα είναι να μην αποθηκεύεις τα ευαίσθητα δεδομένα (passwords, license keys, κλπ) σε σημεία που μπορούν να ανακτηθούν. Αν φροντίσεις αυτό, σε συνδυασμό με ένα signed assembly και obfuscation, έχεις μια πολύ καλή πρώτη γραμμή άμυνας που είναι φθηνή και εύκολα υλοποιήσιμη. Πιστεύω ότι μια τέτοια υλοποίηση μπορεί να αντισταθεί πολύ περισσότερο απέναντι σε έναν επίδοξο cracker παρά η τεχνική που αναφέρεις. Από εκεί και πέρα, αν θες ακόμη μεγαλύτερη προστασία, εξετάζεις μια λύση hasp ή/και μια εμπορική λύση licensing. &lt;/P&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43061.aspx</link><pubDate>Wed, 25 Jun 2008 21:17:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43061</guid><dc:creator>tsomos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43061.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43061</wfw:commentRss><description>Η να το θεσω λιγο διαφορετικα το θεμα. Ειναι καλυτερο να γινεται ο μηχανισμος ελεγχου σε μια συναρτηση με παραμετρους ή σε μια διαδικασια που δεν εχει παραμετρους; Που θα παει λογικα πρωτα να κοιτάξει; &lt;br&gt;Η καλυτερα να γινεται ο μηχανισμος ελεγχου σε μια φορμα μικρη(με λιγες συναρτησεις και διαδικασιες) ή σε μια φορμα με καμια 100 συναρτησεις και αλλες 100 διαδικασιες; Η δεν παιζει ρολο αυτο;&lt;br&gt;&lt;br&gt;Αν καποιος εχει ασχοληθει με το να 'σπασει' καποια προστασια ή έναν κωδικο, ας μας πει τι ειναι αυτο που του κανει τι ζωη ποιο δυσκολη; Ο σκοπος ειναι να τον δυσκολεψεις μπας και τον αποτρεψεις....&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43060.aspx</link><pubDate>Wed, 25 Jun 2008 21:04:51 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43060</guid><dc:creator>tsomos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43060.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43060</wfw:commentRss><description>Μπα το να κλεψει κομματι κωδικα δεν ειναι το θεμα, ας το κλεψει. Δε μιλαμε για τον σουπερ αλγοριθμο η καποια πατεντα ας πουμε. Μιλαμε για προστασια Username και Password και πχ, αριθμο αδειων χρησης(πχ 3 αδειες) που πανε σε μια database. &lt;br&gt;&lt;br&gt;Με ποιον τροπο θα ηταν ποιο επιπονο για καποιον να το 'σπασει'; &lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43059.aspx</link><pubDate>Wed, 25 Jun 2008 20:45:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43059</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43059.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43059</wfw:commentRss><description>&lt;P&gt;Για την ακρίβεια, θα είναι&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;xFad232.Dghkiol2(&lt;FONT style="BACKGROUND-COLOR:#e4e4e4;" color=#666666&gt;QWFq34faf&lt;/FONT&gt;,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;WErw4weTWEF#R$Q&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Όπως και να έχει, χωρίς να ξέρουμε για τι είδους εφαρμογή μιλάμε, μπορούμε μόνο να λέμε γενικότητες. Επίσης, το reverse engineering δεν έχει να κάνει απαραίτητα&amp;nbsp;με το login και τα passwords. Για παράδειγμα, μπορεί κάποιος να θέλει να κάνει reverse engineering ώστε να "κλέψει" έναν κομμάτι κώδικα και να το ενσωματώσει στην εφαρμογή του. Άλλο πράγμα να θες να προστατέψεις την λογική του security που εδώ που τα λέμε, αν βασίζεσαι στο ότι ο κώδικά σου είναι κρυφός, δεν είναι και τόσο καλή λογική security.&lt;/P&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43057.aspx</link><pubDate>Wed, 25 Jun 2008 20:12:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43057</guid><dc:creator>tsomos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43057.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43057</wfw:commentRss><description>&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Όχι, είναι τελειώς useless&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;Οκ το καταλαβα..&lt;br&gt;Κατι που ισως ΔΕΝ ηταν useless;;;;;;;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;</description></item><item><title>Απ: Πως να δυσκολεψω(σε επιεπδο κωδικα) καποιον που θελει να κανει reverse engineering;</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/43056.aspx</link><pubDate>Wed, 25 Jun 2008 20:08:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:43056</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/43056.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=43056</wfw:commentRss><description>&lt;P&gt;Όχι, είναι τελειώς useless, γιατί πολύ απλά ακόμα και ο obfuscated κώδικας, γίνεται "κανονικός" IL κώδικας για να τρέξει απο τον JIT, το οποίο σημαίνει ότι κάνοντας σχετικά απλά ένα memory dump στον JIT μπορείς να πάρεις το IL κομμάτι που πραγματικά χρειάζεσαι και να βρεις αυτό που θές. Γενικά το Obfuscation κάνει δυσκολότερη την ανάγνωση κώδικα, δεν την αποκλείει τελείως. Ακόμα και memory dump να μην κάνει, μπορεί διαβάσει τον κώδικα αλλά αντί πχ να είναι σε μορφή:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;MyClass.Login(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Username"&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Password"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;Θα είναι:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;xFad232.Dghkiol2(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Username"&lt;/SPAN&gt;,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Password"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description></item></channel></rss>