워게임
-
-
-
[reversing.kr] ransomware 풀이Wargame/reversing.kr 2021. 1. 8. 17:19
1. 프로그램 분석 프로그램을 다운로드하여 압축을 풀면 다음과 같이 세 가지 파일이 있는 것을 확인할 수 있다. 우선 readme.txt를 열어보자. file을 decrypt하라고 한다. 이제 run.exe를 실행시켜보자. file이 암호화 되어 있고 적절한 key를 입력하면 해당 key 값으로 파일을 복호화하는 구조의 프로그램인 것 같다. 위와 같이 임의의 키를 입력하였을 때 위와 같은 문구가 출력된다. 과연 파일이 복구되었는지 file에 exe 확장자를 붙여서 실행해보자. 위와 같이 당연하게도 "maple19out"으로는 파일 복호화가 안된 것을 알 수 있다. file 자체가 잘못된 키 값으로 복호화가 되었으므로, 새로 파일을 다운로드하고 디버거를 통해 디버깅을 해보자. 2. Debugging(wit..
-
[reversing.kr] Easy ELF 풀이Wargame/reversing.kr 2021. 1. 5. 13:29
본래는 dreamhack.io의 hash-browns 문제를 풀려고 했는데 리눅스 환경에서의 리버싱은 익숙하지 않다. 문득 reversing.kr의 100점짜리 문제인 Easy ELF가 떠올랐고, 풀기 위해 다양한 방법을 시도해보았다. - gdb로 접근 많은 사람들이 리눅스 환경에서 gdb를 이용하여 디버깅을 한다고 하였다. 보통 file (filename) 명령어로 symbol 테이블 정보를 받아오고 disas main과 같은 명령어를 통해 바로 main 함수 쪽 어셈블리 코드를 확인하는데 symbol table이 없다는 문구가 나왔다. 알고 보니 gcc compile 옵션에 -s를 추가하면 symbol table이 제거되는 효과가 있다고 한다. readelf 명령어를 통해 EP를 찾은 후 해당 주소를..
-
-
-
-