본문 바로가기

wargame/Suninatas

써니나타스 #5번 풀이

반응형

암튼 단순해서 좋네요

힌트도 확인하고

뭐 체크를 눌러도 별 반응이 없네요...

뭐징

소스 보니까 누가봐도 eval함수에 JS난독화

그래도 뭐 eval계열은 그냥 툴돌리면 간단하게 보기 편해지니까 좋죠 뭐 ㅋㅋ

https://www.strictly-software.com/unpack-javascript

 

Javascript Unpacker Tool - Strictly Software

This Javascript unpacker tool has now been upgraded to allow it to unpack multiple eval statements. So if your packed code has itself been packed a few times it will loop through until it finds the original source code. If you want to test this multiple ev

www.strictly-software.com

자주 쓰는 사이트에서 해제

더보기

var digitArray = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
function PASS(n) {
var result = '';
var start = true;
for (var i = 32; i > 0;) {
i -= 4;
var digit = (n >> i) & 0xf;
if (!start || digit != 0) {
start = false;
result += digitArray[digit]
}
}
return (result == '' ? '0': result)
}

너무 깔끔하게 풀려서 당황쓰

리버싱 입문 문제 같네요 ㅋㅋ

이런건 간단하니까 굳이 복호화 루틴도 짤 필요가 없죠

그냥 콘솔에 함수에 result출력하게 하고

한번 돌려줍시다.

var digitArray = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 
function PASS(n) { 
var result = ''; 
var start = true; 
for (var i = 32; i > 0;) { 
i -= 4; 
var digit = (n >> i) & 0xf; 
if (!start || digit != 0) { 
start = false; 
result += digitArray[digit] 
} }

alert(result); 
return (result == '' ? '0': result) 
}

로 alert하게 해줍시다.

알아서 반환해주네요;;;

킹갓크롬

인증해주면 플래그 획득~

'wargame > Suninatas' 카테고리의 다른 글

써니나타스 #7번 풀이  (0) 2020.08.02
써니나타스 #6번 풀이  (0) 2020.08.02
써니나타스 #4번 풀이  (0) 2020.08.02
써니나타스 #3번 풀이  (0) 2020.08.02
써니나타스 #2번 풀이  (0) 2020.08.02