음 먼저 코드 분석을 하지는 않았고, 그 전에 우선 입력값 검사가 제대로 되어 있는지 확인했다.
하다보면, 이기면 베팅한 만큼 돈을 얻고, 지면 돈을 잃는데,
베팅 금액은 현재 금액을 넘길 수 없다.
하지만 베팅을 -로 하고 게임을 진다면? 이라고 생각했고 바로 됐다.
결과가 그렇게 나왔으니, 역으로 소스코드를 확인해보면
베팅이라는 함수에서 bet > cash만 검사하는 것을 볼 수 있다.
int betting() //Asks user amount to bet
{
printf("\n\nEnter Bet: $");
scanf("%d", &bet);
if (bet > cash) //If player tries to bet more money than player has
{
printf("\nYou cannot bet more money than you have.");
printf("\nEnter Bet: ");
scanf("%d", &bet);
return bet;
}
else return bet;
} // End Function
그리고 게임 결과에 따라 cash -= bet 또는 cash += bet 형식으로 계산을 하고 있으니
해당 부분이 문제이다.
'Pwnable.kr' 카테고리의 다른 글
Pwnable.kr [cmd1] (0) | 2019.05.02 |
---|---|
Pwnable.kr [lotto] (0) | 2019.05.02 |
Pwnable.kr [coin1] (0) | 2019.05.01 |
Pwnable.kr [shellshock] (0) | 2019.05.01 |
Pwnable.kr [mistake] (0) | 2019.05.01 |