This is both a game and serious philosophical and religious tool to guide your life. Basically you need either 32 coin flips to construct a 32-bit pointer (or 64 flips for wide coverage) or 16 flips using a dice where each throw can generate at least 2 bits. Any device can help if you can get a random pointer. Then you use your favorite memory dump and symbol files for interpretation. Double, triple and multiple dereferences from a pointer can also be used to construe a path. For example, I just played and got:
0:000> ? 0y10010111111000100100011011100111 Evaluate expression: -1746778393 = 97e246e7 0:000> !address 97e246e7 Address 97e246e7 could not be mapped in any available regions If address is inaccessible switch to another memory dump or continue flips and shift digits to the left. This way I got: 0:000> ? 0y00101111110001001000110111001111 Evaluate expression: 801410511 = 2fc48dcf 0:000> !address 02fc48dcf Usage: Free Base Address: 1f858000 End Address: 58c30000 Region Size: 393d8000 Type: 00000000 State: 00010000 MEM_FREE Protect: 00000001 PAGE_NOACCESS
Continue flip and shift until you get an output with symbol signs:
0:000> ? 0y01011111100010010001101110011110 Evaluate expression: 1602821022 = 5f891b9e 0:000> dp 5F891B9E 5f891b9e ???????? ???????? ???????? ???????? 5f891bae ???????? ???????? ???????? ???????? 5f891bbe ???????? ???????? ???????? ???????? 5f891bce ???????? ???????? ???????? ???????? 5f891bde ???????? ???????? ???????? ???????? 5f891bee ???????? ???????? ???????? ???????? 5f891bfe ???????? ???????? ???????? ???????? 5f891c0e ???????? ???????? ???????? ????????
0:000> !address 5F891B9E Usage: Free Base Address: 5eb8a000 End Address: 60080000 Region Size: 014f6000 Type: 0000000 State: 00010000 MEM_FREE Protect: 00000001 PAGE_NOACCESS Unloaded modules that overlapped the region in the past: BaseAddr EndAddr Size 5ebc0000 5ebcd000 d000 Perfctrs.dll
We now have the dump output for thinking: “In the past - perfect control; performance was counted; now - free”.