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

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

Δημοσ.

Γεια σας έχω μια ερώτηση

 

θέλω να φτιάξω ενα bot για ένα online παιχίδι (me userscript(javascript-jquery)) με την εξης μορφή

 

Bot ={

active:true,

alert:true,

κλπ κλπ κλπ

}

 

η ερώτησή μου ειναι η εξής μπορουν απο τη μεριά του παιχνιδιού να δουν το window scope μου δηλαδη το κωδικα του μποτ μου?

 

window.Bot  ={

active:true,

alert:true,

κλπ κλπ κλπ

}

Δημοσ.

Το κανεις minify και κανενας δεν θα ασχοληθει.

Πως?

 

Παλi δε το βλεπουν?Ασχετα αν ειναι minify

 

Ναι.

Σε ανωνυμο function με 'strict' δε παει στο window scope

 

(function () {
"use strict"
.....

})()

 

ξερεις καποιος αλλο τροπο πιο ευκολο μη ανιχνευσιμο?

 

;

Δημοσ.

Σε ανωνυμο function με 'strict' δε παει στο window scope

 

(function () {
"use strict"
.....

})()

 

Δεν θα κάνει bind DOM events το bot σου (π.χ. κουνήθηκε το ποντίκι); Με ένα enumeration βρίσκει κανείς αν υπάρχουν binds που δεν πρέπει να υπάρχουν. 

Δημοσ.

Δεν θα κάνει bind DOM events το bot σου (π.χ. κουνήθηκε το ποντίκι); Με ένα enumeration βρίσκει κανείς αν υπάρχουν binds που δεν πρέπει να υπάρχουν. 

 

Οχι δεν εχω του εχω βαλει το ξερω οτι τα βρησκουν.Καποιος αλλος τροπος για το scope?

 

(function () {
"use strict"
.....

})() ναι ετσι δε το βρησκουν αλλα και εγω εξω απο το σκοπε δεν εχω προσβαση.

Δημοσ.

Πως?

 

Παλi δε το βλεπουν?Ασχετα αν ειναι minify

 

 

 

 

ενα ραντομ σκριπτακι

 function addTable() {

            var myTableDiv = document.getElementById("metric_results")
            var table = document.createElement('TABLE')
            var tableBody = document.createElement('TBODY')

            table.border = '1'
            table.appendChild(tableBody);

            var heading = new Array();
            heading[0] = "Request Type"
            heading[1] = "Group A"
            heading[2] = "Groub B"
            heading[3] = "Group C"
            heading[4] = "Total"

            var stock = new Array()
            stock[0] = new Array("Cars", "88.625", "85.50", "85.81", "987")
            stock[1] = new Array("Veggies", "88.625", "85.50", "85.81", "988")
            stock[2] = new Array("Colors", "88.625", "85.50", "85.81", "989")
            stock[3] = new Array("Numbers", "88.625", "85.50", "85.81", "990")
            stock[4] = new Array("Requests", "88.625", "85.50", "85.81", "991")

            //TABLE COLUMNS
            var tr = document.createElement('TR');
            tableBody.appendChild(tr);
            for (i = 0; i < heading.length; i++) {
                var th = document.createElement('TH')
                th.width = '75';
                th.appendChild(document.createTextNode(heading[i]));
                tr.appendChild(th);

            }

            //TABLE ROWS
            var tr = document.createElement('TR');
            tableBody.appendChild(tr);

            for (i = 0; i < stock.length; i++) {
                for (j = 0; j < stock[i].length; j++) {
                    var td = document.createElement('TD')
                    td.appendChild(document.createTextNode(stock[i][j]));
                    td.appendChild(td)
                }
            }

            myTableDiv.appendChild(table)

        }

μετα απο minify

function addTable() {
  var a = document.getElementById("metric_results"),
    b = document.createElement("TABLE"),
    c = document.createElement("TBODY");
  b.border = "1", b.appendChild(c);
  var d = new Array;
  d[0] = "Request Type", d[1] = "Group A", d[2] = "Groub B", d[3] = "Group C", d[4] = "Total";
  var e = new Array;
  e[0] = new Array("Cars", "88.625", "85.50", "85.81", "987"), e[1] = new Array("Veggies", "88.625", "85.50", "85.81", "988"), e[2] = new Array("Colors", "88.625", "85.50", "85.81", "989"), e[3] = new Array("Numbers", "88.625", "85.50", "85.81", "990"), e[4] = new Array("Requests", "88.625", "85.50", "85.81", "991");
  var f = document.createElement("TR");
  for (c.appendChild(f), i = 0; i < d.length; i++) {
    var g = document.createElement("TH");
    g.width = "75", g.appendChild(document.createTextNode(d[i])), f.appendChild(g)
  }
  var f = document.createElement("TR");
  for (c.appendChild(f), i = 0; i < e.length; i++)
    for (j = 0; j < e[i].length; j++) {
      var h = document.createElement("TD");
      h.appendChild(document.createTextNode(e[i][j])), h.appendChild(h)
    }
  a.appendChild(
}

Καταλαβαινεις πως δεν εχει και τοσο μεγαλη σημασια να δει καποιος εναν τετοιο κωδικα. 

  • Like 1
Δημοσ.

Σωστο αλλα και παλι βλέπουν οτι κατι υπαρχει.

 

Το θεμα ειναι να εχω το δικο μου scope αλλα να μπορω να καλεσω και κατι απο μεσα απο το window scope πχ

 

(function () {
"use strict"
 
var Bot ={
some:function(){ return false; }
 
};
 
Bot.some() //false
 

})()

 

 

Bot.some() //undefined

Δημοσ.

Οτι σκριπτ και να γραψεις, αυτο θα κατεβει στον client. Το μονο που μπορεις να κανεις, ειναι να το κανεις να μην διαβαζεται. Ενας απλος τροπος ειναι το minify, ενας αλλος ειναι το obfuscator που κανει πανω κατω το ιδιο πραμα με το minify.

Δημοσ.

Οτι σκριπτ και να γραψεις, αυτο θα κατεβει στον client. Το μονο που μπορεις να κανεις, ειναι να το κανεις να μην διαβαζεται. Ενας απλος τροπος ειναι το minify, ενας αλλος ειναι το obfuscator που κανει πανω κατω το ιδιο πραμα με το minify.

 

εγω ειμαι ο client ο αλλος ειναι το παιχνιδι ο server

 

εννοεις οτι απο τη στιγμη που θα το τρεξω εγω σαν client αυτοι θα το δουν?

Δημοσ.

Ααααααα script injection θες να κανεις. Οχι δεν μπορουν.

αχαχαχαχχααχαχχαχα

 

και τοση ωρα τι λεμε νομιζες οτι ημουν ο server?

 

 

ρωτησα στην αρχη κανω inject το σκριπτ μου και αυτο παει στο window scope αυτοι μπορουν να το δουν?

 

Με λιγα λογια μπορουν να δουν το window scope του client απο το server?

Δημοσ.

Αν εχουν καποιο js που στελνει feedback ναι μπορει, αλλα και παλι αυτο το βλεπεις και το "φτιαχνεις"

Aυτο ακριβως γι'αυτο ρωταω γιατι σημερα ειδα ψαχνοντας για κατι στο window object

 

window.Connection.socket.subs.Global window

 

και ηταν μεσα ολο το window object [μαζι με το σκριπτ μου :(] μαλλον αυτο το στελνει στο σερβερ

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

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

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

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

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

Σύνδεση

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

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