8.8 Overclocking Cointerra Bitcoin miner.
Encrypteddatabase contents has been artificially constructed by me for the sake of demonstration. I’ve
gotmostpopularUSAnamesandsurnamesfromthere:http://stackoverflow.com/questions/1803628/
raw-list-of-person-names, and combined them randomly. Dates and sums were also generated ran-
domly.
All files used in this part are here: https://github.com/DennisYurichev/RE-for-beginners/tree/
master/examples/encrypted_DB1.
Nevertheless, many features like these I’ve observed in real-world software applications. This example is
based on them.
8.7.10 Post Scriptum: brute-forcingIV
Thecaseyouhavejustseenhasbeenartificiallyconstructed,butisbasedonarealapplicationI’vereverse
engineered. When I’ve been working on it, I first noticed thatIVhas been generating using some 32-bit
number, and I wasn’t able to find a link between this value and OrderID. So I prepared to use brute-force,
which is indeed possible here.
It’s not a problem to enumerate all 32-bit values and try each as a base forIV. Then you decrypt the first
16-byte block and check for zero bytes, which are always at fixed places.
8.8 Overclocking Cointerra Bitcoin miner
There was Cointerra Bitcoin miner, looking like that:
Figure 8.14:Board