Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

αν θες να προστατέψεις τον κώδικο σου, το μόνο που μπορεις να κανεις ειναι να τον μπερδεψεις.

επισης να τονισω πως υπαρχουν καποια online εργαλεια για αυτην την δουλεια αλλα να το αποφυγεις ολα αφου μεσα στον κωδικα που σου δινουν χωνουν και εξτρα δικο τους που στελνει τους επισκεπτες του site σου αλλου (ή μέσω αλλού).

  • Like 1
Δημοσ.

αν θες να προστατέψεις τον κώδικο σου, το μόνο που μπορεις να κανεις ειναι να τον μπερδεψεις.

επισης να τονισω πως υπαρχουν καποια online εργαλεια για αυτην την δουλεια αλλα να το αποφυγεις ολα αφου μεσα στον κωδικα που σου δινουν χωνουν και εξτρα δικο τους που στελνει τους επισκεπτες του site σου αλλου (ή μέσω αλλού).

Ναι εγω να τον μπερδεψω που το εχω κανει ειδη το θεμα για μενα ειναι να τρεχει το script στο pc που θελω και να μην εχει τη δυνατοτητα ο χρηστης να το μεταφερει σε αλλον

 

μιλαω για client side javascript (userscript)

Δημοσ.

Από τη στιγμή που το script τρέχει στο μηχάνημα του χρήστη, δεν μπορείς να κάνεις τίποτα. Όσο obfuscateκαι να κάνεις με απλά breakpoints μπορεί κάποιος να βρει πως λειτουργεί το script.

Δημοσ.

όχι δεν γινεται. αλλα δεν καταλαβα καν αν το βγαζεις online, μπορεις με php να αποτρεψεις το direct download αλλα μεχρι εκει, αν καποιος το εχει συνηθειο να κοιταζει κωδικες αλλων θα ξερει ευκολα να τα προσπερασει αυτα. 

Δημοσ.

όχι δεν γινεται. αλλα δεν καταλαβα καν αν το βγαζεις online, μπορεις με php να αποτρεψεις το direct download αλλα μεχρι εκει, αν καποιος το εχει συνηθειο να κοιταζει κωδικες αλλων θα ξερει ευκολα να τα προσπερασει αυτα. 

 

 

οχι δεν ειναι online απλα σκεφτομαουν ανα γινεται  η javascript που τρεχει μεσα στο browser να δημιουργησει καποιο μοναδικο κωδικο με βαση καποιο μοναδικο στοιχειο πχ τη μακ αντρεσ αλλα δεν εχω προσβαση εκει........αλλιως με καποιο cookie η καποια εγγραφη στη local storage

Από τη στιγμή που το script τρέχει στο μηχάνημα του χρήστη, δεν μπορείς να κάνεις τίποτα. Όσο obfuscateκαι να κάνεις με απλά breakpoints μπορεί κάποιος να βρει πως λειτουργεί το script.

 

ισχυει εχεις κατι να προτεινεις?να ανεβασω τα σκριπτ σε σερβερ και να τα παιρνουν απο εκει με καποιο κωδικο?

Δημοσ.

Μάλλον δεν έχεις καταλάβει πως λειτουργεί η JavaScript. Ο κώδικας είναι ενσωματωμένος στην html σελίδα. Η html σελίδα εκτελείται από τον browser του ΧΡΗΣΤΗ. Άρα δεν μπορείς να κάνεις τίποτα πέρα από το να περάσεις τον κώδικα από έναν obfuscator απλά για να μην είναι εύκολα αναγνώσιμος. Δεν μπορείς να ανεβάσεις τίποτα σε server και να παίρνουν από εκεί με κωδικό. Δεν γίνεται αυτό το πράγμα. Ο κώδικας πάει πακέτο με την html. Αν τον βάλεις ξέχωρα δεν θα εκτελεστεί.

 

Η μόνη λύση γι αυτό το πράγμα είναι η web assembly. Αλλά η web assembly είναι σε πειραματικό στάδιο προς το παρόν.

Δημοσ.

Η καλύτερη λύση είναι να τρέχεις τον κώδικα που θέλεις να κρύψεις στο back end και με ένα REST API για να στέλνεις τα data στο front end.  

Δημοσ. (επεξεργασμένο)

Μάλλον δεν έχεις καταλάβει πως λειτουργεί η JavaScript. Ο κώδικας είναι ενσωματωμένος στην html σελίδα. Η html σελίδα εκτελείται από τον browser του ΧΡΗΣΤΗ. Άρα δεν μπορείς να κάνεις τίποτα πέρα από το να περάσεις τον κώδικα από έναν obfuscator απλά για να μην είναι εύκολα αναγνώσιμος. Δεν μπορείς να ανεβάσεις τίποτα σε server και να παίρνουν από εκεί με κωδικό. Δεν γίνεται αυτό το πράγμα. Ο κώδικας πάει πακέτο με την html. Αν τον βάλεις ξέχωρα δεν θα εκτελεστεί.

 

Η μόνη λύση γι αυτό το πράγμα είναι η web assembly. Αλλά η web assembly είναι σε πειραματικό στάδιο προς το παρόν.

εγω μιλαω για επεμβαση σtη σελιδα μεσω userscript

Επεξ/σία από cnkostas
Δημοσ.

Από τη στιγμή που το script τρέχει στο μηχάνημα του χρήστη, δεν μπορείς να κάνεις τίποτα. Όσο obfuscateκαι να κάνεις με απλά breakpoints μπορεί κάποιος να βρει πως λειτουργεί το script.

 

Και τι θα δεις με το breakpoint? 

 

Τι βλεπεις εδω;

JBF2QdA.png?1

 

 

μαγκ επιστερφει την ναγκο που επιστρεφει την μπαγκ. Οκ απλο, αλλα τι επιστρεφει η μπαγκ

 function NAg(b, c, d) {
                var a, g, h;
                g = IAg++ == 0;
                try {
                    if (tyg) {
                        try {
                            return b.apply(c, d)
                        } catch (a) {
                            a = MMh(a);
                            if (A2g(a, 22)) {
                                h = a;
                                FZ(h);
                                return undefined
                            } else
                                throw a
                        }
                    } else {
                        return b.apply(c, d)
                    }
                } finally {
                    g && aBg((ZAg(),
                    YAg));
                    --IAg
                }
            }
            function QAg() {
                var a = $doc.location.href;
                var b = a.indexOf(Ofj);
                b != -1 && (a = a.substring(0, );
                b = a.indexOf(cgk);
                b != -1 && (a = a.substring(0, );
                b = a.lastIndexOf(xqk);
                b != -1 && (a = a.substring(0, );
                return a.length > 0 ? a + xqk : g5i
            }

ας μην δουλευομαστε, αν εγινε καλη δουλεια τοτε δεν καταλαβαινεις χριστο

  • Like 1
Δημοσ.

Και τι θα δεις με το breakpoint? 

 

Τι βλεπεις εδω;

JBF2QdA.png?1

 

 

μαγκ επιστερφει την ναγκο που επιστρεφει την μπαγκ. Οκ απλο, αλλα τι επιστρεφει η μπαγκ

 function NAg(b, c, d) {
                var a, g, h;
                g = IAg++ == 0;
                try {
                    if (tyg) {
                        try {
                            return b.apply(c, d)
                        } catch (a) {
                            a = MMh(a);
                            if (A2g(a, 22)) {
                                h = a;
                                FZ(h);
                                return undefined
                            } else
                                throw a
                        }
                    } else {
                        return b.apply(c, d)
                    }
                } finally {
                    g && aBg((ZAg(),
                    YAg));
                    --IAg
                }
            }
            function QAg() {
                var a = $doc.location.href;
                var b = a.indexOf(Ofj);
                b != -1 && (a = a.substring(0, );
                b = a.indexOf(cgk);
                b != -1 && (a = a.substring(0, );
                b = a.lastIndexOf(xqk);
                b != -1 && (a = a.substring(0, );
                return a.length > 0 ? a + xqk : g5i
            }

ας μην δουλευομαστε, αν εγινε καλη δουλεια τοτε δεν καταλαβαινεις χριστο

 

μπορεις με console log να δεις τι επιστρεφει....

Δημοσ.

ας μην δουλευομαστε, αν εγινε καλη δουλεια τοτε δεν καταλαβαινεις χριστο

Ναι μπορούν να σου το κάνουν αρκετά δύσκολο, αλλά το θέμα είναι ότι ανάλογα τι θες να κάνεις ίσως δε χρειάζεται να καταλάβεις τα πάντα. Good enough is good enough.

  • Like 1
Δημοσ.

Ναι μπορούν να σου το κάνουν αρκετά δύσκολο, αλλά το θέμα είναι ότι ανάλογα τι θες να κάνεις ίσως δε χρειάζεται να καταλάβεις τα πάντα. Good enough is good enough.

Ελα μωρε, ειναι χειροτερη και απο asm. Εκατσα κανα 10ωρο για το τιποτα. Η μαλακια αλλαζει και τα get. Αν εχεις την σελιδα σε δυο ταμπ, για το ιδιο πραμα θα εχεις διαφορετικα get... ημαρτον.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...