워게임/pwnable.kr

[pwnable.kr] random

zz! 2025. 8. 31. 16:46
728x90

key ^ random 한 것이 0xcafebabe 일 경우에 플래그 값을 얻을 수가 있습니다.

key는 사용자의 입력으로 받고, rand() 함수에 대해 알기만 하면 문제를 쉽게 해결 할 수 잇을 것 같습니다.

 

rand() 

rand 함수는 랜덤한 숫자를 반환하는 함수입니다.
그런데 프로그램이 생성될 때 값이 정해지기 때문에 프로그램을 여러번 실행시켜도
동일한 값이 나옵니다.

rand함수는 내부적으로 어떤 srand의 매개변수로 들어온 seed 값과 매칭되는 숫자가 정해집니다.
그래서 seed 값에 의해서 rand 함수의 결과값이 변할 수 있습니다. 


https://blockdmask.tistory.com/308

 

브포를 걸고 DWORD PTR [rbp-0x1c], eax 이므로 eax값이 어떤 값인지 알아보면 됩니다.

0x6b8b4567 입니다. 다시 실행을 해서 봐보면, 똑같습니다.

0x6b8b4567 ^ 0xcafebabe 를 하면 됩니다.

2708864985

728x90