Tag Archive

#anti-debug

이 태그가 포함된 글을 최신순으로 모아봤어요.

3
posts
BLOG2026-07-21
[🥇 Gold 2] .rela.tivity — 재배치 테이블이 곧 암호문이었다, DreamHack Theori of Relativity 풀이 (2번 보류 끝에 해결)
blog

[🥇 Gold 2] .rela.tivity — 재배치 테이블이 곧 암호문이었다, DreamHack Theori of Relativity 풀이 (2번 보류 끝에 해결)

키 문자열을 입력하면 맞는지 틀렸는지만 알려주는 짧은 리버싱 문제. 검증에 쓰이는 104바이트 "키 블록"이 파일에 적힌 값과 실행 중인 값이 완전히 다른데, 그 값을 바꾸는 함수를 아무리 찾아도 안 나온다 — 지난 두 세션은 여기서 막혔다. 진짜 범인은 함수가 아니라 ".rela.tivity"라는 이름의 가짜 재배치 섹션과 그걸 진짜로 처리해버리는 ELF 로더 자신이었다. 게다가 마지막 관문에서는 "디버거로 관찰하는 행위 자체가 관찰 대상을 바꿔버리는" 진짜 물리학 농담 같은 함정까지 기다리고 있었다.
#dreamhack#ctf#reversing+5
 
BLOG2026-07-21
[🥈 Silver 4] 10²²년짜리 잠을 0.3초로 줄이기 — DreamHack Long Sleep 풀이 (2번 보류 끝에 해결)
blog

[🥈 Silver 4] 10²²년짜리 잠을 0.3초로 줄이기 — DreamHack Long Sleep 풀이 (2번 보류 끝에 해결)

실행하면 "flag를 생성 중"이라며 뜸을 들이다가 점점 더 길게 잠드는 바이너리. sleep()이 아니라 libc 심볼도 없는 raw syscall이라 LD_PRELOAD 후킹이 안 통하고, 파일을 패치하거나 소프트웨어 브레이크포인트를 걸면 곧바로 "integrity_check(): file has been corrupted"가 뜬다. 지난 두 세션은 이 두 방어가 서로 "같은 것"을 검사한다고 착각해 막혔다. 사실은 완전히 다른 두 층이었다 — 하나는 코드 바이트 자체의 무결성, 하나는 그저 실행 속도. 코드는 그대로 두고 syscall 인자값만 바꾸면 두 방어 다 건드리지 않고 지나간다.
#dreamhack#ctf#reversing+4