Write-Up
해당 코드를 aadecode 실행하니, 아래와 같은 코드가 출력되었다.
var enco='';
var enco2=126;
var enco3=33;
var ck=document.URL.substr(document.URL.indexOf('='));
for(i=1;i<122;i++){
enco=enco+String.fromCharCode(i,0);
}
function enco_(x){
return enco.charCodeAt(x);
}
if(ck=="="+String.fromCharCode(enco_(240))+String.fromCharCode(enco_(220))+String.fromCharCode(enco_(232))+String.fromCharCode(enco_(192))+String.fromCharCode(enco_(226))+String.fromCharCode(enco_(200))+String.fromCharCode(enco_(204))+String.fromCharCode(enco_(222-2))+String.fromCharCode(enco_(198))+"~~~~~~"+String.fromCharCode(enco2)+String.fromCharCode(enco3)){
location.href="./"+ck.replace("=","")+".php";
}
아래와 같이 javascript 코드를 살짝 변형하여, 실행해주었다.
var enco='';
var enco2=126;
var enco3=33;
var ck='/'
for(i=1;i<122;i++){
enco=enco+String.fromCharCode(i,0);
}
function enco_(x){
return enco.charCodeAt(x);
}
console.log(enco)
console.log(String.fromCharCode(enco_(240)))
console.log(String.fromCharCode(enco_(220)))
console.log(String.fromCharCode(enco_(232)))
console.log(String.fromCharCode(enco_(192)))
console.log(String.fromCharCode(enco_(226)))
console.log(String.fromCharCode(enco_(200)))
console.log(String.fromCharCode(enco_(204)))
console.log(String.fromCharCode(enco_(222-2)))
console.log(String.fromCharCode(enco_(198)))
console.log("~~~~~~")
console.log(String.fromCharCode(enco2))
console.log(String.fromCharCode(enco3))
파이썬 코드를 사용한다면 아래와 같다.
enco = ''
enco2 = 126
enco3 = 33
ck = '/'
for i in range(1, 122):
enco += chr(i) + chr(0)
def enco_(x):
return ord(enco[x])
print(''.join([chr(enco_(x)) for x in [240, 220, 232, 192, 226, 200, 204, 222-2, 198]]) + "~~~~~~" + chr(enco2) + chr(enco3))
코드를 사용하지 않고, console 창에서 해결하는 방법은 아래와 같다.
참고
https://blog.naver.com/diceworld/220175224345
https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html