Inspiration

banner image of NUS dining hall

Queueing for the dining hall food can be very boring at times. We felt that something could be done about that. What better way to add excitement into the act of queueing other than a battle to starvation!

What it does

NUS Dining War! is a mobile-first web game where two players stake their dining hall credits in a one-on-one battle of pong. Whoever who loses will immediately transfer a dining hall credit to the winner upon completion of the game.

How we built it

To automate the dining hall credit transfer, we had to reverse-engineer the NUS Dining Hall application. Integrating the Dining Hall API with our webapp, we were then able to combine this with our websockets pong game.

Capturing the dining hall packets

Challenges we ran into

The NUS Dining Hall app implements SSL pinning, so attempts at reverse engineering the protocol through an MITM proxy were met with difficulty. However, with some usage of Frida, we were able to bypass this.

Accomplishments that we're proud of

Completing!

What we learned

OAuth 2.0 basics, game programming.

What's next for NUS Dining War!

More games! Better integration with the NUS OAuth.

Built With

Share this project:

Updates