Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 위니브
- adb 옵션
- 제주코딩베이스캠프
- 자바스크립트
- dreamhack reversing
- 더오름
- 웃긴 파이썬
- 자바스크립트 강의
- 깃허브 블로그
- 잔디 심기
- adb
- 강의 체험단 1기
- 기드라
- 안드로이드 adb
- 리버싱 플래그
- 리버싱
- 드림핵 플래그
- 깃허브 포트폴리오
- 간단한 깃허브 블로그
- 티스토리챌린지
- 인프런 깃허브 강의
- 깃허브 블로그 만들기
- 안드로이드 모바일 앱 모의해킹
- 파이썬
- 오블완
- 제주ICT
- 인프런 강의 추천
- 안드로이드 리버싱
- 드림핵 리버싱
- 인프런 파이썬 강의
Archives
- Today
- Total
해보자고
[드림핵] Easy Assembly 본문
# 문제
문제 링크 | https://dreamhack.io/wargame/challenges/1095?writeup_page=2
Easy Assembly
어셈블리 언어에 대한 지식이 있으시다면 이 문제는 쉽게 해결할 수 있는 아주 간단한 문제입니다! 필요한 정보만을 찾아 플래그를 획득해 주세요 플래그의 형식은 DH{…} 입니다.
dreamhack.io
어셈블리 언어에 대한 지식이 있으시다면 이 문제는 쉽게 해결할 수 있는 아주 간단한 문제입니다! 필요한 정보만을 찾아 플래그를 획득해 주세요
코드 흐름상 correct와 fail로 분기하는 함수를 자세히 살펴보기로 했다. 함수 이름 중 편리하게도 enc_flag 를 확인할 수 있었고, 이를 더 보기로 했다.
enc_flag의 값과 길이 등 chack_password 함수와 비교하여 맞으면 correct 틀리면 wrong으로 분기하는 것을 확인할 수 있었다.
#include <stdio.h>
int main() {
int enc_flag[] = { 116, 120, 75, 101, 119, 72, 92, 105, 104, 126, 92, 121,
119, 98, 70, 121, 119, 5, 70, 84, 115, 114, 89, 105, 104,
126, 92, 126, 90, 97, 87, 106, 119, 102, 90, 82, 2, 98,
92, 121, 119, 92, 0, 124, 87, 13, 13, 77 };
int len = 48;
for (int i = 0; i < len; i++) {
printf("%c", enc_flag[i] ^ 48);
}
printf("\n");
return 0;
}
flag를 찾을 수 있었다!
(오늘 넘 피곤해서 대충 정리함둥...)
'리버싱' 카테고리의 다른 글
[CodeEngn] Malware L06 (0) | 2025.04.28 |
---|---|
[드림핵] please, please, please (0) | 2025.04.25 |
[CodeEngn] Malware L07 (0) | 2025.04.22 |
[드림핵] Simple Patch Me (0) | 2025.04.21 |
[드림핵] Small counter (0) | 2025.04.10 |