Assembly Language for Beginners

(nextflipdebug2) #1

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
Free download pdf