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
| #include <iostream> #include <windows.h> #include <stdint.h>
uint64_t code[] = { 0x2F0, 0x328, 0x21B, 0x392, 0x0BA, 0x371, 0x04E, 0x099, 0x061, 0x380, 0x0E9, 0x1F3, 0x33C, 0x018, 0x20E, 0x033, 0x028, 0x0AA, 0x158, 0x188, 0x381, 0x331, 0x02E, 0x040, 0x1E4, 0x011, 0x1ED, 0x1E1, 0x14F, 0x204, 0x24C, 0x1DF, 0x32B, 0x1CF, 0x271, 0x2AD, 0x25F, 0x0BF, 0x0FE, 0x306, 0x11A, 0x19A, 0x1B0, 0x399, 0x33F, 0x0F1, 0x2BB, 0x0FA, 0x3A4, 0x385, 0x06B, 0x164, 0x2F6, 0x07F, 0x051, 0x223, 0x173, 0x12B, 0x3AD, 0x086, 0x106, 0x27D, 0x390, 0x201, 0x1AB, 0x1B7, 0x3C9, 0x303, 0x25A, 0x2B1, 0x2A0, 0x288, 0x142, 0x0B0, 0x1F5, 0x072, 0x3E0, 0x37F, 0x3C4, 0x285, 0x35F, 0x293, 0x2D4, 0x2A8, 0x015, 0x0F6, 0x3B6, 0x34B, 0x171, 0x2C3, 0x27B, 0x28D, 0x38C, 0x137, 0x3B0, 0x05E, 0x329, 0x265, 0x11C, 0x09D, 0x2DE, 0x024, 0x0F3, 0x34F, 0x246, 0x266, 0x133, 0x03A, 0x08E, 0x273, 0x279, 0x33E, 0x09C, 0x2F8, 0x107, 0x1AF, 0x222, 0x1A3, 0x323, 0x2FF, 0x234, 0x2AF, 0x00F, 0x1FA, 0x3D7, 0x120, 0x344, 0x3C8, 0x149, 0x25D, 0x36D, 0x01A, 0x160, 0x221, 0x05B, 0x075, 0x197, 0x275, 0x1B9, 0x31E, 0x2BC, 0x34C, 0x143, 0x3D0, 0x302, 0x103, 0x30F, 0x378, 0x32E, 0x1BB, 0x2EE, 0x2E6, 0x1C6, 0x0B6, 0x280, 0x348, 0x2FD, 0x3B3, 0x3A1, 0x1CC, 0x352, 0x128, 0x38B, 0x155, 0x354, 0x1C3, 0x1E8, 0x242, 0x244, 0x139, 0x30C, 0x1D6, 0x3BD, 0x012, 0x0B2, 0x23C, 0x1B8, 0x2FC, 0x281, 0x1D5, 0x36E, 0x077, 0x05F, 0x3DA, 0x17E, 0x05C, 0x3B8, 0x2F4, 0x0C0, 0x0AB, 0x0B7, 0x3CA, 0x335, 0x2E0, 0x09F, 0x30A, 0x1A8, 0x16F, 0x39B, 0x25C, 0x01B, 0x105, 0x0FB, 0x393, 0x257, 0x224, 0x109, 0x0CB, 0x3BA, 0x264, 0x0A3, 0x30D, 0x114, 0x3E7, 0x0EB, 0x0C5, 0x09A, 0x1AD, 0x2C1, 0x04C, 0x094, 0x2CE, 0x210, 0x330, 0x3CE, 0x1C0, 0x008, 0x26A, 0x06C, 0x2AE, 0x001, 0x156, 0x2A2, 0x29C, 0x1C1, 0x1D0, 0x388, 0x20F, 0x11F, 0x364, 0x389, 0x068, 0x058, 0x11E, 0x163, 0x373, 0x132, 0x296, 0x368, 0x045, 0x111, 0x05D, 0x231, 0x168, 0x1EC, 0x1A7 };
uint64_t data[] = { 0x35E, 0x060, 0x203, 0x073, 0x23E, 0x19F, 0x2F9, 0x079, 0x3A6, 0x26A, 0x348, 0x3B6, 0x045, 0x286, 0x0FE, 0x2B1, 0x231, 0x1A0, 0x22D, 0x1F7, 0x37C, 0x16E, 0x3E1, 0x2AB, 0x022, 0x19B, 0x05A, 0x006, 0x191, 0x052, 0x383, 0x098, 0x08E, 0x1F1, 0x19C, 0x03D, 0x215, 0x011, 0x338, 0x061, 0x088, 0x22A, 0x115, 0x222, 0x224, 0x1C1, 0x002, 0x2FC, 0x1AB, 0x3C5, 0x0CF, 0x3BD, 0x37A, 0x1EF, 0x1DA, 0x2E8, 0x0DD, 0x198, 0x20A, 0x205, 0x081, 0x2B3, 0x2BD, 0x233, 0x173, 0x2C3, 0x1DE, 0x140, 0x144, 0x18C, 0x0F4, 0x32F, 0x0D8, 0x1E5, 0x04C, 0x341, 0x27F, 0x033, 0x211, 0x18F, 0x2C6, 0x382, 0x08A, 0x2EF, 0x2E1, 0x0AB, 0x29D, 0x0DE, 0x0E1, 0x31A, 0x390, 0x3DE, 0x1CA, 0x368, 0x276, 0x234, 0x132, 0x2B6, 0x10D, 0x080, 0x3C2, 0x0A4, 0x3DA, 0x3B0, 0x21E, 0x379, 0x078, 0x21A, 0x3CD, 0x34B, 0x384, 0x342, 0x204, 0x0F0, 0x19E, 0x11C, 0x0D9, 0x2AE, 0x3CC, 0x1E7, 0x074, 0x2C1, 0x087, 0x3BB, 0x02F, 0x369, 0x20B, 0x007, 0x372, 0x114, 0x30C, 0x189, 0x2B9, 0x18B, 0x39A, 0x23B, 0x127, 0x024, 0x057, 0x261, 0x3E7, 0x259, 0x2D5, 0x39E, 0x1A3, 0x3C3, 0x2FA, 0x13D, 0x0B1, 0x3E5, 0x27E, 0x021, 0x2E2, 0x3B1, 0x334, 0x305, 0x10B, 0x3A4, 0x0A1, 0x17C, 0x27D, 0x251, 0x187, 0x0F7, 0x37B, 0x346, 0x1D1, 0x1A1, 0x180, 0x2D6, 0x13E, 0x330, 0x2D4, 0x009, 0x3CB, 0x170, 0x0B9, 0x298, 0x06E, 0x0A7, 0x1FE, 0x2DE, 0x25D, 0x34A, 0x09E, 0x175, 0x093, 0x3CE, 0x30E, 0x1C2, 0x2E3, 0x12A, 0x02D, 0x2F2, 0x2E9, 0x1A8, 0x13C, 0x3C9, 0x08D, 0x36E, 0x27C, 0x26E, 0x337, 0x393, 0x280, 0x26F, 0x0EB, 0x387, 0x121, 0x26B, 0x183, 0x16F, 0x065, 0x16A, 0x092, 0x06A, 0x36F, 0x14E, 0x1FC, 0x0AE, 0x169, 0x31F, 0x18E, 0x0D4, 0x295, 0x099, 0x14B, 0x109, 0x134, 0x0A0, 0x0ED, 0x1EA, 0x2D9, 0x111, 0x333, 0x263, 0x2E6, 0x188, 0x055, 0x2F8, 0x117, 0x1DB, 0x1AF, 0x0E7, 0x296, 0x2A7, 0x2F1, 0x018, 0x154, 0x05D, 0x17E, 0x0DA, 0x2A9, 0x0FC, 0x0CD, 0x289 };
uint64_t input[4] = {0x0860804002c1a550,0x2401186080100a00,0x52604000020200c9,0x0006005401008504};
int main() {
uint64_t res = 0; uint64_t ptr4 = 0;
for (int i = 0; i < 64; ++i) { if (input[0] & (1ULL << i)) { res += code[i]; ptr4 += data[i]; if (res > 0x1770) goto wrong; } }
for (int i = 0; i < 64; ++i) { if (input[1] & (1ULL << i)) { res += code[64 + i]; ptr4 += data[64 + i]; if (res > 0x1770) goto wrong; } }
for (int i = 0; i < 64; ++i) { if (input[2] & (1ULL << i)) { res += code[128 + i]; ptr4 += data[128 + i]; if (res > 0x1770) goto wrong; } }
for (int i = 0; i < 64; ++i) { if (input[3] & (1ULL << i)) { res += code[192 + i]; ptr4 += data[192 + i]; if (res > 0x1770) goto wrong; } }
if (ptr4 >= 0x7B82) { printf("great"); } else { wrong: printf("wrong"); }
}
|