rev-basic-71 dreamhack : rev_basic_7 문제 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요. 풀이과정 전의 문제들과 같이, wrong이 저장된 코드로 들어가서 분석함수에 진입한다. 10DE 주소에 정의된 7FF ~ 1000 함수 들어가기 옆에 주석을 달아놨다~ 결국 함수의 전체 흐름을 살펴보면, (입력값의 i번째 문자를 i&7만큼 rol한 값) ^ i 의 값이 (버퍼에 미리 저장된 str 문자열의 i번째 값) 인 입력값을 찾아내면 되는 것이다. 이때 A ^ B = C 에서 xor 연산자의 특성을 이용하면 B ^ C = A, A ^C = B 이므로 => (입력값의 i번째 문자를 i&7.. 2023. 11. 4. 이전 1 다음