<script type="text/javascript">
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
//var pass = FAUX PASSWORD HAHA
var tab = pass_enc.split(',');
// 매개변수로 들어온 값을 , 기준으로 쪼개
var tab2 = pass.split(',');
var i, j, k, l=0, m, n, o, p = "";
i = 0;
j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ ){
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
//55,56,54,79,115,69,114,116,107,49,50
//786OsErtk12
h = window.prompt('Entrez le mot de passe / Enter password');
alert( dechiffre(h) );
</script>
주석은 내가 썼당...
난독화라기 보기에는 코드가 깔끔하다.
dechiffre 함수만 잘 이해해보자.
마지막줄에 pass=p 에서 항상 같은 에러메시지를 띄워준다…. 맞는 값이여도 그럴듯
deciffre 에 들어가는 매개변수가 검증값인거같다.
한번 번역을 해보자. 번역은 아스키코드표 보고 했다 (hex -> ascii)
pw : 786OsErtk12
'WriteUp > Root-me.org' 카테고리의 다른 글
HTTP - User-agent (0) | 2020.06.13 |
---|---|
SIP - authentication (0) | 2020.06.05 |
Javascript - Native code (0) | 2020.06.03 |
Javascript - Authentication 2 (0) | 2020.06.03 |
Javascript - Obfuscation 2 (0) | 2020.06.03 |