Roshambo

My dissertation (by MrValdez)

Roshambo Alternatives

Similar projects and alternatives to Roshambo

  • drand

    🎲 A Distributed Randomness Beacon Daemon - Go implementation

  • randar-explanation

    "Randar" is an exploit for Minecraft which uses LLL lattice reduction to crack the internal state of an incorrectly reused java.util.Random in the Minecraft server, then works backwards from that to locate other players currently loaded into the world.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • LattiCG

    Reverses the internal seed(s) of JavaRandom given information on its output in the form of a system of inequalities on various Random calls. Works by reducing the problem to finding certain vectors in a lattice, which is then solved through a branch and bound algorithm using a reduced version of the lattice.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better Roshambo alternative or higher similarity.

Roshambo reviews and mentions

Posts with mentions or reviews of Roshambo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-17.
  • Randar: A Minecraft exploit that uses LLL lattice reduction to crack server RNG
    4 projects | news.ycombinator.com | 17 Apr 2024
    - It plays randomly for the first 998 turns (https://github.com/MrValdez/Roshambo/blob/master/rsb-iocaine...): this line is "if (*turn < trials - 2) return libra ? callback() : random() % 3;", and "libra" is initalized to (int) NULL, i.e. zero, on every invocation.

    - In the last 2 turns, it uses `find_goodkarma` to comb through the stack to find where the variables that match its history and the opponents' history are stored. These the stack arrays p1hist and p2hist (https://github.com/MrValdez/Roshambo/blob/master/rsb-iocaine...)

    They're easy to find because they contain 998 known values each in a ~random sequence of (0, 1, 2), and they're just upwards of the stack from the current invocation of the Psychic Friends Network.

    `find_goodkarma` simply increments a pointer until the whole sequence of 998 values matches the known history.

    - Then, it rewrites the history to make itself win. These lines (https://github.com/MrValdez/Roshambo/blob/master/rsb-iocaine...) never get executed, then these lines (https://github.com/MrValdez/Roshambo/blob/master/rsb-iocaine...) tally up draws so far (libra), wins (cancer) and losses (scorpio).

    This line makes sure its move is the opponents' move +1 mod 3, which is the winning move: https://github.com/MrValdez/Roshambo/blob/master/rsb-iocaine...

    Then, these lines repeat the same trick for the number of wins and losses. It checks whether it's p1 or p2 by comparing the addresses of the win/loss arrays, and then overwrites the wins/losses appropriately using `pizza` https://github.com/MrValdez/Roshambo/blob/master/rsb-iocaine...

    in the end it returns an arbitrary value (the address of `good_hand` mod 3).

    It was fun to follow but the result is kind of boring :)

Stats

Basic Roshambo repo stats
1
3
-
over 8 years ago

MrValdez/Roshambo is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

The primary programming language of Roshambo is C.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com