1. 난독화 도구 사용
수동으로 작업하기 전에 자동 난독화 해제 도구를 통해 분석해 본다. VBE코드의 경우 '@~^' 로 시작되고 뒤에 난독화 된 문자열이 이어지는 패턴이다. (Microsoft Script Decoder 선택 후 Recipe에 드래그앤드롭)
CyberChef
gchq.github.io
2. VBScript 코드 정리
한 줄에 여러개의 명령어를 작성할 때 : (콜론)을 사용하는데 이를 줄바꿈으로 치환
: (콜론) → :\r\n
또는 조건문, 반복문, 함수 정의, 블록 끝으로 치환 (Notepad++ 정규표현식 모드)
(\bIf\b|\bFor\b|\bSub\b|\bFunction\b|\bDo\b|\bWhile\b|\bElse\b|\bThen\b) → \r\n\1
Notepad++ Syntax Highlighter를 통해 가독성 향상
' (작은따옴표) VBScirpt에서 주석을 의미
3. 동적 실행 함수를 찾아서 출력 함수로 변환
VBScript에서 난독화된 스크립트는 Execute, ExecuteGlobal, Eval 같은 함수로 동적으로 실행된다. 이를 MsgBox, WScript.Echo 활용하여 값을 출력할 수 있다.
Execute
ExecuteGlobal
Eval
WScript.Echo (Windows 기반에서 사용)
MsgBox (팝업창)
4. 의심 코드 주석 처리하고 하나씩 해제
난독화 스크립트는 보통 긴 문자열과 루프, 배열을 포함하고 있다.
- Execute나 Eval 같은 거 주석 처리
- 디코딩 함수에 직접 값을 넣어서 출력
- 실행 중인 문자열을 하나씩 추적
'분석 TIP > 프로텍션' 카테고리의 다른 글
Themida 도구 언패킹 방법 (0) | 2025.04.29 |
---|---|
VMProtect 메뉴얼 언패킹 방법 (0) | 2025.04.28 |
Powershell 난독화 풀기 (0) | 2025.04.08 |
도구로 쉽게 난독화 풀기 예시 (0) | 2025.04.02 |
JavaScript 난독화 풀기 (0) | 2025.04.01 |