2018 HackingCamp CTF의 SWAP WORLD라는 문제입니다. 문제 파일을 IDA로 분석하던 중에 이상한 문자열을 찾았습니다. 상당히 수상해 보이네요. 저 문자열이 사용되는 곳으로 가보겠습니다. 수상한 문자열을 복호화 시켜준 뒤 출력시켜 주네요. 아마 flag 같습니다. 위 코드를 이용해서 저 문자열을 복호화시켜주는 코드를 짜보겠습니다. print bytearray([x^5 for x in bytearray("MFDHU~\\5pZNkjrZ!RDUZRJWIAx")]) 이 코드를 실행시켜보면.. flag가 출력됩니다!
2018 HackingCamp CTF의 PPAP라는 문제입니다. 문제 파일이 jar 파일이네요. 자바 디컴파일러로 열어보겠습니다. 그런데 아무것도 보이지 않네요.. CFR 자바 디컴파일러로 직접 문제 파일의 소스코드를 추출하겠습니다. 숫자들이 담겨있는 엄청나게 긴 배열이 나왔습니다. 저 배열 안에 있는 숫자들을 문자로 바꾸고 파일로 만들어보겠습니다. 배열 안에 있는 숫자들과 0xff를 & 연산해주어서 문자로 만든 뒤 arrby.class 파일에 저장했습니다. arrby.class 파일의 내용을 확인해보겠습니다. 입력받은 문자열의 길이와 내용이 flag와 같다면 배열 안에 있는 값들을 복호화시켜준 뒤 flag를 출력하는 프로그램이군요. 이 코드를 이용해서 flag를 출력해주는 코드를 짜보겠습니다. from..
2018 HackingCamp CTF의 CSdroid라는 문제입니다. "이것은 자바?" 제가 이 문장 때문에 자바 코드 쪽을 봐야 하는 문제인 줄 알고 삽질 엄청 했죠.. ㅠㅠ 파일을 다운로드 받으면 CSdroid라는 apk 파일이 나옵니다. 이 파일을 가상 안드로이드 환경에서 실행시켜주면, 이런 화면이 나옵니다. 체크 버튼을 누르면 "WRONG"이라는 문자열밖에 출력되지 않습니다. apk 파일 안에 여러 개의 dll 파일들이 있는데 그중에 CSdroid.dll 파일을 분석해보겠습니다. MainActivity를 보니 flag가 출력될 수 없게 되어있네요. 저 코드를 이용해서 flag를 출력하는 코드를 파이썬으로 짜보겠습니다. text = bytearray(34) text[6:10] = "2017" tex..
2018 HackingCamp CTF의 EZ라는 문제입니다. 매우 쉽다네요 ㅎㅎ C#으로 만들어진 8x8 타일들이 있는 프로그램입니다. 누르지 않으면 흰색, 누르면 검은색으로 바뀌는 타일들입니다. reflector로 열어서 분석해보겠습니다. Clicked 함수를 보니 '1110011110100101111001111000010001000111101001011110011110100100' 일 때 성공 문자열을 복호화한 후 출력한다고 합니다. 이 숫자를 8x8로 맞추고 1은 검은색 0은 하얀색으로 맞춰주면 저런 그림이 나옵니다. EZ 프로그램에 있는 타일을 저렇게 맞춰주면.. 플래그가 출력됩니다!
- Total
- Today
- Yesterday
- c++
- 멘토링
- hackerschool
- 유니티
- Reversing
- 안드로이드
- 17th HackingCamp CTF
- unity2d
- CodeEngn
- Level 03
- ftz
- Advance RCE
- 안드로이드 멘토링
- reversing.kr
- Unity
- C#
- Level 05
- Android
- Write-up
- HackingCamp
- pwnable
- Level 02
- Level 06
- Basic RCE
- Programming
- wargame
- xcz.kr
- Level 01
- Level 04
- 풀이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |