pwnable.kr의 두번째 문제이다
문제에서 제공된 c 코드이다
argv로 입력을 받으며 입력값은 20byte이다
입력값을check_password()
를 통해 0x21dd09ec
와 일치하는지 확인한다
check_password()
의 기능을 살펴보면
전달받은 값을 4byte씩 나눈 후, 5번 더한 값을 결과로 반환해준다
즉, A+B+C+D+E = 0x21DD09EC
를 만족하는 abcde값을 찾으면 된다
113,626,824 * 4 + 113,626,828 = 0x21dd09ec
0x06C5CEC8 * 4 + 0x06C5CECC = 0x21dd09ec
이제 이 값을 python -c 옵션을 이용해서 보내주면 된다