AlpacaHack Logo

Challenges

Sign InSign Up

Rows:

CHALLENGEAUTHORS

SOLVES

(CURRENT)

SOLVE RATE

(AT CONTEST TIME)

AlpacaHack 2100

Daily AlpacaHack

admin

1757

solves

-

1574

solves

-

Daily AlpacaHack

933

solves

-

AlpacaHack Round 2 (Web)

627

solves

Top 28%

= 84/300 users

Daily AlpacaHack

622

solves

-

Daily AlpacaHack

604

solves

-

SECCON Beginners CTF 2024

541

solves

Top 73%

= 683/928 teams

Daily AlpacaHack

409

solves

-

Daily AlpacaHack

406

solves

-

Daily AlpacaHack

373

solves

-

Daily AlpacaHack

367

solves

-

echo

AlpacaHack Round 1 (Pwn)

363

solves

Top 32%

= 56/174 users

Daily AlpacaHack

349

solves

-

Daily AlpacaHack

342

solves

-

Daily AlpacaHack

336

solves

-

Daily AlpacaHack

331

solves

-

Encoding Basics

Daily AlpacaHack

330

solves

-

🐈

Daily AlpacaHack

323

solves

-

Bars

Daily AlpacaHack

318

solves

-

108

Daily AlpacaHack

306

solves

-

Rows:

high and low

Daily AlpacaHackTopic: RNGReleased: Mar 7, 2026

91 solves
Crypto
Hard

by

theoremoon

theoremoon

guess the high or low!

初心者向けヒント1
  • server.py では独自乱数 RNG が実装されています。
  • この乱数は Mersenne Twister を簡略化して、より乱数予測をしやすくしたものです。
  • この問題のゴールは、この独自乱数の乱数予測を行い、 money を増やしてフラグを出力させることです。
初心者向けヒント2
  • 乱数予測を行うには、サーバーの RNG の状態を、自分のマシン上で再現する必要があります。
  • RNG の状態は state, p です。
  • pnext_value を呼び出すたびにインクリメントされるだけなので、容易に予測できます。
  • では、 state はどうでしょうか。
  • y から x を逆算可能であることに注目してください。
server.py
descriptionsolveswriteups