본문 바로가기
분석 TIP/프로텍션

VBScript 난독화 풀기

by 두유노우컴퓨터 2025. 4. 6.

출처 : 월암

 

1. 난독화 도구 사용

 

수동으로 작업하기 전에 자동 난독화 해제 도구를 통해 분석해 본다. VBE코드의 경우 '@~^' 로 시작되고 뒤에 난독화 된 문자열이 이어지는 패턴이다. (Microsoft Script Decoder 선택 후 Recipe에 드래그앤드롭)

CyberChef

 

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