1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
| #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include <fcntl.h> #include <sys/mman.h> #include <unistd.h>
#define DUMP_SIZE 516096 #define DATA_OFF 0x6B250 #define DATA_SIZE 0x12db0
struct CrackStruct { uint64_t *func; uint64_t *in; uint64_t *out; uint64_t *ans; uint64_t *bits[24]; int right; };
struct CrackStruct crack[48] = { {(uint64_t *)0x140002a60, (uint64_t *)0x140079ae8, (uint64_t *)0x14007ac90, (uint64_t *)0x140076b80, {(uint64_t *)0x14007d248, (uint64_t *)0x14007d920, (uint64_t *)0x14007e0c8, (uint64_t *)0x14007de20, (uint64_t *)0x14007dc48, (uint64_t *)0x14007dcd0, (uint64_t *)0x14007dac0, (uint64_t *)0x14007d4f0, (uint64_t *)0x14007d198, (uint64_t *)0x14007d240, (uint64_t *)0x14007d730, (uint64_t *)0x14007d400, (uint64_t *)0x14007d4a0, (uint64_t *)0x14007d228, (uint64_t *)0x14007d9b0, (uint64_t *)0x14007dfa8, (uint64_t *)0x14007d458, (uint64_t *)0x14007df00, (uint64_t *)0x14007d2f8, (uint64_t *)0x14007d288, (uint64_t *)0x14007daf8, (uint64_t *)0x14007df48, (uint64_t *)0x14007dbc0, (uint64_t *)0x14007d680, }}, {(uint64_t *)0x1400066d0, (uint64_t *)0x140079c90, (uint64_t *)0x14007ac78, (uint64_t *)0x140076b68, {(uint64_t *)0x14007d3f0, (uint64_t *)0x14007d960, (uint64_t *)0x14007dde8, (uint64_t *)0x14007db68, (uint64_t *)0x14007d5e0, (uint64_t *)0x14007dc40, (uint64_t *)0x14007e070, (uint64_t *)0x14007d470, (uint64_t *)0x14007d968, (uint64_t *)0x14007dd00, (uint64_t *)0x14007dcb8, (uint64_t *)0x14007d478, (uint64_t *)0x14007d448, (uint64_t *)0x14007e090, (uint64_t *)0x14007d800, (uint64_t *)0x14007dee8, (uint64_t *)0x14007e2b8, (uint64_t *)0x14007d2b8, (uint64_t *)0x14007e378, (uint64_t *)0x14007d3e0, (uint64_t *)0x14007d1b8, (uint64_t *)0x14007d5a0, (uint64_t *)0x14007d7b0, (uint64_t *)0x14007d908, }}, {(uint64_t *)0x14000bdd0, (uint64_t *)0x140079ef0, (uint64_t *)0x14007ace8, (uint64_t *)0x140076bd8, {(uint64_t *)0x14007d650, (uint64_t *)0x14007db00, (uint64_t *)0x14007da18, (uint64_t *)0x14007e1f0, (uint64_t *)0x14007d4c8, (uint64_t *)0x14007de28, (uint64_t *)0x14007dc70, (uint64_t *)0x14007d630, (uint64_t *)0x14007dc88, (uint64_t *)0x14007dda0, (uint64_t *)0x14007dba8, (uint64_t *)0x14007ddf8, (uint64_t *)0x14007d1f8, (uint64_t *)0x14007d568, (uint64_t *)0x14007db40, (uint64_t *)0x14007dc98, (uint64_t *)0x14007d748, (uint64_t *)0x14007d208, (uint64_t *)0x14007dd68, (uint64_t *)0x14007d388, (uint64_t *)0x14007d4b0, (uint64_t *)0x14007e138, (uint64_t *)0x14007da80, (uint64_t *)0x14007d480, }}, {(uint64_t *)0x14000ced0, (uint64_t *)0x140079f68, (uint64_t *)0x14007ac58, (uint64_t *)0x140076b48, {(uint64_t *)0x14007d6c8, (uint64_t *)0x14007d7f8, (uint64_t *)0x14007d1c8, (uint64_t *)0x14007df78, (uint64_t *)0x14007dd48, (uint64_t *)0x14007d978, (uint64_t *)0x14007e2b0, (uint64_t *)0x14007d958, (uint64_t *)0x14007d590, (uint64_t *)0x14007d298, (uint64_t *)0x14007e098, (uint64_t *)0x14007d788, (uint64_t *)0x14007d9e8, (uint64_t *)0x14007d9d0, (uint64_t *)0x14007d9a8, (uint64_t *)0x14007e238, (uint64_t *)0x14007d7d0, (uint64_t *)0x14007d220, (uint64_t *)0x14007d938, (uint64_t *)0x14007dbc8, (uint64_t *)0x14007dee0, (uint64_t *)0x14007d688, (uint64_t *)0x14007d850, (uint64_t *)0x14007d640, }}, {(uint64_t *)0x14000dff0, (uint64_t *)0x140079fe0, (uint64_t *)0x14007acd8, (uint64_t *)0x140076bc8, {(uint64_t *)0x14007d740, (uint64_t *)0x14007d8f8, (uint64_t *)0x14007d888, (uint64_t *)0x14007d358, (uint64_t *)0x14007e320, (uint64_t *)0x14007e370, (uint64_t *)0x14007dc38, (uint64_t *)0x14007da00, (uint64_t *)0x14007e2d0, (uint64_t *)0x14007dff8, (uint64_t *)0x14007dad8, (uint64_t *)0x14007dd98, (uint64_t *)0x14007d8c8, (uint64_t *)0x14007dba0, (uint64_t *)0x14007d2f0, (uint64_t *)0x14007d2c0, (uint64_t *)0x14007e1d0, (uint64_t *)0x14007e1d8, (uint64_t *)0x14007dc80, (uint64_t *)0x14007e2c0, (uint64_t *)0x14007e0f8, (uint64_t *)0x14007df58, (uint64_t *)0x14007d898, (uint64_t *)0x14007e008, }}, {(uint64_t *)0x140011af0, (uint64_t *)0x14007a180, (uint64_t *)0x14007acc0, (uint64_t *)0x140076bb0, {(uint64_t *)0x14007d8e0, (uint64_t *)0x14007d390, (uint64_t *)0x14007d720, (uint64_t *)0x14007e2c8, (uint64_t *)0x14007d9c0, (uint64_t *)0x14007d3b0, (uint64_t *)0x14007e1e0, (uint64_t *)0x14007d330, (uint64_t *)0x14007d488, (uint64_t *)0x14007d830, (uint64_t *)0x14007d570, (uint64_t *)0x14007e258, (uint64_t *)0x14007e1f8, (uint64_t *)0x14007e110, (uint64_t *)0x14007e228, (uint64_t *)0x14007db90, (uint64_t *)0x14007d6a0, (uint64_t *)0x14007df98, (uint64_t *)0x14007d910, (uint64_t *)0x14007d870, (uint64_t *)0x14007d790, (uint64_t *)0x14007d860, (uint64_t *)0x14007d718, (uint64_t *)0x14007dd70, }}, {(uint64_t *)0x140012890, (uint64_t *)0x14007a1e0, (uint64_t *)0x14007acd0, (uint64_t *)0x140076bc0, {(uint64_t *)0x14007d940, (uint64_t *)0x14007d360, (uint64_t *)0x14007e298, (uint64_t *)0x14007e200, (uint64_t *)0x14007d428, (uint64_t *)0x14007d8d0, (uint64_t *)0x14007d350, (uint64_t *)0x14007e318, (uint64_t *)0x14007da60, (uint64_t *)0x14007dec0, (uint64_t *)0x14007dd40, (uint64_t *)0x14007d2d8, (uint64_t *)0x14007d578, (uint64_t *)0x14007e0d0, (uint64_t *)0x14007d6b8, (uint64_t *)0x14007db18, (uint64_t *)0x14007dbd8, (uint64_t *)0x14007d758, (uint64_t *)0x14007d398, (uint64_t *)0x14007d260, (uint64_t *)0x14007d3d8, (uint64_t *)0x14007dd28, (uint64_t *)0x14007d678, (uint64_t *)0x14007d820, }}, {(uint64_t *)0x140014600, (uint64_t *)0x14007a2b0, (uint64_t *)0x14007ac60, (uint64_t *)0x140076b50, {(uint64_t *)0x14007da10, (uint64_t *)0x14007e0f0, (uint64_t *)0x14007d660, (uint64_t *)0x14007d6e8, (uint64_t *)0x14007db60, (uint64_t *)0x14007e308, (uint64_t *)0x14007d658, (uint64_t *)0x14007df70, (uint64_t *)0x14007d878, (uint64_t *)0x14007e210, (uint64_t *)0x14007d3a0, (uint64_t *)0x14007e038, (uint64_t *)0x14007e328, (uint64_t *)0x14007d840, (uint64_t *)0x14007d6e0, (uint64_t *)0x14007d838, (uint64_t *)0x14007d1e0, (uint64_t *)0x14007d280, (uint64_t *)0x14007d948, (uint64_t *)0x14007d408, (uint64_t *)0x14007e1c0, (uint64_t *)0x14007daa0, (uint64_t *)0x14007d1b0, (uint64_t *)0x14007e040, }}, {(uint64_t *)0x140014f10, (uint64_t *)0x14007a2f0, (uint64_t *)0x14007acb0, (uint64_t *)0x140076ba0, {(uint64_t *)0x14007da50, (uint64_t *)0x14007e2e8, (uint64_t *)0x14007dff0, (uint64_t *)0x14007e0a0, (uint64_t *)0x14007dfd0, (uint64_t *)0x14007db20, (uint64_t *)0x14007d608, (uint64_t *)0x14007dcc0, (uint64_t *)0x14007de98, (uint64_t *)0x14007de00, (uint64_t *)0x14007dbd0, (uint64_t *)0x14007d200, (uint64_t *)0x14007dc50, (uint64_t *)0x14007e108, (uint64_t *)0x14007de08, (uint64_t *)0x14007d8d8, (uint64_t *)0x14007d868, (uint64_t *)0x14007e268, (uint64_t *)0x14007d7e0, (uint64_t *)0x14007dcd8, (uint64_t *)0x14007def0, (uint64_t *)0x14007d7f0, (uint64_t *)0x14007dfe8, (uint64_t *)0x14007e088, }}, {(uint64_t *)0x140015830, (uint64_t *)0x14007a330, (uint64_t *)0x14007ac50, (uint64_t *)0x140076b40, {(uint64_t *)0x14007da90, (uint64_t *)0x14007d810, (uint64_t *)0x14007d230, (uint64_t *)0x14007d5f8, (uint64_t *)0x14007e208, (uint64_t *)0x14007d338, (uint64_t *)0x14007e0e8, (uint64_t *)0x14007e270, (uint64_t *)0x14007e068, (uint64_t *)0x14007db28, (uint64_t *)0x14007e150, (uint64_t *)0x14007d9e0, (uint64_t *)0x14007dbf8, (uint64_t *)0x14007d648, (uint64_t *)0x14007e118, (uint64_t *)0x14007d1c0, (uint64_t *)0x14007d510, (uint64_t *)0x14007d518, (uint64_t *)0x14007d2d0, (uint64_t *)0x14007dc18, (uint64_t *)0x14007e188, (uint64_t *)0x14007e1b8, (uint64_t *)0x14007e100, (uint64_t *)0x14007d4c0, }}, {(uint64_t *)0x140015960, (uint64_t *)0x14007a338, (uint64_t *)0x14007acb8, (uint64_t *)0x140076ba8, {(uint64_t *)0x14007da98, (uint64_t *)0x14007d9f8, (uint64_t *)0x14007e148, (uint64_t *)0x14007daf0, (uint64_t *)0x14007d5d8, (uint64_t *)0x14007e010, (uint64_t *)0x14007da28, (uint64_t *)0x14007d708, (uint64_t *)0x14007d998, (uint64_t *)0x14007d668, (uint64_t *)0x14007dcc8, (uint64_t *)0x14007d258, (uint64_t *)0x14007d290, (uint64_t *)0x14007d858, (uint64_t *)0x14007e028, (uint64_t *)0x14007db08, (uint64_t *)0x14007df10, (uint64_t *)0x14007d528, (uint64_t *)0x14007dc10, (uint64_t *)0x14007d770, (uint64_t *)0x14007d308, (uint64_t *)0x14007e280, (uint64_t *)0x14007de80, (uint64_t *)0x14007d7b8, }}, {(uint64_t *)0x14001afe0, (uint64_t *)0x14007a598, (uint64_t *)0x14007ac98, (uint64_t *)0x140076b88, {(uint64_t *)0x14007dcf8, (uint64_t *)0x14007d818, (uint64_t *)0x14007dc30, (uint64_t *)0x14007e030, (uint64_t *)0x14007d2e0, (uint64_t *)0x14007d498, (uint64_t *)0x14007d5e8, (uint64_t *)0x14007e250, (uint64_t *)0x14007d548, (uint64_t *)0x14007d4f8, (uint64_t *)0x14007d450, (uint64_t *)0x14007e2d8, (uint64_t *)0x14007ddd0, (uint64_t *)0x14007df20, (uint64_t *)0x14007df80, (uint64_t *)0x14007d310, (uint64_t *)0x14007de38, (uint64_t *)0x14007d6b0, (uint64_t *)0x14007df40, (uint64_t *)0x14007db78, (uint64_t *)0x14007d5f0, (uint64_t *)0x14007d1e8, (uint64_t *)0x14007db50, (uint64_t *)0x14007d1a8, }}, {(uint64_t *)0x14001b220, (uint64_t *)0x14007a5a8, (uint64_t *)0x14007ac48, (uint64_t *)0x140076b38, {(uint64_t *)0x14007dd08, (uint64_t *)0x14007de18, (uint64_t *)0x14007d520, (uint64_t *)0x14007da88, (uint64_t *)0x14007d5b0, (uint64_t *)0x14007e340, (uint64_t *)0x14007e178, (uint64_t *)0x14007dc58, (uint64_t *)0x14007db58, (uint64_t *)0x14007dea8, (uint64_t *)0x14007d468, (uint64_t *)0x14007d4d8, (uint64_t *)0x14007e1e8, (uint64_t *)0x14007d4e0, (uint64_t *)0x14007d320, (uint64_t *)0x14007e338, (uint64_t *)0x14007d5a8, (uint64_t *)0x14007df60, (uint64_t *)0x14007d530, (uint64_t *)0x14007dca8, (uint64_t *)0x14007d728, (uint64_t *)0x14007d2e8, (uint64_t *)0x14007d500, (uint64_t *)0x14007e260, }}, {(uint64_t *)0x14001e200, (uint64_t *)0x14007a6f8, (uint64_t *)0x14007ac38, (uint64_t *)0x140076b28, {(uint64_t *)0x14007de58, (uint64_t *)0x14007d698, (uint64_t *)0x14007db38, (uint64_t *)0x14007dd38, (uint64_t *)0x14007e050, (uint64_t *)0x14007dd78, (uint64_t *)0x14007ded0, (uint64_t *)0x14007dfc0, (uint64_t *)0x14007dac8, (uint64_t *)0x14007d190, (uint64_t *)0x14007e128, (uint64_t *)0x14007d7c0, (uint64_t *)0x14007e360, (uint64_t *)0x14007d2c8, (uint64_t *)0x14007d3d0, (uint64_t *)0x14007de10, (uint64_t *)0x14007d460, (uint64_t *)0x14007e130, (uint64_t *)0x14007d768, (uint64_t *)0x14007db88, (uint64_t *)0x14007d620, (uint64_t *)0x14007d598, (uint64_t *)0x14007ddb8, (uint64_t *)0x14007e158, }}, {(uint64_t *)0x14001ea00, (uint64_t *)0x14007a730, (uint64_t *)0x14007ac70, (uint64_t *)0x140076b60, {(uint64_t *)0x14007de90, (uint64_t *)0x14007d2a8, (uint64_t *)0x14007d7a0, (uint64_t *)0x14007e120, (uint64_t *)0x14007d8a8, (uint64_t *)0x14007de78, (uint64_t *)0x14007dec8, (uint64_t *)0x14007d7c8, (uint64_t *)0x14007dc28, (uint64_t *)0x14007dc68, (uint64_t *)0x14007dea0, (uint64_t *)0x14007d368, (uint64_t *)0x14007e1c8, (uint64_t *)0x14007e048, (uint64_t *)0x14007d438, (uint64_t *)0x14007e290, (uint64_t *)0x14007e288, (uint64_t *)0x14007da40, (uint64_t *)0x14007d4e8, (uint64_t *)0x14007d4a8, (uint64_t *)0x14007db10, (uint64_t *)0x14007e160, (uint64_t *)0x14007e2a0, (uint64_t *)0x14007d2a0, }}, {(uint64_t *)0x14001ee80, (uint64_t *)0x14007a750, (uint64_t *)0x14007ac30, (uint64_t *)0x140076b20, {(uint64_t *)0x14007deb0, (uint64_t *)0x14007def8, (uint64_t *)0x14007da48, (uint64_t *)0x14007dce0, (uint64_t *)0x14007d628, (uint64_t *)0x14007d250, (uint64_t *)0x14007dab8, (uint64_t *)0x14007e190, (uint64_t *)0x14007d900, (uint64_t *)0x14007d268, (uint64_t *)0x14007d890, (uint64_t *)0x14007d3c0, (uint64_t *)0x14007e248, (uint64_t *)0x14007e0d8, (uint64_t *)0x14007e300, (uint64_t *)0x14007e0b8, (uint64_t *)0x14007d210, (uint64_t *)0x14007ddc0, (uint64_t *)0x14007d6f0, (uint64_t *)0x14007d738, (uint64_t *)0x14007deb8, (uint64_t *)0x14007dcb0, (uint64_t *)0x14007e020, (uint64_t *)0x14007dd58, }}, {(uint64_t *)0x140020870, (uint64_t *)0x14007a808, (uint64_t *)0x14007aca8, (uint64_t *)0x140076b98, {(uint64_t *)0x14007df68, (uint64_t *)0x14007dc90, (uint64_t *)0x14007dab0, (uint64_t *)0x14007dfe0, (uint64_t *)0x14007da78, (uint64_t *)0x14007e240, (uint64_t *)0x14007d808, (uint64_t *)0x14007d8f0, (uint64_t *)0x14007dd90, (uint64_t *)0x14007d798, (uint64_t *)0x14007d588, (uint64_t *)0x14007d6c0, (uint64_t *)0x14007e2f8, (uint64_t *)0x14007df28, (uint64_t *)0x14007d3a8, (uint64_t *)0x14007de70, (uint64_t *)0x14007d8a0, (uint64_t *)0x14007dfa0, (uint64_t *)0x14007dad0, (uint64_t *)0x14007d638, (uint64_t *)0x14007df38, (uint64_t *)0x14007d278, (uint64_t *)0x14007d780, (uint64_t *)0x14007d238, }}, {(uint64_t *)0x1400212a0, (uint64_t *)0x14007a850, (uint64_t *)0x14007ac40, (uint64_t *)0x140076b30, {(uint64_t *)0x14007dfb0, (uint64_t *)0x14007d8c0, (uint64_t *)0x14007e080, (uint64_t *)0x14007dc08, (uint64_t *)0x14007e170, (uint64_t *)0x14007d710, (uint64_t *)0x14007e198, (uint64_t *)0x14007d418, (uint64_t *)0x14007da58, (uint64_t *)0x14007d5b8, (uint64_t *)0x14007d6d0, (uint64_t *)0x14007d930, (uint64_t *)0x14007df30, (uint64_t *)0x14007d8e8, (uint64_t *)0x14007e078, (uint64_t *)0x14007d950, (uint64_t *)0x14007d550, (uint64_t *)0x14007dc78, (uint64_t *)0x14007d828, (uint64_t *)0x14007dd50, (uint64_t *)0x14007d600, (uint64_t *)0x14007d6a8, (uint64_t *)0x14007d760, (uint64_t *)0x14007e2a8, }}, {(uint64_t *)0x140021620, (uint64_t *)0x14007a868, (uint64_t *)0x14007aca0, (uint64_t *)0x140076b90, {(uint64_t *)0x14007dfc8, (uint64_t *)0x14007d378, (uint64_t *)0x14007d670, (uint64_t *)0x14007e348, (uint64_t *)0x14007de88, (uint64_t *)0x14007d580, (uint64_t *)0x14007dd80, (uint64_t *)0x14007d3b8, (uint64_t *)0x14007de48, (uint64_t *)0x14007e058, (uint64_t *)0x14007dc60, (uint64_t *)0x14007e2f0, (uint64_t *)0x14007dce8, (uint64_t *)0x14007db30, (uint64_t *)0x14007dd10, (uint64_t *)0x14007de50, (uint64_t *)0x14007ddc8, (uint64_t *)0x14007d8b8, (uint64_t *)0x14007dcf0, (uint64_t *)0x14007e0a8, (uint64_t *)0x14007d328, (uint64_t *)0x14007da38, (uint64_t *)0x14007d750, (uint64_t *)0x14007e140, }}, {(uint64_t *)0x1400251c0, (uint64_t *)0x14007aa08, (uint64_t *)0x14007ace0, (uint64_t *)0x140076bd0, {(uint64_t *)0x14007e168, (uint64_t *)0x14007d440, (uint64_t *)0x14007d300, (uint64_t *)0x14007de60, (uint64_t *)0x14007e310, (uint64_t *)0x14007df88, (uint64_t *)0x14007e1a8, (uint64_t *)0x14007dd30, (uint64_t *)0x14007dbe0, (uint64_t *)0x14007e350, (uint64_t *)0x14007d9f0, (uint64_t *)0x14007e000, (uint64_t *)0x14007de30, (uint64_t *)0x14007d1d8, (uint64_t *)0x14007e0e0, (uint64_t *)0x14007d3e8, (uint64_t *)0x14007da68, (uint64_t *)0x14007d420, (uint64_t *)0x14007db98, (uint64_t *)0x14007d1f0, (uint64_t *)0x14007e218, (uint64_t *)0x14007d690, (uint64_t *)0x14007d9b8, (uint64_t *)0x14007dfd8, }}, {(uint64_t *)0x1400259d0, (uint64_t *)0x14007aa40, (uint64_t *)0x14007ac88, (uint64_t *)0x140076b78, {(uint64_t *)0x14007e1a0, (uint64_t *)0x14007dd20, (uint64_t *)0x14007e230, (uint64_t *)0x14007ddf0, (uint64_t *)0x14007d430, (uint64_t *)0x14007d700, (uint64_t *)0x14007d538, (uint64_t *)0x14007e330, (uint64_t *)0x14007e380, (uint64_t *)0x14007d380, (uint64_t *)0x14007d7a8, (uint64_t *)0x14007d7e8, (uint64_t *)0x14007d980, (uint64_t *)0x14007d4b8, (uint64_t *)0x14007d990, (uint64_t *)0x14007d988, (uint64_t *)0x14007dd60, (uint64_t *)0x14007e368, (uint64_t *)0x14007d3f8, (uint64_t *)0x14007d3c8, (uint64_t *)0x14007daa8, (uint64_t *)0x14007dc00, (uint64_t *)0x14007d618, (uint64_t *)0x14007d1a0, }}, {(uint64_t *)0x140025c20, (uint64_t *)0x14007aa50, (uint64_t *)0x14007acc8, (uint64_t *)0x140076bb8, {(uint64_t *)0x14007e1b0, (uint64_t *)0x14007da30, (uint64_t *)0x14007df08, (uint64_t *)0x14007e0b0, (uint64_t *)0x14007d610, (uint64_t *)0x14007e0c0, (uint64_t *)0x14007e278, (uint64_t *)0x14007df90, (uint64_t *)0x14007d5d0, (uint64_t *)0x14007dae8, (uint64_t *)0x14007d340, (uint64_t *)0x14007ded8, (uint64_t *)0x14007dca0, (uint64_t *)0x14007da20, (uint64_t *)0x14007d5c0, (uint64_t *)0x14007d9c8, (uint64_t *)0x14007d928, (uint64_t *)0x14007da08, (uint64_t *)0x14007e358, (uint64_t *)0x14007d880, (uint64_t *)0x14007db80, (uint64_t *)0x14007dd18, (uint64_t *)0x14007d9d8, (uint64_t *)0x14007d9a0, }}, {(uint64_t *)0x140026c20, (uint64_t *)0x14007aac0, (uint64_t *)0x14007ac80, (uint64_t *)0x140076b70, {(uint64_t *)0x14007e220, (uint64_t *)0x14007de68, (uint64_t *)0x14007e2e0, (uint64_t *)0x14007d970, (uint64_t *)0x14007db70, (uint64_t *)0x14007d8b0, (uint64_t *)0x14007da70, (uint64_t *)0x14007dc20, (uint64_t *)0x14007d270, (uint64_t *)0x14007df50, (uint64_t *)0x14007d348, (uint64_t *)0x14007de40, (uint64_t *)0x14007d6d8, (uint64_t *)0x14007d778, (uint64_t *)0x14007d318, (uint64_t *)0x14007dfb8, (uint64_t *)0x14007dd88, (uint64_t *)0x14007e180, (uint64_t *)0x14007d490, (uint64_t *)0x14007dbb0, (uint64_t *)0x14007dda8, (uint64_t *)0x14007ddb0, (uint64_t *)0x14007e018, (uint64_t *)0x14007d5c8, }}, {(uint64_t *)0x140029f40, (uint64_t *)0x14007ac28, (uint64_t *)0x14007ac68, (uint64_t *)0x140076b58, {(uint64_t *)0x14007e388, (uint64_t *)0x14007d7d8, (uint64_t *)0x14007dbb8, (uint64_t *)0x14007dbf0, (uint64_t *)0x14007dbe8, (uint64_t *)0x14007e060, (uint64_t *)0x14007d918, (uint64_t *)0x14007d410, (uint64_t *)0x14007dde0, (uint64_t *)0x14007d218, (uint64_t *)0x14007d540, (uint64_t *)0x14007d370, (uint64_t *)0x14007d6f8, (uint64_t *)0x14007d560, (uint64_t *)0x14007d558, (uint64_t *)0x14007d4d0, (uint64_t *)0x14007d1d0, (uint64_t *)0x14007d2b0, (uint64_t *)0x14007d508, (uint64_t *)0x14007db48, (uint64_t *)0x14007d848, (uint64_t *)0x14007ddd8, (uint64_t *)0x14007df18, (uint64_t *)0x14007dae0, }}, {(uint64_t *)0x14002b2e0, (uint64_t *)0x14007ad70, (uint64_t *)0x14007bf70, (uint64_t *)0x140076c60, {(uint64_t *)0x14007d210, (uint64_t *)0x14007d460, (uint64_t *)0x14007d550, (uint64_t *)0x14007d5a8, (uint64_t *)0x14007d510, (uint64_t *)0x14007d7d0, (uint64_t *)0x14007d1e0, (uint64_t *)0x14007d1d0, (uint64_t *)0x14007e288, (uint64_t *)0x14007e2b8, (uint64_t *)0x14007dd88, (uint64_t *)0x14007dd60, (uint64_t *)0x14007d458, (uint64_t *)0x14007de38, (uint64_t *)0x14007ddc8, (uint64_t *)0x14007d8a0, (uint64_t *)0x14007d868, (uint64_t *)0x14007df10, (uint64_t *)0x14007d6a0, (uint64_t *)0x14007d928, (uint64_t *)0x14007dbd8, (uint64_t *)0x14007e1d0, (uint64_t *)0x14007da68, (uint64_t *)0x14007d748, }}, {(uint64_t *)0x14002bc00, (uint64_t *)0x14007adb0, (uint64_t *)0x14007bf18, (uint64_t *)0x140076c08, {(uint64_t *)0x14007d250, (uint64_t *)0x14007dd78, (uint64_t *)0x14007d710, (uint64_t *)0x14007e340, (uint64_t *)0x14007d338, (uint64_t *)0x14007d978, (uint64_t *)0x14007e308, (uint64_t *)0x14007e060, (uint64_t *)0x14007de78, (uint64_t *)0x14007dc40, (uint64_t *)0x14007d8b0, (uint64_t *)0x14007d700, (uint64_t *)0x14007dcd0, (uint64_t *)0x14007d498, (uint64_t *)0x14007d580, (uint64_t *)0x14007e240, (uint64_t *)0x14007db20, (uint64_t *)0x14007e010, (uint64_t *)0x14007d3b0, (uint64_t *)0x14007e0c0, (uint64_t *)0x14007d8d0, (uint64_t *)0x14007e370, (uint64_t *)0x14007df88, (uint64_t *)0x14007de28, }}, {(uint64_t *)0x14002bf60, (uint64_t *)0x14007adc8, (uint64_t *)0x14007bf38, (uint64_t *)0x140076c28, {(uint64_t *)0x14007d268, (uint64_t *)0x14007d190, (uint64_t *)0x14007d5b8, (uint64_t *)0x14007dea8, (uint64_t *)0x14007db28, (uint64_t *)0x14007d298, (uint64_t *)0x14007e210, (uint64_t *)0x14007d218, (uint64_t *)0x14007dc68, (uint64_t *)0x14007dd00, (uint64_t *)0x14007df50, (uint64_t *)0x14007d380, (uint64_t *)0x14007d240, (uint64_t *)0x14007d4f8, (uint64_t *)0x14007e058, (uint64_t *)0x14007d798, (uint64_t *)0x14007de00, (uint64_t *)0x14007d668, (uint64_t *)0x14007d830, (uint64_t *)0x14007dae8, (uint64_t *)0x14007dec0, (uint64_t *)0x14007dff8, (uint64_t *)0x14007e350, (uint64_t *)0x14007dda0, }}, {(uint64_t *)0x14002f050, (uint64_t *)0x14007af20, (uint64_t *)0x14007bf48, (uint64_t *)0x140076c38, {(uint64_t *)0x14007d3c0, (uint64_t *)0x14007d7c0, (uint64_t *)0x14007d930, (uint64_t *)0x14007d4d8, (uint64_t *)0x14007d9e0, (uint64_t *)0x14007d788, (uint64_t *)0x14007e038, (uint64_t *)0x14007d370, (uint64_t *)0x14007d368, (uint64_t *)0x14007d478, (uint64_t *)0x14007de40, (uint64_t *)0x14007d7e8, (uint64_t *)0x14007d400, (uint64_t *)0x14007e2d8, (uint64_t *)0x14007e2f0, (uint64_t *)0x14007d6c0, (uint64_t *)0x14007d200, (uint64_t *)0x14007d258, (uint64_t *)0x14007e258, (uint64_t *)0x14007ded8, (uint64_t *)0x14007d2d8, (uint64_t *)0x14007dd98, (uint64_t *)0x14007e000, (uint64_t *)0x14007ddf8, }}, {(uint64_t *)0x140034850, (uint64_t *)0x14007b188, (uint64_t *)0x14007bf10, (uint64_t *)0x140076c00, {(uint64_t *)0x14007d628, (uint64_t *)0x14007e050, (uint64_t *)0x14007e170, (uint64_t *)0x14007d5b0, (uint64_t *)0x14007e208, (uint64_t *)0x14007dd48, (uint64_t *)0x14007db60, (uint64_t *)0x14007dbe8, (uint64_t *)0x14007d8a8, (uint64_t *)0x14007d5e0, (uint64_t *)0x14007db70, (uint64_t *)0x14007d430, (uint64_t *)0x14007dc48, (uint64_t *)0x14007d2e0, (uint64_t *)0x14007de88, (uint64_t *)0x14007da78, (uint64_t *)0x14007dfd0, (uint64_t *)0x14007d5d8, (uint64_t *)0x14007d9c0, (uint64_t *)0x14007d610, (uint64_t *)0x14007d428, (uint64_t *)0x14007e320, (uint64_t *)0x14007e310, (uint64_t *)0x14007d4c8, }}, {(uint64_t *)0x1400364c0, (uint64_t *)0x14007b250, (uint64_t *)0x14007bf80, (uint64_t *)0x140076c70, {(uint64_t *)0x14007d6f0, (uint64_t *)0x14007d768, (uint64_t *)0x14007d828, (uint64_t *)0x14007d530, (uint64_t *)0x14007d2d0, (uint64_t *)0x14007d938, (uint64_t *)0x14007d948, (uint64_t *)0x14007d508, (uint64_t *)0x14007d4e8, (uint64_t *)0x14007e378, (uint64_t *)0x14007d490, (uint64_t *)0x14007d3f8, (uint64_t *)0x14007d2f8, (uint64_t *)0x14007df40, (uint64_t *)0x14007dcf0, (uint64_t *)0x14007dad0, (uint64_t *)0x14007d7e0, (uint64_t *)0x14007dc10, (uint64_t *)0x14007d910, (uint64_t *)0x14007e358, (uint64_t *)0x14007d398, (uint64_t *)0x14007dc80, (uint64_t *)0x14007db98, (uint64_t *)0x14007dd68, }}, {(uint64_t *)0x140036f10, (uint64_t *)0x14007b298, (uint64_t *)0x14007bf88, (uint64_t *)0x140076c78, {(uint64_t *)0x14007d738, (uint64_t *)0x14007db88, (uint64_t *)0x14007dd50, (uint64_t *)0x14007dca8, (uint64_t *)0x14007dc18, (uint64_t *)0x14007dbc8, (uint64_t *)0x14007d408, (uint64_t *)0x14007db48, (uint64_t *)0x14007d4a8, (uint64_t *)0x14007d3e0, (uint64_t *)0x14007dbb0, (uint64_t *)0x14007d3c8, (uint64_t *)0x14007d288, (uint64_t *)0x14007db78, (uint64_t *)0x14007e0a8, (uint64_t *)0x14007d638, (uint64_t *)0x14007dcd8, (uint64_t *)0x14007d770, (uint64_t *)0x14007d870, (uint64_t *)0x14007d880, (uint64_t *)0x14007d260, (uint64_t *)0x14007e2c0, (uint64_t *)0x14007d1f0, (uint64_t *)0x14007d388, }}, {(uint64_t *)0x14003a060, (uint64_t *)0x14007b3f0, (uint64_t *)0x14007bf40, (uint64_t *)0x140076c30, {(uint64_t *)0x14007d890, (uint64_t *)0x14007e128, (uint64_t *)0x14007d6d0, (uint64_t *)0x14007d468, (uint64_t *)0x14007e150, (uint64_t *)0x14007e098, (uint64_t *)0x14007d3a0, (uint64_t *)0x14007d540, (uint64_t *)0x14007dea0, (uint64_t *)0x14007dcb8, (uint64_t *)0x14007d348, (uint64_t *)0x14007d7a8, (uint64_t *)0x14007d730, (uint64_t *)0x14007d450, (uint64_t *)0x14007dc60, (uint64_t *)0x14007d588, (uint64_t *)0x14007dbd0, (uint64_t *)0x14007dcc8, (uint64_t *)0x14007d570, (uint64_t *)0x14007d340, (uint64_t *)0x14007dd40, (uint64_t *)0x14007dad8, (uint64_t *)0x14007d9f0, (uint64_t *)0x14007dba8, }}, {(uint64_t *)0x14003b040, (uint64_t *)0x14007b460, (uint64_t *)0x14007bf30, (uint64_t *)0x140076c20, {(uint64_t *)0x14007d900, (uint64_t *)0x14007dac8, (uint64_t *)0x14007da58, (uint64_t *)0x14007db58, (uint64_t *)0x14007e068, (uint64_t *)0x14007d590, (uint64_t *)0x14007d878, (uint64_t *)0x14007dde0, (uint64_t *)0x14007dc28, (uint64_t *)0x14007d968, (uint64_t *)0x14007d270, (uint64_t *)0x14007e380, (uint64_t *)0x14007d198, (uint64_t *)0x14007d548, (uint64_t *)0x14007de48, (uint64_t *)0x14007dd90, (uint64_t *)0x14007de98, (uint64_t *)0x14007d998, (uint64_t *)0x14007d488, (uint64_t *)0x14007d5d0, (uint64_t *)0x14007da60, (uint64_t *)0x14007e2d0, (uint64_t *)0x14007dbe0, (uint64_t *)0x14007dc88, }}, {(uint64_t *)0x14003dfc0, (uint64_t *)0x14007b5a8, (uint64_t *)0x14007bf00, (uint64_t *)0x140076bf0, {(uint64_t *)0x14007da48, (uint64_t *)0x14007db38, (uint64_t *)0x14007e080, (uint64_t *)0x14007d520, (uint64_t *)0x14007d230, (uint64_t *)0x14007d1c8, (uint64_t *)0x14007d660, (uint64_t *)0x14007dbb8, (uint64_t *)0x14007d7a0, (uint64_t *)0x14007dde8, (uint64_t *)0x14007e2e0, (uint64_t *)0x14007e230, (uint64_t *)0x14007e0c8, (uint64_t *)0x14007dc30, (uint64_t *)0x14007d670, (uint64_t *)0x14007dab0, (uint64_t *)0x14007dff0, (uint64_t *)0x14007e148, (uint64_t *)0x14007d720, (uint64_t *)0x14007df08, (uint64_t *)0x14007e298, (uint64_t *)0x14007d888, (uint64_t *)0x14007d300, (uint64_t *)0x14007da18, }}, {(uint64_t *)0x14003efb0, (uint64_t *)0x14007b618, (uint64_t *)0x14007bf20, (uint64_t *)0x140076c10, {(uint64_t *)0x14007dab8, (uint64_t *)0x14007ded0, (uint64_t *)0x14007e198, (uint64_t *)0x14007e178, (uint64_t *)0x14007e0e8, (uint64_t *)0x14007e2b0, (uint64_t *)0x14007d658, (uint64_t *)0x14007d918, (uint64_t *)0x14007dec8, (uint64_t *)0x14007e070, (uint64_t *)0x14007da70, (uint64_t *)0x14007d538, (uint64_t *)0x14007dac0, (uint64_t *)0x14007d5e8, (uint64_t *)0x14007dd80, (uint64_t *)0x14007d808, (uint64_t *)0x14007d608, (uint64_t *)0x14007da28, (uint64_t *)0x14007e1e0, (uint64_t *)0x14007e278, (uint64_t *)0x14007d350, (uint64_t *)0x14007dc38, (uint64_t *)0x14007e1a8, (uint64_t *)0x14007dc70, }}, {(uint64_t *)0x140043750, (uint64_t *)0x14007b810, (uint64_t *)0x14007bf98, (uint64_t *)0x140076c88, {(uint64_t *)0x14007dcb0, (uint64_t *)0x14007d598, (uint64_t *)0x14007d6a8, (uint64_t *)0x14007d2e8, (uint64_t *)0x14007e1b8, (uint64_t *)0x14007d688, (uint64_t *)0x14007daa0, (uint64_t *)0x14007ddd8, (uint64_t *)0x14007e160, (uint64_t *)0x14007d5a0, (uint64_t *)0x14007ddb0, (uint64_t *)0x14007dc00, (uint64_t *)0x14007df48, (uint64_t *)0x14007d1e8, (uint64_t *)0x14007da38, (uint64_t *)0x14007d278, (uint64_t *)0x14007d7f0, (uint64_t *)0x14007e280, (uint64_t *)0x14007d860, (uint64_t *)0x14007dd18, (uint64_t *)0x14007dd28, (uint64_t *)0x14007df58, (uint64_t *)0x14007d690, (uint64_t *)0x14007e138, }}, {(uint64_t *)0x140043e20, (uint64_t *)0x14007b840, (uint64_t *)0x14007bf08, (uint64_t *)0x140076bf8, {(uint64_t *)0x14007dce0, (uint64_t *)0x14007dd38, (uint64_t *)0x14007dc08, (uint64_t *)0x14007da88, (uint64_t *)0x14007d5f8, (uint64_t *)0x14007df78, (uint64_t *)0x14007d6e8, (uint64_t *)0x14007dbf0, (uint64_t *)0x14007e120, (uint64_t *)0x14007db68, (uint64_t *)0x14007d970, (uint64_t *)0x14007ddf0, (uint64_t *)0x14007de20, (uint64_t *)0x14007e030, (uint64_t *)0x14007e348, (uint64_t *)0x14007dfe0, (uint64_t *)0x14007e0a0, (uint64_t *)0x14007daf0, (uint64_t *)0x14007e2c8, (uint64_t *)0x14007e0b0, (uint64_t *)0x14007e200, (uint64_t *)0x14007d358, (uint64_t *)0x14007de60, (uint64_t *)0x14007e1f0, }}, {(uint64_t *)0x140044f40, (uint64_t *)0x14007b8b8, (uint64_t *)0x14007bfa8, (uint64_t *)0x140076c98, {(uint64_t *)0x14007dd58, (uint64_t *)0x14007e158, (uint64_t *)0x14007e2a8, (uint64_t *)0x14007e260, (uint64_t *)0x14007d4c0, (uint64_t *)0x14007d640, (uint64_t *)0x14007e040, (uint64_t *)0x14007dae0, (uint64_t *)0x14007d2a0, (uint64_t *)0x14007d908, (uint64_t *)0x14007d5c8, (uint64_t *)0x14007d1a0, (uint64_t *)0x14007d680, (uint64_t *)0x14007d1a8, (uint64_t *)0x14007e140, (uint64_t *)0x14007d238, (uint64_t *)0x14007e088, (uint64_t *)0x14007d7b8, (uint64_t *)0x14007dd70, (uint64_t *)0x14007d9a0, (uint64_t *)0x14007d820, (uint64_t *)0x14007e008, (uint64_t *)0x14007dfd8, (uint64_t *)0x14007d480, }}, {(uint64_t *)0x140045e40, (uint64_t *)0x14007b920, (uint64_t *)0x14007bf78, (uint64_t *)0x140076c68, {(uint64_t *)0x14007ddc0, (uint64_t *)0x14007e130, (uint64_t *)0x14007dc78, (uint64_t *)0x14007df60, (uint64_t *)0x14007d518, (uint64_t *)0x14007d220, (uint64_t *)0x14007d280, (uint64_t *)0x14007d2b0, (uint64_t *)0x14007da40, (uint64_t *)0x14007d2b8, (uint64_t *)0x14007e180, (uint64_t *)0x14007e368, (uint64_t *)0x14007df00, (uint64_t *)0x14007d6b0, (uint64_t *)0x14007d8b8, (uint64_t *)0x14007dfa0, (uint64_t *)0x14007e268, (uint64_t *)0x14007d528, (uint64_t *)0x14007df98, (uint64_t *)0x14007da08, (uint64_t *)0x14007d758, (uint64_t *)0x14007e1d8, (uint64_t *)0x14007d420, (uint64_t *)0x14007d208, }}, {(uint64_t *)0x140048040, (uint64_t *)0x14007ba10, (uint64_t *)0x14007bef0, (uint64_t *)0x140076be0, {(uint64_t *)0x14007deb0, (uint64_t *)0x14007de58, (uint64_t *)0x14007dfb0, (uint64_t *)0x14007dd08, (uint64_t *)0x14007da90, (uint64_t *)0x14007d6c8, (uint64_t *)0x14007da10, (uint64_t *)0x14007e388, (uint64_t *)0x14007de90, (uint64_t *)0x14007d3f0, (uint64_t *)0x14007e220, (uint64_t *)0x14007e1a0, (uint64_t *)0x14007d248, (uint64_t *)0x14007dcf8, (uint64_t *)0x14007dfc8, (uint64_t *)0x14007df68, (uint64_t *)0x14007da50, (uint64_t *)0x14007da98, (uint64_t *)0x14007d8e0, (uint64_t *)0x14007e1b0, (uint64_t *)0x14007d940, (uint64_t *)0x14007d740, (uint64_t *)0x14007e168, (uint64_t *)0x14007d650, }}, {(uint64_t *)0x140048160, (uint64_t *)0x14007ba18, (uint64_t *)0x14007bf90, (uint64_t *)0x140076c80, {(uint64_t *)0x14007deb8, (uint64_t *)0x14007d620, (uint64_t *)0x14007d600, (uint64_t *)0x14007d728, (uint64_t *)0x14007e188, (uint64_t *)0x14007dee0, (uint64_t *)0x14007e1c0, (uint64_t *)0x14007d848, (uint64_t *)0x14007db10, (uint64_t *)0x14007d1b8, (uint64_t *)0x14007dda8, (uint64_t *)0x14007daa8, (uint64_t *)0x14007daf8, (uint64_t *)0x14007d5f0, (uint64_t *)0x14007d328, (uint64_t *)0x14007df38, (uint64_t *)0x14007def0, (uint64_t *)0x14007d308, (uint64_t *)0x14007d790, (uint64_t *)0x14007db80, (uint64_t *)0x14007d3d8, (uint64_t *)0x14007e0f8, (uint64_t *)0x14007e218, (uint64_t *)0x14007d4b0, }}, {(uint64_t *)0x140048a80, (uint64_t *)0x14007ba58, (uint64_t *)0x14007bef8, (uint64_t *)0x140076be8, {(uint64_t *)0x14007def8, (uint64_t *)0x14007d698, (uint64_t *)0x14007d8c0, (uint64_t *)0x14007de18, (uint64_t *)0x14007d810, (uint64_t *)0x14007d7f8, (uint64_t *)0x14007e0f0, (uint64_t *)0x14007d7d8, (uint64_t *)0x14007d2a8, (uint64_t *)0x14007d960, (uint64_t *)0x14007de68, (uint64_t *)0x14007dd20, (uint64_t *)0x14007d920, (uint64_t *)0x14007d818, (uint64_t *)0x14007d378, (uint64_t *)0x14007dc90, (uint64_t *)0x14007e2e8, (uint64_t *)0x14007d9f8, (uint64_t *)0x14007d390, (uint64_t *)0x14007da30, (uint64_t *)0x14007d360, (uint64_t *)0x14007d8f8, (uint64_t *)0x14007d440, (uint64_t *)0x14007db00, }}, {(uint64_t *)0x14004b4c0, (uint64_t *)0x14007bb80, (uint64_t *)0x14007bfa0, (uint64_t *)0x140076c90, {(uint64_t *)0x14007e020, (uint64_t *)0x14007ddb8, (uint64_t *)0x14007d760, (uint64_t *)0x14007d500, (uint64_t *)0x14007e100, (uint64_t *)0x14007d850, (uint64_t *)0x14007d1b0, (uint64_t *)0x14007df18, (uint64_t *)0x14007e2a0, (uint64_t *)0x14007d7b0, (uint64_t *)0x14007e018, (uint64_t *)0x14007d618, (uint64_t *)0x14007dbc0, (uint64_t *)0x14007db50, (uint64_t *)0x14007d750, (uint64_t *)0x14007d780, (uint64_t *)0x14007dfe8, (uint64_t *)0x14007de80, (uint64_t *)0x14007d718, (uint64_t *)0x14007d9d8, (uint64_t *)0x14007d678, (uint64_t *)0x14007d898, (uint64_t *)0x14007d9b8, (uint64_t *)0x14007da80, }}, {(uint64_t *)0x14004ca70, (uint64_t *)0x14007bc18, (uint64_t *)0x14007bf68, (uint64_t *)0x140076c58, {(uint64_t *)0x14007e0b8, (uint64_t *)0x14007de10, (uint64_t *)0x14007d950, (uint64_t *)0x14007e338, (uint64_t *)0x14007d1c0, (uint64_t *)0x14007e238, (uint64_t *)0x14007d838, (uint64_t *)0x14007d4d0, (uint64_t *)0x14007e290, (uint64_t *)0x14007dee8, (uint64_t *)0x14007dfb8, (uint64_t *)0x14007d988, (uint64_t *)0x14007dfa8, (uint64_t *)0x14007d310, (uint64_t *)0x14007de50, (uint64_t *)0x14007de70, (uint64_t *)0x14007d8d8, (uint64_t *)0x14007db08, (uint64_t *)0x14007db90, (uint64_t *)0x14007d9c8, (uint64_t *)0x14007db18, (uint64_t *)0x14007d2c0, (uint64_t *)0x14007d3e8, (uint64_t *)0x14007dc98, }}, {(uint64_t *)0x14004cef0, (uint64_t *)0x14007bc38, (uint64_t *)0x14007bf58, (uint64_t *)0x140076c48, {(uint64_t *)0x14007e0d8, (uint64_t *)0x14007d2c8, (uint64_t *)0x14007d8e8, (uint64_t *)0x14007d4e0, (uint64_t *)0x14007d648, (uint64_t *)0x14007d9d0, (uint64_t *)0x14007d840, (uint64_t *)0x14007d560, (uint64_t *)0x14007e048, (uint64_t *)0x14007e090, (uint64_t *)0x14007d778, (uint64_t *)0x14007d4b8, (uint64_t *)0x14007d228, (uint64_t *)0x14007df20, (uint64_t *)0x14007db30, (uint64_t *)0x14007df28, (uint64_t *)0x14007e108, (uint64_t *)0x14007d858, (uint64_t *)0x14007e110, (uint64_t *)0x14007da20, (uint64_t *)0x14007e0d0, (uint64_t *)0x14007dba0, (uint64_t *)0x14007d1d8, (uint64_t *)0x14007d568, }}, {(uint64_t *)0x14004e920, (uint64_t *)0x14007bcf0, (uint64_t *)0x14007bf28, (uint64_t *)0x140076c18, {(uint64_t *)0x14007e190, (uint64_t *)0x14007dfc0, (uint64_t *)0x14007d418, (uint64_t *)0x14007dc58, (uint64_t *)0x14007e270, (uint64_t *)0x14007d958, (uint64_t *)0x14007df70, (uint64_t *)0x14007d410, (uint64_t *)0x14007d7c8, (uint64_t *)0x14007d470, (uint64_t *)0x14007dc20, (uint64_t *)0x14007e330, (uint64_t *)0x14007d4f0, (uint64_t *)0x14007e250, (uint64_t *)0x14007d3b8, (uint64_t *)0x14007d8f0, (uint64_t *)0x14007dcc0, (uint64_t *)0x14007d708, (uint64_t *)0x14007d330, (uint64_t *)0x14007df90, (uint64_t *)0x14007e318, (uint64_t *)0x14007da00, (uint64_t *)0x14007dd30, (uint64_t *)0x14007d630, }}, {(uint64_t *)0x140050320, (uint64_t *)0x14007bda8, (uint64_t *)0x14007bf50, (uint64_t *)0x140076c40, {(uint64_t *)0x14007e248, (uint64_t *)0x14007e360, (uint64_t *)0x14007df30, (uint64_t *)0x14007e1e8, (uint64_t *)0x14007dbf8, (uint64_t *)0x14007d9e8, (uint64_t *)0x14007e328, (uint64_t *)0x14007d6f8, (uint64_t *)0x14007e1c8, (uint64_t *)0x14007d448, (uint64_t *)0x14007d6d8, (uint64_t *)0x14007d980, (uint64_t *)0x14007d4a0, (uint64_t *)0x14007ddd0, (uint64_t *)0x14007dce8, (uint64_t *)0x14007e2f8, (uint64_t *)0x14007dc50, (uint64_t *)0x14007d290, (uint64_t *)0x14007e1f8, (uint64_t *)0x14007dca0, (uint64_t *)0x14007d578, (uint64_t *)0x14007d8c8, (uint64_t *)0x14007de30, (uint64_t *)0x14007d1f8, }}, {(uint64_t *)0x140051d20, (uint64_t *)0x14007be60, (uint64_t *)0x14007bf60, (uint64_t *)0x140076c50, {(uint64_t *)0x14007e300, (uint64_t *)0x14007d3d0, (uint64_t *)0x14007e078, (uint64_t *)0x14007d320, (uint64_t *)0x14007e118, (uint64_t *)0x14007d9a8, (uint64_t *)0x14007d6e0, (uint64_t *)0x14007d558, (uint64_t *)0x14007d438, (uint64_t *)0x14007d800, (uint64_t *)0x14007d318, (uint64_t *)0x14007d990, (uint64_t *)0x14007d9b0, (uint64_t *)0x14007df80, (uint64_t *)0x14007dd10, (uint64_t *)0x14007d3a8, (uint64_t *)0x14007de08, (uint64_t *)0x14007e028, (uint64_t *)0x14007e228, (uint64_t *)0x14007d5c0, (uint64_t *)0x14007d6b8, (uint64_t *)0x14007d2f0, (uint64_t *)0x14007e0e0, (uint64_t *)0x14007db40, }}, };
uint8_t bits1[576]; uint8_t bits2[576];
int main() { int fd = open("dump.bin", O_RDWR); if (fd == -1) { perror("Error opening file"); return 1; } void *dump = mmap(NULL, DUMP_SIZE, PROT_READ, MAP_SHARED, fd, 0); if (dump == NULL) { perror("mmap"); close(fd); return EXIT_FAILURE; } void *mem = mmap((void *)0x140001000, DUMP_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_SHARED, 0, 0); if (mem == MAP_FAILED) { perror("mmap"); close(fd); return EXIT_FAILURE; } memcpy(mem, dump, DUMP_SIZE);
for (int k = 0; k < 0x1000000; k++) { for (int i = 0; i < 48; i++) { for (int j = 0; j < 24; j++) { *(crack[i].bits[j]) = (k >> j) & 1; } void (*func)() = (void (*)())crack[i].func; char stack_buf[16]; func(); if (*(crack[i].out) == *(crack[i].ans)) { printf("i=%d k=0x%x\n", i, k); crack[i].right = k; } } memcpy(mem+DATA_OFF, dump+DATA_OFF, DATA_SIZE); }
uint64_t *bit = (uint64_t *)0x14007D190; for (int i = 0; i < 24; i++) { for (int j = 0; j < 24; j++) { int idx = (int)(crack[i].bits[j] - bit); bits1[idx] = (crack[i].right >> j) & 1; } }
for (int i = 24; i < 48; i++) { for (int j = 0; j < 24; j++) { int idx = (int)(crack[i].bits[j] - bit); bits2[idx] = (crack[i].right >> j) & 1; } }
for (int i = 0; i < 576; i++) { if (bits1[i] != bits2[i]) { printf("i=%d, unmatch\n", i); } }
for (int i = 0; i < 144; i++) { int k = 0; for (int j = 0; j < 4; j++) { k = k | (bits1[i*4+j] << j); } printf("%x", k); } printf("\n");
for (int i = 0; i < 144; i++) { int k = 0; for (int j = 0; j < 4; j++) { k = k | (bits2[i*4+j] << j); } printf("%x", k); } printf("\n");
close(fd); return 0; }
|