Flash Encrypt

A SWF file observed dynamically by embedding it in a page, rather than decompiling the ActionScript.

2026.08.18 Reversing original post

SWF 파일을 HTML에 임베드해서 브라우저에서 실행(또는 시도)해보는 ‘동적 관찰 방법’ 을 시도해 보겠다 .

<embed src="flashenc.swf" width="100%" height="100%"></embed>

이건 아주 단순하게 말해서: flashenc.swf 파일을 웹페이지 안에 플래시 객체로 삽입(embed) 하겠다는 뜻이다. 하지만 이건 옛날 풀이 방식이고 지금 은 99% 작동하지 않는다. 아마 정적 분석많을 사용해서 풀어야할ㄷ듯하다.

여기 Flash Encrypt 전용 분석도구다: https://github.com/jindrapetrik/jpexs-decompiler/releases?utm

Figure 1

일단 F6 로 파일을 런해본다. 위에처럼 여러 프레임을 반복하며 정신사납게 버튼이 사라졌다 다른 장소에서 나타나기를 반복한다. 아마 그 버튼을 누르면 키플래그가 나오는 형식같다. 이 이후 세팅이 중요하다. 밑에 보이는 세팅을 따라하면 된 다. 그럼 디컴파일이 된 소스코드들을 script 디렉토리에서 볼수있다. 일단 여기에 있는 소스 코드의 의미를 이해해보자 spw 는 사용자가 입력한 비밀번호 값같다. gotoAndPlay(3) 는 프레임 3으로 점프해서 거기 있는 코드/화면을 실행같다. 그런식으로 프레임 3에 가서 또 코드를 보는 식으로 풀면된다.

Figure 2

즉 코드의 논리는: 입력값이 맞으면 → 성공 프레임으로 이동 입력값이 틀리면 → 입력값 초기화 eg. [입력] ↓ [버튼 1] spw == 1456 ? → frame 3 → [버튼 2] spw == 8 ? → frame 4 → [버튼 3] spw == 88 ? → frame 5… [최종 frame] → flag 출력 …여러 단계를 통과해야 최종 정답 그러니까 코드를 분석해서 흐름을 따라갔을때:

1456 → 25 → 44 → 8 → 88 → 20546 → 플래그; 이러한 흐름으로 흘러가는걸 알았다

답을 찾으려고 문자열 찾기나, 여러가지 정적 분석 기구를 다해봤는데 없었다. 공식 풀이를 보니 HTML 임베드 방법을 사 용해 푸는거 같은데, 지금은 불가능했다. Save as exe 로 동적분석을 시도해볼려 했는데, 그거또한 막힌다. 대신 Flash Emulator, ruffle 을 깔아줬다! SWF 파일 을 드래그앤 드롭하면 동적분석이 가능하다. 아까 얻은 흐름대로 하나하나 적어주면 끝에 플래그를 얻었다.

Figure 3