Reversing.kr의 문제 Flash Encrypt입니다. 문제 파일을 다운로드 받겠습니다. swf 파일이네요. SWF란, 어도비 플래시에서 멀티미디어, 액션 스크립트, 벡터 그래픽 등을 처리하는 곳에 사용되는 파일 형식입니다. 플래시 뷰어로 파일을 열어보겠습니다. 회색 배경에 숫자를 입력하는 창밖에 보이지 않습니다. 이제 swf 파일의 디컴파일러인 JPEXS로 열어서 분석하겠습니다. 분석하던 중에 BUTTONCONACTION 파일에서 공통적으로 전역 함수 gotoAndPlay와 서로 다른 조건식이 있다는 것을 확인했습니다. 그래서 각 입력란에 조건식에 맞는 값을 넣어주었더니.. Key 값이 출력되었습니다.
안드로이드 APK 디컴파일이란? 먼저 디컴파일(Decompile)이란 역컴파일이란 말로써 컴파일의 반대 개념입니다. 안드로이드 APK 파일은 JAVA 기반으로 이루어져 있기 때문에 컴파일 후 코드의 실행 구조를 디컴파일 할 수 있습니다. apk 파일 디컴파일을 할 때 사용되는 프로그램들은 다양하지만 저는 그중에서 제가 가장 좋다고 느끼는 JADX 툴로 설명을 하겠습니다. JADX : https://github.com/skylot/jadx/releases 위 링크에서 JADX를 다운로드 받을 수 있습니다. ※ jadx는 jdk 1.7.0_80 버전이 설치 되어있어야만 실행할 수 있습니다. 1. 디컴파일 할 APK 파일을 다운로드 받는다. 2. jadx-gui.bat을 이용해서 apk 파일의 자바 코드를 분..
Reversing.kr의 문제 Easy ELF입니다. 리눅스 환경에서 문제 파일을 실행시켜보면.. 입력하는 칸이 나와서 아무 숫자나 입력했는데 실패 문자열이 출력되네요. 문제 파일을 IDA로 분석해보겠습니다. 문자열을 출력하고 두 함수를 거친 뒤 eax의 값이 1이면 80484F7 함수를 호출한 뒤 프로그램이 종료됩니다. 그런데 만약 eax의 값이 1이 아니라면 실패 문자열이 출력되고 종료됩니다. 80484F7 함수를 확인해보겠습니다. 성공 문자열을 출력하는 함수네요. 그렇다면 위 두 함수를 지난 뒤 eax가 1이 되는 값을 구하면 되겠군요. 먼저 8048434 함수를 보겠습니다. scanf 함수를 호출해서 804A020부터 문자를 저장시킨다는 것 같습니다. 이제 8048451 함수를 보겠습니다. 코드의..
- Total
- Today
- Yesterday
- 17th HackingCamp CTF
- Programming
- pwnable
- xcz.kr
- Unity
- Level 06
- 멘토링
- Write-up
- Level 05
- Level 04
- Level 03
- Android
- 유니티
- Level 02
- HackingCamp
- 안드로이드 멘토링
- wargame
- c++
- 풀이
- unity2d
- hackerschool
- C#
- Level 01
- 안드로이드
- Basic RCE
- Reversing
- Advance RCE
- CodeEngn
- reversing.kr
- ftz
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |