Exatlon 를 풀고 싶으신가요?
Do you want to solve Exatlon?
Content of List
0. 살펴보기
1. 준비물
2. 로직분석
3. 풀이
0. 살펴보기
파일 시그니처가 ".ELF" 로 시작하므로 리눅스에서 실행 가능한 프로그램임을 확인
실행 파일을 압축한 패킹의 한 방식인 "UPX" 문자열 확인
1. 준비물
UPX 언패킹 프로그램, IDA
UPX 언패킹 다운로드 링크 : https://github.com/upx/upx/releases/tag/v3.95
2. 로직 분석
UPX 언패킹 프로그램을 이용하여 실행 로직 추출
디컴파일 및 디버깅 도구인 IDA로 로직 분석하여 Flag추출을 위한 2개의 로직 확인 가능
1. exatlon() 내 std::to_string()을 통해 (입력한 문자)*16 숫자 배열 반환
2. 반환한 숫자 배열과 프로그램 내 존재하는 숫자 배열 비교
3. 풀이
Payload
i=[1152,1344,1056,1968,1728,816,1648,784,1584,816,1728,1520,1840,1664,784,1632,1856,1520,1728,816,1632,1856,1520,784,1760,1840,1824,816,1584,1856,784,1776,1760,528,528,2000]
a=''
for j in i:
a+=chr(int(j/16))
print(a)
'HACKING_GAME > Reversing' 카테고리의 다른 글
Hackthebox#1 - Impossible Password (0) | 2021.11.08 |
---|