Ghidra
-
[reversing.kr] Position 풀이Wargame/reversing.kr 2021. 5. 22. 20:14
1. 프로그램 분석 첨부파일로 Position.exe와 ReadMe.txt 파일이 있다. 우선 Position.exe를 실행시켜보자. 특정 Name과 Serial을 입력해야 하는 듯하다. ReadMe.txt 파일을 열어보자. 파일에 대한 설명이 나와있다. Serial이 76876-77776일때의 이름을 찾으면 된다. 이름은 네 글자이고 'p'로 끝난다고 한다. 2. Debugging(with x32dbg & Ghidra) x32dbg로 파일을 열어보자. 사용되는 모듈을 먼저 보면 mfc로 작성된 프로그램임을 추측해볼 수 있다. 디버깅이 쉽지는 않을 것 같다. 어떻게 접근해볼지 고민하다가 Wrong이라는 문자열이 있는 것을 보아 적절한 input에 대해 Correct와 같은 문자열이 출력될 것이라 생각했다..
-
-
[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를 찾은 후 해당 주소를..