다른언어에도 동일하게 적용이된다.
엔터도 하나의 데이터이다.
일종의압축하기위해서
html 에서 바이트를 절약하기위해서 다닥다닥 붙어서
유도하는 방법 압축시킴
함수로 표현함으로써 흐름을 혼란스럽게만든다.
function을 실행해서
var n 은 2이고
var a는 test이고 alerta 와 alert n을 전달하는것
funtion을 하나선언해서 함수는 a()에서 실행이되는 것이여서 어렵게만든거
var a 는 funtion()
var n =2
var a = test
원래 이전에있던함수이지만
갈기갈기찍은것입니다.
var s0부터 var s13까지
이전부 왼쪽에있는 스트링들을
조합해서 오른쪽에 전부 합친것입니다.
실질적으로 왼쪽에있는 내용이
반영되는곳은
document.write(부터이다.
문장사이사이에
vars0사이에 boanproject를 넣은 것입니다.
즉 쓸모없는 string을 하는 것입니다.
보안프로젝트가나오면 아무것도없는 문자열로 치환을 하겠다.
라는것입니다.
아스키코드로 인코딩해두면 완전히 알아보기가 힘들어집니다.
컴퓨터는 해석하기가쉽지만 인간은 입니다
%아스키값을 통해서 unescape 함수를 통해서
모두 탈출하고 문자를 합치고 s.replace 보안프로젝트 문자열을 없애고
eval까지 합니다.
실습==============================
1.html 을 만든뒤에
<script>
var n = 2;
var a = "test";
alert(a);
alert(n);
</script>
이렇게 집어넣은 뒤에
실행을 시켜봅시다.
이렇게 alert가 뜨는데
이파일을 난독화해봅시다.
난독화 1=================
의미없는 데이터 없애기
<script>var n = 2;var a = "test";alert(a);alert(n);</script>
문제없이 똑같이 작동을 했다.
난독화 2====================================
<script>var a = function() {var n = 2;var a = "test";alert(a);alert(n);};a()</script>
funtion a() 를 넣어서 복잡하게 실행되게한다 결국에는 처음에 실행된것이 같다.
똑같은 결과가 나온다.
========================
난독화 3
이데이터를 주석처리를해주고
이렇게 진행을하게되면
맨위의 코드와 똑같이되서
역시나 똑같은 결과가 나오게됩니다.
s0 ~ s8 까지해놓고 한번에 합쳐버리는 것입니다.
마지막에
그리고 하나로 합쳐버리고 엔터를 지우면 역시나 이렇게 어렵게되는 문자가 되는 것입니다.
===============난독화 4
이문자를
내부에 boanproject 쓰레기문자를 안에삽입해서 나중에 합치는것입니다.
그래서 이렇게 만들면
boanproject가 들어가있는 문자를 아무것도 없는 것으로 됬습니다.
쓰레기값을 넣고 변경.
==========================================================
text to ascii 라고 검색하면된다.
unescape 함수는
s를 퍼센트 된것을 바꿀수가 있습니다.
'악성코드 및 포렌식' 카테고리의 다른 글
메모리 포렌식 - crldex 복습 (0) | 2024.05.26 |
---|---|
스크립트 난독화 (0) | 2021.04.06 |
파워쉘 파일리스 악성코드 (0) | 2021.04.06 |
Citadel 악성코드 분석 3 고급 분석 (0) | 2021.04.06 |
Citadel 악성코드 분석 2 기초 동적 분석 (0) | 2021.04.06 |