May 12, 2025
1. 파일 준비 2. 문자열로 구조 미리 파악 플로우: 길이 확인 → 내용 비교 → 성공/실패. 3. 코드 핵심 확인 (objdump) 요약: 구간 동작 73바이트 입력 루프 0 ~ 72 인덱스를 검사 짝수 인덱스 홀수 인덱스 → arr1이라는 73바이트 테이블이 정답. 4. arr1 테이블 추출 시작 오프셋 확인: 73바이트 덤프: 5. 역연산…
May 12, 2025
1. 파일 준비 2. 문자열로 구조 파악 프로그램은 길이(73 바이트)를 먼저 확인한 뒤, 각 바이트를 검사해 맞으면 성공 메시지를 출력한다. 3. 핵심 흐름 () 디스어셈블 결과 요약: 단계 동작 플래그 입력 73 바이트 길이 체크 루프 결과가 테이블 와 일치해야 함 모두 통과 출력 즉 암호화 함수 를 뒤집으면 원본 플래그가 복원된다. 4. 암…
May 12, 2025
1. 파일 준비 2. 프로그램 구조 빠르게 확인 힌트: 성공 시 내부에서 직접 플래그를 출력하지만, 기본 상태에선 "No flag…"만 보인다. 3. 핵심 함수 식별 디스어셈블() 결과: = 암호화된 테이블 값 = 0, 1, 2 … 72 즉 복호 공식은 [ ext{flag}i = igl(( ext{enc}i - i) mod 256igr)…