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

 

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

Code behind για το silverlight

Îåêßíçóå áðü ôï ìÝëïò azouritis. Τελευταία δημοσίευση από το μέλος azouritis στις 07-02-2012, 18:06. Υπάρχουν 16 απαντήσεις.
Σελίδα 1 από 2 (17 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  13-01-2012, 11:07 68903

    Code behind για το silverlight

    Παιδία καλημέρα και καλή χρονία!
    Θα ήθελα να σας ρωτήσω κάτι ευκολο πιστεύω.....
    Μπορείς να δεις τον κωδικα από μία silverlight εφαρμογή που ανεβασμένη στο ίντερνετ;...

    Εννοώ από client-side, έτσι;


    Ευχαριστώ.

  •  13-01-2012, 18:41 68907 σε απάντηση της 68903

    Απ: Code behind για το silverlight

    Ναι μπορείς.

    Υπάρχουν προγράμματα όπως το Silverlight Spy για παράδειγμα. Αυτό που δεν μπορείς να δεις είναι ο server side code που βρίσκεται επάνω στον server.

  •  14-01-2012, 11:23 68914 σε απάντηση της 68907

    Απ: Code behind για το silverlight

    Προσωπικά χρησιμοποιώ το .NET Reflector 6 της RedGate - έχω την εντύπωση ότι οι περισσότεροι .NET Decompliler μπορούν να κάνουν αυτό που ζητάς...

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  14-01-2012, 21:23 68919 σε απάντηση της 68914

    Απ: Code behind για το silverlight

    Παιδία ευχαριστώ για την απαντηση.
    και κατα ένα μέρος μου απαντησατε σε αυτο που ήθελα.
    Να ρωτήσω και κάτι ακόμα....!
    Μπορώ να δω το <xaml> κομμάτι, με τα προγράμματα που μου είπατε, αλλα το code-behind μπορω να το δω; 
  •  14-01-2012, 22:07 68923 σε απάντηση της 68919

    Απ: Code behind για το silverlight

    Τα Silverlight apps είναι ένα αρχείο xap που ουσιαστικά είναι zip με άλλη κατάληξη. Παίρνεις το xap, το απουσμπιέζεις κανονικά με οποιοδήποτε αποσυμπιεστικό (ή ακόμα το μετονομάζεις και το ανοίγεις μέσα από τα windows) και θα έχεις τα αρχεία. Ένα dll είναι η εφαρμογή και τα υπόλοιπα οι εξωτερικές βιβλιοθήκες, θα τα καταλάβεις από το όνομα. Με το Silverlight Spy μπορείς να δεις το XAML κομμάτι του κώδικα όπως σού είπε ο Γιώργος. Μπορείς να ανοίξεις το dll με τον Reflector όπως σου είπε ο άλλος Γιώργος ή το JustDecompile της Teleric ή οποιονδήποτε άλλον decompiler και να δεις τον κώδικα εκτός αν είναι obfuscated. Σε αυτή την περίπτωση ο κώδικας θα είναι από λίγο ως πολύ ακαταλαβίστικος.

     


    Vir prudens non contra ventum mingit
  •  17-01-2012, 11:51 68943 σε απάντηση της 68923

    Απ: Code behind για το silverlight

    Παιδιά ευχαριστώ για τις απαντήσεις.
    Κατέβασα το silverlight spy και το .ΝΕΤ Reflector 6 .
    Τα έριξα μια ματία και είδα ότι τελικά μπορείς να δεις τα πάντα με αυτά....

    Αμέσως όμως μου γεννηθηκαν και άλλες ερωτήσεις....
    Έψαξα λιγάκι στο forum για obfuscated code και βρήκα αυτά τα θέματα...

    http://www.dotnetzone.gr/cs/forums/thread/43056.aspx

    http://www.dotnetzone.gr/cs/forums/post/7226.aspx


    Και κατάλαβα ότι, ότι και να γράψεις, όπως και να το γράψεις, ο άλλος άμα θέλει να το δει ... θα το δει.....

    οπότε τι κάνεις τότε;
    Απλά κατοχυρώνεις τα πνευματικά δικαιώματα ... μπερδέβεις λίγο τον κωδικα...κλπ κλπ..


  •  17-01-2012, 14:57 68944 σε απάντηση της 68943

    Απ: Code behind για το silverlight

    Δεν κάνεις τίποτα απο όλα αυτά. Βρίσκεις μια commercial λύση protector όπως πχ το Spoon (ex-Xenocode) ή το IntelliLock της Eziriz ή μια απο τις άλλες λύσεις και κάνεις protect το πρόγραμμά σου. Αυτό θα κάνει σχεδόν ακατόρθωτο σε κάποιον χωρίς μεγάλη εμπειρία να μπορέσει να δει κώδικα απο το πρόγραμμά σου και θα σου δώσει και λύσεις Licensing. Δεν το κάνει ακατόρθωτο, αλλά σχεδόν ακατόρθωτο.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  17-01-2012, 19:03 68946 σε απάντηση της 68944

    Απ: Code behind για το silverlight

    Όπως έχουμε ξαναπεί, τίποτα δεν είναι unbreakable. Από εκεί και πέρα υπάρχουν δύο επίπεδα στα οποία θα πρέπει να κινηθείς:

    Σε τεχνικό επίπεδο ο βαθμός προστασίας θα πρέπει να είναι ανάλογος της απειλής και του κόστους της προστασίας. Δηλαδή, αν ο κώδικάς σου κάνει πράγματα "τυπικά" (πχ ανοίγει τη βάση, τραβάει data, τα επεξεργάζεται και στέλνει κάτι πίσω στη βάση) τότε δεν χρειάζεται να προστατέψεις τίποτα γιατί ο καθένας μπορεί να βρει ανάλογο κώδικα στο internet. Και πίστεψέ με, στο intenrnet μπορείς να βρεις πολύυυυ πιο περίεργο κώδικα. Αν μέσα στην εφαρμογή σου περιλαμβάνεις ευαίσθητα data (πχ κλειδιά, κωδικούς, κλπ) καλύτερα να επενδύσεις στην υλοποίηση ενός μηχανισμού encryption παρά να περιμένεις από το obfuscation να κρύψει αυτά τα ευαίσθητα data. Αν έχεις υλοποιήσει κάτι ιδιαίτερο για την εφαρμογή σου, κάποιον επαναστατικό αλγόριθμο, κάτι που δεν υπάρχει στην αγορά, κλπ, τότε by all means προστάτεψέ το.

    Όλα τα παραπάνω έχουν να κάνουν και με το business επίπεδο. Γενικά αυτό που μετράει δεν είναι μόνο η εφαρμογή που τρέχει αλλά η ίδια η υπηρεσία που παρέχεις ως developer ή vendor. Αν βγεις πρώτος με μια καλή ιδέα, αν ο πελάτης ικανοποιηθεί από την συνεργασία, αν ο χρήστης μπορεί εύκολα να πάρει updates για τα bugs που παρουσιάζονται, αν το κόστος είναι aligned με το αποτέλεσμα, αν το project παραδίδεται on-time και on-budget, αν, αν, αν. Όλα αυτά δεν χρειάζονται "προστασία" και αν είσαι καλός σε αυτά, σίγουρα το όνομά σου θα επικτρατήσει ανάμεσα στους ανταγωνιστές και θα σε εμπιστεύονται οι πελάτες. Αν τέλος χρειάζεσαι licensing, θα πρέπει να βάλεις στη ζυγαριά από τη μία το πόσο κοστίζει η λύση *συν* οι ανθρωποώρες για να την ενσωματώσεις στην εφαρμογή σου *συν* το διαχειριστικό κόστος αργότερα και από την άλλη τον όγκο των πωλήσεων που περιμένεις να κάνεις και την εκτίμηση του κόστους του leakage που θα έχεις από χρήστες που θα κλέψουν την εφαρμογή σου. Καμιά φορά σε συμφέρει να έχεις φύρα λόγω πειρατείας και να επικεντρωθείς στο πώς θα μεγαλώσεις την πελατεία σου ή πώς θα βελτιώσεις την εφαρμογή σου για να πουλήσεις updates, παρά να προσπαθείς να πιάσεις λίγους κακούς πελάτες που δεν θέλουν να πληρώσουν. Έτσι κι αλλιώς οι κακοί πελάτες είναι κακοί σε όλα τα επίπεδα.

     


    Vir prudens non contra ventum mingit
  •  05-02-2012, 12:14 69140 σε απάντηση της 68946

    Απ: Code behind για το silverlight

    Παιδιά δίαβασα τις απαντήσεις σας και σας ευχαριστώ όλους.

    Έψαξα αυτα που μου είπατε και βρήκα κάποιες λύσεις πάνω σε αυτα.


    Τώρα κάτι τελευταίο....

    αμα δημιουργούσα ένα web services (wcf) και μετέφερνα ολόκληρο τον κώδικα μου εκεί και μετά να το σύνεδεα με το silverlight project με Service Reference, αυτό δεν θα μου εξασφάλιζε ότι ο κώδικας δεν θα μεταφερότανε στον Browser, άρα με reverse engineering δεν θα μπορούσε να τον διαβάσει κάποιος..;


    Ευχαριστώ.

  •  05-02-2012, 20:36 69150 σε απάντηση της 69140

    Απ: Code behind για το silverlight

    Αν κάνεις κάτι τέτοιο, σημαίνει ότι δεν έχεις πραγματική ανάγκη για ένα rich client, θα μπορείς να κάνεις τη δουλειά σου και με μια web εφαρμογή. Υποτίθεται ότι με ένα RIA μεταφέρεις functionality στη μεριά του client για να εκμεταλλευτείς τα resources που έχει. Επιπρόσθετα, αμφιβάλω αν μπορείς να μεταφέρεις *τα πάντα* σε services.

     


    Vir prudens non contra ventum mingit
  •  06-02-2012, 11:12 69163 σε απάντηση της 69150

    Απ: Code behind για το silverlight

    Ναι, συγνώμη δεν εννούσα όλο τον κώδικα... αλλα μόνο το κομμάτι του αλγόριθμου που δεν θέλω να πηγαίνει στον client.


    Τι πιστέυεται με ένα WCF Service  δεν θα είμαι καλυμένος...;
    όπως γράφει σε αυτό το άρθρο ο Robbe Morris..

    "Silverlight, WCF, Security And Things You Might Not Know"

  •  07-02-2012, 12:44 69181 σε απάντηση της 69163

    Απ: Code behind για το silverlight

    Πάντοτε κάτι κερδίζεις και κάτι χάνεις. Μπορεί να κερδίσεις να "κρύψεις" τον κώδικα αλλά θα πρέπει μετά να ασχοληθείς με την ασφάλεια του service. Θα έχεις να σκεφτείς για attacks, για authentication, για authorization,  κλπ, κλπ. Οπότε ζύγισέ τα τα πράγματα και δες τι σε συμφέρει.

     


    Vir prudens non contra ventum mingit
  •  07-02-2012, 13:38 69182 σε απάντηση της 69181

    Απ: Code behind για το silverlight

    Νομίζω ότι η συζήτηση είναι λίγο υπερβολική όταν μιλάμε για client τεχνολογίες όπως το Silverlight. Μία σωστά σχεδιασμένη εφαρμογή ΔΕΝ θα τρέχει σημαντικό business κώδικα στον client αλλά στο server. Στο silverlight θα υπάρχει λογική presentation και επικοινωνίας με το server, η οποία όπως και να το κάνουμε είναι δεδομένη και ίδια για όλους, οπότε και δεν τίθεται θέμα πνευματικής ιδιοκτησίας ή copyright. 

    Γενικά ο φόβος για "κλοπή πνευματικής ιδιοκτησίας" είναι υπερ-υπερεκτιμημένος. Είναι πολύ σπάνιο ο κώδικας που γράφουμε να έχει κάτι τόσο πρωτότυπο ώστε να αξίζει obfuscation και τα προβλήματα που προκαλεί. Αν ο κώδικας είναι τόσο σημαντικός, π.χ. είναι ένας πραγματικά πρωτοποριακός αλγόριθμος για algorithmic trading, καλύτερα να τον βάλεις σε ένα server στον οποίο δεν θα έχουν πρόσβαση οι "κακοί". 

    Η πραγματική "πνευματική ιδιοκτησία" είναι η ικανότητα και η εμπειρία του προγραμματιστή, η οποία δεν αντιγράφεται. Ούτε η προσοχή στην ποιότητα και η γρήγορη ανταπόκριση στους πελάτες. Ακόμα και αν κάποιος πάει και αντιγράψει κάποιο ουσιαστικό κώδικα σου με το Reflector, πολύ δύσκολα θα καταφέρει να τον χρησιμοποιήσει αν δεν έχει ήδη αρκετές γνώσεις για να γράψει κάτι αντίστοιχο. 
    Έστω ότι κάνεις μία φανταστική εφαρμογή για Windows Phone και κάποιος θέλει να την αντιγράψει. Πιο εύκολο είναι να γράψει κάτι καινούριο από την αρχή παρά να αντιγράψει το δικό σου κώδικα και να προσπαθήσει να τον κάνει να δουλέψει. Αν όχι τίποτε άλλο, τα προβλήματα που θα έχει αρχικά η εφαρμογή του θα τον καταβαραθρώσουν στα ratings. Και όλο αυτό τον καιρό εσύ θα δημιουργείς νέες εκδόσεις, τις οποίες ο άλλος θα τρέχει να προλάβει.

    Τα πράγματα αλλάζουν ελάχιστα αν μιλάμε για κλείδωμα εφαρμογών. Όταν ενσωματώνεις το κλείδωμα στην εφαρμογή σου έχει κάποιο νόημα να χρησιμοποιήσεις obfuscation στο κομμάτι που υλοποιεί το κλείδωμα. Συνήθως όμως υπάρχουν καλύτερες εναλλακτικές. Για παράδειγμα, μπορείς άνετα να χρησιμοποιήσεις ή να φτιάξεις κάποιο license service το οποίο θα επιτρέπει ή όχι στην εφαρμογή να τρέξει ανάλογα με το αν έχει πληρώσει ο άλλος. Η μόδα αυτό τον καιρό μάλιστα είναι τα App stores, τα οποία αναλαμβάνουν τα ίδια να προστατέψουν την εφαρμογή σου.

    Δεν είναι περίεργο που το obfuscation χρησιμοποιείται ή αναφέρεται τόσο λίγο. Το πραγματικό κόστος του ίδιου του obfuscation είναι πολύ μεγαλύτερο από οποιαδήποτε πιθανή απώλεια πνευματικής ιδιοκτησίας.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  07-02-2012, 13:47 69183 σε απάντηση της 69182

    Απ: Code behind για το silverlight

    Τα ίδια έλεγα κι εγώ μερικά posts πίσω. Πρακτικά (κανόνας 80-20), η μόνη περίπτωση που βλέπω ότι χρειάζεται προστασία μια client εφαρμογή είναι όταν δίνεις μαζί με την εφαρμογή κάποιο secret. Πχ κάποιο API key για services που χρησιμοποιείς.

     


    Vir prudens non contra ventum mingit
  •  07-02-2012, 14:19 69184 σε απάντηση της 69183

    Απ: Code behind για το silverlight

    Τόση κουβέντα που έχει γίνει, το έχασα. Ακόμα και το secret όμως μπορείς να το παρακάμψεις. Στην περίπτωση του API Key απλά δεν χρησιμοποιείς μόνο το api key αλλά το συνδυάζεις με authentication για τη δημιουργία ενός token με μικρή ημερομηνία λήξης. 
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Σελίδα 1 από 2 (17 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems