Sto riscontrando qualche problema nel debug di un javacscript codificato. Questo script mi riferisco a questo link su qui .
La codifica qui è semplice e funziona spostando i valori degli unicodes in qualsiasi codice Code utilizzato durante la codifica. Il codice che esegue la decodifica è riportato qui in inglese semplice di seguito: -
<script language="javascript">
function dF(s){
var s1=unescape(s.substr(0,s.length-1)); var t='';
for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));
document.write(unescape(t));
}
</script>
Sono interessato a conoscere o comprendere i valori (ad es. s1, t). Come per esempio quando il valore di i = 0 quali valori avrebbero i seguenti attributi / metodo dovrebbero contenere
s1.charCodeAt(i) and s.substr(s.length-1,1)
Il motivo per cui sto facendo questo è capire come funziona veramente una funzione CodeKey. Non vedo nulla nel codice sopra il quale dice di decodificare sulla base del valore codekey. L'unica cosa che posso indicare nel testo di codifica è l'ultimo carattere che è impostato su 1, 2, 3 o 4 a seconda della chiave di codice selezionata durante il processo di codifica. Si può verificare usando il link che ho indicato sopra.
Tuttavia, per eseguire il debug, sto usando addon firebug con lo script in esecuzione come localhost sul mio server di wamp. Sono in grado di mettere un breakpoint su js usando firebug ma non riesco a recuperare nessuno dei parametri definiti dall'utente o delle funzioni che ho menzionato sopra.
Voglio sapere in questo contesto quale sarebbe il modo migliore per eseguire il debug di questo js codificato.
Modifica
@blueberryfields Grazie per l'accurata revisione del codice.
Tuttavia, per chiarire che questo non è compito a casa è qualcosa che ho scelto da un sito web su codifica e javascript.Il materiale sembrava interessante e ha deciso di provarlo. Non vedo il punto di usare le variabili intermedie come speravo di utilizzare quelle già definite (s1, t, i). Di solito questi tipi di variabili sono visti in modo firebug troppo spesso come i tipi enumerabili. Inoltre, utilizzando un buon punto di interruzione e il posto giusto, posso sempre scavalcare questi valori nel ciclo.
Ho cambiato il mio focus mentre qualcuno su stackexchange mi ha detto di usare dragonfly (opera) così come sono stato in grado di recuperare la variabile ei loro valori con l'istruzione breakpoint. Per altri valori ho appena fatto document.write
per ottenere i risultati desiderati. Ecco il link dello screenshot.
link .
Ero più interessato a capire la parte della codifica che effettivamente dice al programma di spostare il carattere unicode basato sul valore della chiave del codice. Quella parte di codice era s.substr(s.length-1,1)
. Ha appena estratto l'ultimo carattere che è il numero della chiave di codice e quindi lo usa nel calcolo del valore del charcode corrispondente.
Se annulli la scansione di questo codice shift-1 %264DTDSJQU%2631MBOHVBHF%264E%2633kbwbtdsjqu%2633%264F%261Bbmfsu%2639%2638Ifmmp%2631Xpsme%2638%263%3A%264C%261B%264D0TDSJQU%264F%261B%261%3A%261%3A%261%3A1
otterrai &4DTDSJQU&31MBOHVBHF&4E&33kbwbtdsjqu&33&4F&1Bbmfsu&39&38Ifmmp&31Xpsme&38&3:&4C&1B&4D0TDSJQU&4F&1B&1:&1:&1:1
Sebbene questi ultimi caratteri non siano richiesti ma siano stati aggiunti intenzionalmente, questo aiuta a decodificare.