Bonjour,
Je ne connais rien au JavaScript. Est-ce que ceci est une programme dangereux :
(Je vais quand même tenter une transcription en C, pour voir...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function decrypt_p(x) { var l=x.length,b=1024,i,j,r,p=0,s=0,w=0, t=Array(63,43,56,4,25,10,36,24,32,31,0,0,0,0,0,0,9,28, 34,41,40,62,19,53,46,47,18,0,8,50,51,54,20,52,49,44,26, 1,39,23,42,14,57,0,0,0,0,37,0,13,3,33,60,61,30,11,48,15, 58,59,17,16,45,35,29,7,2,55,6,21,5,12,27,22,38); for(j=Math.ceil(l/b);j>0;j--) { r=''; for(i=Math.min(l,b);i>0;i--,l--) { w|=(t[x.charCodeAt(p++)-48])<<s; if(s) { r+=String.fromCharCode(165^w&255); w>>=8;s-=2 } else { s=6 } } document.write(r) } } decrypt_p ("vXSM5WnG3JLc")
Plus de peur que de mal. Visiblement, ça se contente d'écrire :
(en C : )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3ooops!!! Press ENTER to continue.
Merci,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define min(a, b) (((a) > (b)) ? (b) : (a)) void decrypt_p (char const *x) { int l = strlen (x), b = 1024, i, j, p = 0, s = 0, w = 0, t[] = { 63, 43, 56, 4, 25, 10, 36, 24, 32, 31, 0, 0, 0, 0, 0, 0, 9, 28, 34, 41, 40, 62, 19, 53, 46, 47, 18, 0, 8, 50, 51, 54, 20, 52, 49, 44, 26, 1, 39, 23, 42, 14, 57, 0, 0, 0, 0, 37, 0, 13, 3, 33, 60, 61, 30, 11, 48, 15, 58, 59, 17, 16, 45, 35, 29, 7, 2, 55, 6, 21, 5, 12, 27, 22, 38}; char r[1024] = ""; int n = 0; for (j = ceil ((double)l / b); j > 0; j--) { for (i = min (l, b); i > 0; i--, l--) { w |= (t[x[p] - 48]) << s; p++; if (s) { n += sprintf (r + n, "%c", (165 ^ w) & 255); w >>= 8; s -= 2; } else { s = 6; } } printf ("%s", r); } } int main (void) { decrypt_p ("vXSM5WnG3JLc"); return 0; }
Emmanuel
Partager