Last active
August 29, 2015 14:19
-
-
Save Slashmolder/627848ac893a2d1cf6d0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aj@kumo:~/code$ make rumble | |
cc rumble.c -o rumble | |
aj@kumo:~/code$ time ./rumble | |
Match 25 00633377 | |
Match 110 01346893 | |
Match 90 02706401 | |
Match 83 03339202 | |
Match 122 03570018 | |
Match 4 04730723 | |
Match 101 05049128 | |
Match 0 07475726 | |
Match 65 07646766 | |
Match 128 07817569 | |
Match 13 08804218 | |
Match 7 08812138 | |
Match 61 09383536 | |
Match 48 12659548 | |
Match 126 14101855 | |
Match 96 14854526 | |
Match 115 15475553 | |
Match 100 15681339 | |
Match 43 16607716 | |
Match 88 16638918 | |
Match 56 17428954 | |
Match 40 18014401 | |
Match 1 18294319 | |
Match 10 18689737 | |
Match 80 18985769 | |
Match 99 19419460 | |
Match 3 20975060 | |
Match 79 21470161 | |
Match 77 23871470 | |
Match 2 24197410 | |
Match 63 24541815 | |
Match 72 24771725 | |
Match 112 25576005 | |
Match 109 25637504 | |
Match 104 25826431 | |
Match 20 26665300 | |
Match 55 27418406 | |
Match 31 28563187 | |
Match 66 30417493 | |
Match 69 30743419 | |
Match 98 31587215 | |
Match 26 31757866 | |
Match 59 32542580 | |
Match 64 33704576 | |
Match 41 35325215 | |
Match 76 36984523 | |
Match 53 37760163 | |
Match 120 37784502 | |
Match 9 38220972 | |
Match 107 38676454 | |
Match 58 40442690 | |
Match 5 40909306 | |
Match 42 41169311 | |
Match 11 41749930 | |
Match 95 43522297 | |
Match 92 43777681 | |
Match 82 44599989 | |
Match 73 45177014 | |
Match 15 45439916 | |
Match 85 45484632 | |
Match 74 46657585 | |
Match 105 46715059 | |
Match 27 47219375 | |
Match 118 48894913 | |
Match 29 50675021 | |
Match 30 51803567 | |
Match 127 52253751 | |
Match 44 52378511 | |
Match 6 52830979 | |
Match 116 53536680 | |
Match 119 54827636 | |
Match 49 56770827 | |
Match 33 58143160 | |
Match 45 58410198 | |
Match 34 59190563 | |
Match 91 61211248 | |
Match 21 61709425 | |
Match 8 62465323 | |
Match 62 62660674 | |
Match 60 62965164 | |
Match 103 64297438 | |
Match 97 64981939 | |
Match 111 65370104 | |
Match 87 67097747 | |
Match 68 67997111 | |
Match 102 68482513 | |
Match 123 68938734 | |
Match 78 70025653 | |
Match 37 70095874 | |
Match 17 70403360 | |
Match 28 70913926 | |
Match 23 70959041 | |
Match 16 71001385 | |
Match 84 73294979 | |
Match 51 73631464 | |
Match 86 75842984 | |
Match 47 77394523 | |
Match 19 78515422 | |
Match 36 78809335 | |
Match 35 79075980 | |
Match 125 79159356 | |
Match 108 79262839 | |
Match 70 79674426 | |
Match 46 80458867 | |
Match 113 80501954 | |
Match 12 80837953 | |
Match 75 82934904 | |
Match 124 83660710 | |
Match 71 87337896 | |
Match 14 87456259 | |
Match 106 87924051 | |
Match 50 88236729 | |
Match 22 88252527 | |
Match 121 88542610 | |
Match 18 89548655 | |
Match 24 91336986 | |
Match 38 92293728 | |
Match 52 92955036 | |
Match 81 94681135 | |
Match 32 95359778 | |
Match 57 95368835 | |
Match 114 96380090 | |
Match 93 96465637 | |
Match 94 97096330 | |
Match 117 97881775 | |
Match 54 98114402 | |
Match 67 98361402 | |
Match 89 98920358 | |
Match 39 99271867 | |
real 1m56.147s | |
user 1m56.108s | |
sys 0m0.004s |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* SHA-1 hash in C | |
* | |
* Copyright (c) 2014 Project Nayuki | |
* http://www.nayuki.io/page/fast-sha1-hash-implementation-in-x86-assembly | |
* | |
* (MIT License) | |
* Permission is hereby granted, free of charge, to any person obtaining a copy of | |
* this software and associated documentation files (the "Software"), to deal in | |
* the Software without restriction, including without limitation the rights to | |
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | |
* the Software, and to permit persons to whom the Software is furnished to do so, | |
* subject to the following conditions: | |
* - The above copyright notice and this permission notice shall be included in | |
* all copies or substantial portions of the Software. | |
* - The Software is provided "as is", without warranty of any kind, express or | |
* implied, including but not limited to the warranties of merchantability, | |
* fitness for a particular purpose and noninfringement. In no event shall the | |
* authors or copyright holders be liable for any claim, damages or other | |
* liability, whether in an action of contract, tort or otherwise, arising from, | |
* out of or in connection with the Software or the use or other dealings in the | |
* Software. | |
*/ | |
#include <stdint.h> | |
#include <stdio.h> | |
#include <string.h> | |
#include <byteswap.h> | |
void sha1_compress(uint32_t state[5], const uint8_t block[64]) { | |
#define SCHEDULE(i) \ | |
temp = schedule[(i - 3) & 0xF] ^ schedule[(i - 8) & 0xF] ^ schedule[(i - 14) & 0xF] ^ schedule[(i - 16) & 0xF]; \ | |
schedule[i & 0xF] = temp << 1 | temp >> 31; | |
#define LOADSCHEDULE(i) \ | |
schedule[i] = \ | |
(uint32_t)block[i * 4 + 0] << 24 \ | |
| (uint32_t)block[i * 4 + 1] << 16 \ | |
| (uint32_t)block[i * 4 + 2] << 8 \ | |
| (uint32_t)block[i * 4 + 3]; | |
#define ROUND0a(a, b, c, d, e, i) LOADSCHEDULE(i) ROUNDTAIL(a, b, e, ((b & c) | (~b & d)) , i, 0x5A827999) | |
#define ROUND0b(a, b, c, d, e, i) SCHEDULE(i) ROUNDTAIL(a, b, e, ((b & c) | (~b & d)) , i, 0x5A827999) | |
#define ROUND1(a, b, c, d, e, i) SCHEDULE(i) ROUNDTAIL(a, b, e, (b ^ c ^ d) , i, 0x6ED9EBA1) | |
#define ROUND2(a, b, c, d, e, i) SCHEDULE(i) ROUNDTAIL(a, b, e, ((b & c) ^ (b & d) ^ (c & d)), i, 0x8F1BBCDC) | |
#define ROUND3(a, b, c, d, e, i) SCHEDULE(i) ROUNDTAIL(a, b, e, (b ^ c ^ d) , i, 0xCA62C1D6) | |
#define ROUNDTAIL(a, b, e, f, i, k) \ | |
e += (a << 5 | a >> 27) + f + UINT32_C(k) + schedule[i & 0xF]; \ | |
b = b << 30 | b >> 2; | |
uint32_t a = state[0]; | |
uint32_t b = state[1]; | |
uint32_t c = state[2]; | |
uint32_t d = state[3]; | |
uint32_t e = state[4]; | |
uint32_t schedule[16]; | |
uint32_t temp; | |
ROUND0a(a, b, c, d, e, 0) | |
ROUND0a(e, a, b, c, d, 1) | |
ROUND0a(d, e, a, b, c, 2) | |
ROUND0a(c, d, e, a, b, 3) | |
ROUND0a(b, c, d, e, a, 4) | |
ROUND0a(a, b, c, d, e, 5) | |
ROUND0a(e, a, b, c, d, 6) | |
ROUND0a(d, e, a, b, c, 7) | |
ROUND0a(c, d, e, a, b, 8) | |
ROUND0a(b, c, d, e, a, 9) | |
ROUND0a(a, b, c, d, e, 10) | |
ROUND0a(e, a, b, c, d, 11) | |
ROUND0a(d, e, a, b, c, 12) | |
ROUND0a(c, d, e, a, b, 13) | |
ROUND0a(b, c, d, e, a, 14) | |
ROUND0a(a, b, c, d, e, 15) | |
ROUND0b(e, a, b, c, d, 16) | |
ROUND0b(d, e, a, b, c, 17) | |
ROUND0b(c, d, e, a, b, 18) | |
ROUND0b(b, c, d, e, a, 19) | |
ROUND1(a, b, c, d, e, 20) | |
ROUND1(e, a, b, c, d, 21) | |
ROUND1(d, e, a, b, c, 22) | |
ROUND1(c, d, e, a, b, 23) | |
ROUND1(b, c, d, e, a, 24) | |
ROUND1(a, b, c, d, e, 25) | |
ROUND1(e, a, b, c, d, 26) | |
ROUND1(d, e, a, b, c, 27) | |
ROUND1(c, d, e, a, b, 28) | |
ROUND1(b, c, d, e, a, 29) | |
ROUND1(a, b, c, d, e, 30) | |
ROUND1(e, a, b, c, d, 31) | |
ROUND1(d, e, a, b, c, 32) | |
ROUND1(c, d, e, a, b, 33) | |
ROUND1(b, c, d, e, a, 34) | |
ROUND1(a, b, c, d, e, 35) | |
ROUND1(e, a, b, c, d, 36) | |
ROUND1(d, e, a, b, c, 37) | |
ROUND1(c, d, e, a, b, 38) | |
ROUND1(b, c, d, e, a, 39) | |
ROUND2(a, b, c, d, e, 40) | |
ROUND2(e, a, b, c, d, 41) | |
ROUND2(d, e, a, b, c, 42) | |
ROUND2(c, d, e, a, b, 43) | |
ROUND2(b, c, d, e, a, 44) | |
ROUND2(a, b, c, d, e, 45) | |
ROUND2(e, a, b, c, d, 46) | |
ROUND2(d, e, a, b, c, 47) | |
ROUND2(c, d, e, a, b, 48) | |
ROUND2(b, c, d, e, a, 49) | |
ROUND2(a, b, c, d, e, 50) | |
ROUND2(e, a, b, c, d, 51) | |
ROUND2(d, e, a, b, c, 52) | |
ROUND2(c, d, e, a, b, 53) | |
ROUND2(b, c, d, e, a, 54) | |
ROUND2(a, b, c, d, e, 55) | |
ROUND2(e, a, b, c, d, 56) | |
ROUND2(d, e, a, b, c, 57) | |
ROUND2(c, d, e, a, b, 58) | |
ROUND2(b, c, d, e, a, 59) | |
ROUND3(a, b, c, d, e, 60) | |
ROUND3(e, a, b, c, d, 61) | |
ROUND3(d, e, a, b, c, 62) | |
ROUND3(c, d, e, a, b, 63) | |
ROUND3(b, c, d, e, a, 64) | |
ROUND3(a, b, c, d, e, 65) | |
ROUND3(e, a, b, c, d, 66) | |
ROUND3(d, e, a, b, c, 67) | |
ROUND3(c, d, e, a, b, 68) | |
ROUND3(b, c, d, e, a, 69) | |
ROUND3(a, b, c, d, e, 70) | |
ROUND3(e, a, b, c, d, 71) | |
ROUND3(d, e, a, b, c, 72) | |
ROUND3(c, d, e, a, b, 73) | |
ROUND3(b, c, d, e, a, 74) | |
ROUND3(a, b, c, d, e, 75) | |
ROUND3(e, a, b, c, d, 76) | |
ROUND3(d, e, a, b, c, 77) | |
ROUND3(c, d, e, a, b, 78) | |
ROUND3(b, c, d, e, a, 79) | |
state[0] += a; | |
state[1] += b; | |
state[2] += c; | |
state[3] += d; | |
state[4] += e; | |
} | |
// Generated by BreakPoint Software's Hex Workshop v6.8.0.5419 | |
// http://www.hexworkshop.com | |
// http://www.bpsoft.com | |
// | |
// Source File: D:\Desktop\rumble\rom\table\PasswordDesc.bin | |
// Time: 4/17/2015 10:49 PM | |
// Orig. Offset: 1908 / 0x00000774 | |
// Length: 2193 / 0x00000891 (bytes) | |
unsigned char rawData[2193] = | |
{ | |
0xC1, 0x2B, 0x87, 0xA0, 0xE7, 0x54, 0x7C, 0x3C, 0x67, 0x0E, 0x6A, 0x56, 0x26, 0x84, 0x75, 0x29, | |
0x00, 0xA6, 0x13, 0xE7, 0x1E, 0xDF, 0x6B, 0x4D, 0xA8, 0x3D, 0x52, 0x86, 0x2C, 0xC5, 0xCB, 0xD2, | |
0xCB, 0x00, 0x08, 0xE6, 0x07, 0x5C, 0x3F, 0xE4, 0x9C, 0xE4, 0x1C, 0x76, 0xDB, 0xFB, 0xAB, 0x3A, | |
0x2C, 0x53, 0x00, 0x9B, 0x23, 0x8E, 0x8A, 0x6D, 0x40, 0x44, 0x52, 0xA1, 0x53, 0xE6, 0xE0, 0x0A, | |
0xED, 0xB4, 0x63, 0x00, 0x22, 0xD8, 0x2E, 0x0D, 0x72, 0x74, 0xF6, 0x82, 0x70, 0xF3, 0x55, 0xA6, | |
0x74, 0x1D, 0xD9, 0xB5, 0x00, 0xF2, 0xB8, 0xF0, 0xA2, 0x72, 0xD4, 0xF2, 0x6A, 0xC4, 0xDB, 0x74, | |
0x5F, 0xC3, 0xA1, 0x1C, 0xE4, 0x00, 0xE9, 0x33, 0xAE, 0x2F, 0x24, 0x33, 0xF7, 0xC0, 0xAC, 0xA5, | |
0xC3, 0xD9, 0x3F, 0x7F, 0xB4, 0x4C, 0x00, 0xB9, 0x4D, 0x9B, 0x82, 0xF3, 0xDE, 0x0F, 0x9C, 0x01, | |
0xC5, 0x44, 0xAB, 0xC2, 0x61, 0x76, 0x18, 0x00, 0x13, 0xB6, 0x40, 0xD6, 0xC7, 0x76, 0x87, 0x4C, | |
0xC5, 0x91, 0x3C, 0x36, 0xD3, 0xB6, 0xCF, 0x66, 0x00, 0xA0, 0xAB, 0xA0, 0xD6, 0x47, 0xA7, 0xF8, | |
0xC3, 0x8F, 0xFB, 0x4D, 0x21, 0x69, 0x44, 0xAD, 0xBE, 0x00, 0x6F, 0xB6, 0xD2, 0xED, 0x54, 0xE8, | |
0x66, 0x4E, 0x68, 0xFA, 0x31, 0x8F, 0x04, 0x74, 0x92, 0x83, 0x00, 0xF2, 0xC3, 0x61, 0x21, 0x6B, | |
0xB8, 0x00, 0x56, 0xCE, 0xD3, 0x7D, 0xEC, 0xEA, 0x74, 0xD2, 0xC6, 0x00, 0xD6, 0xE0, 0xCF, 0xE5, | |
0x4B, 0xD6, 0xE5, 0x58, 0xB3, 0x79, 0x2F, 0xFD, 0x94, 0x30, 0x43, 0xC8, 0x00, 0x05, 0x7C, 0xE6, | |
0x91, 0xF4, 0x7C, 0x2A, 0x5A, 0x13, 0x92, 0x64, 0xAF, 0x39, 0x0C, 0x05, 0xEA, 0x00, 0x40, 0x4B, | |
0x2B, 0x00, 0xCB, 0x8D, 0x88, 0x08, 0xEB, 0x22, 0x07, 0x03, 0x45, 0x2E, 0xEE, 0xAA, 0x00, 0x14, | |
0x4C, 0xE0, 0x60, 0xCB, 0x24, 0x38, 0xBB, 0x4D, 0x99, 0xFB, 0xE2, 0x3A, 0xA0, 0x93, 0x24, 0x00, | |
0x1C, 0x64, 0xE7, 0x1C, 0xEE, 0x8D, 0xE7, 0x41, 0x68, 0xD9, 0x37, 0x4B, 0xCE, 0x7F, 0x9B, 0xFF, | |
0x00, 0x03, 0xF9, 0x7E, 0xCE, 0xCD, 0x77, 0x06, 0x28, 0x65, 0xD2, 0x95, 0x82, 0x7B, 0x50, 0xFC, | |
0x3F, 0x00, 0xBF, 0x6C, 0xA4, 0x6F, 0x7F, 0x19, 0x77, 0x7B, 0xF7, 0x01, 0xC5, 0x7B, 0x8D, 0x98, | |
0x2F, 0x50, 0x00, 0xEF, 0x69, 0x65, 0x7B, 0xAB, 0x82, 0x6B, 0x0A, 0x19, 0x84, 0x79, 0xDF, 0x03, | |
0x7A, 0x7B, 0x95, 0x00, 0xE9, 0xFA, 0x78, 0xFC, 0x03, 0xA4, 0x8A, 0x74, 0x56, 0x84, 0x5B, 0x96, | |
0x2E, 0x35, 0x3A, 0xCC, 0x00, 0x82, 0xBA, 0x4A, 0x4D, 0xA2, 0x06, 0xB3, 0xB6, 0xD1, 0x4A, 0x47, | |
0x19, 0x65, 0xB7, 0xBD, 0xFB, 0x00, 0xA1, 0xFD, 0x8E, 0x87, 0xF3, 0x95, 0xFC, 0xF4, 0xAC, 0x87, | |
0x9A, 0x5E, 0x88, 0xF5, 0xF5, 0x13, 0x00, 0x9F, 0x0E, 0x80, 0xB3, 0xCC, 0x9C, 0xBB, 0xC5, 0x8C, | |
0xE5, 0x76, 0xE0, 0xC0, 0x9E, 0x4E, 0x56, 0x00, 0xF6, 0x31, 0xEB, 0x99, 0xBC, 0x86, 0xC5, 0x47, | |
0x0B, 0xF9, 0x8D, 0xDB, 0xA0, 0x77, 0x39, 0x60, 0x00, 0x8B, 0xAA, 0x0C, 0x63, 0xFF, 0xF8, 0xB3, | |
0xEE, 0xD6, 0xB8, 0x28, 0x0E, 0xE2, 0xBE, 0x0E, 0xBF, 0x00, 0x91, 0xE6, 0x44, 0x30, 0xC2, 0x8B, | |
0xD0, 0x6A, 0xEB, 0x1B, 0xAA, 0xCE, 0xA8, 0x59, 0xB9, 0x47, 0x00, 0x1A, 0x23, 0xB3, 0x4C, 0x12, | |
0xC8, 0x99, 0x46, 0xE7, 0xF7, 0x07, 0x8F, 0xAC, 0x66, 0x19, 0x6B, 0x00, 0x7D, 0xFB, 0x21, 0xCE, | |
0xFD, 0xCB, 0xCE, 0xEE, 0xA0, 0xB2, 0xD8, 0x66, 0x04, 0x6F, 0x9F, 0xBF, 0x00, 0x96, 0x5A, 0x9B, | |
0x46, 0x9C, 0xF6, 0x18, 0x88, 0xFC, 0xAC, 0xA1, 0xC5, 0xEA, 0x9A, 0xE2, 0xE0, 0x00, 0x40, 0xD5, | |
0x6A, 0x22, 0xE7, 0x4C, 0x76, 0x6F, 0xAD, 0x3C, 0x2E, 0x40, 0xD8, 0x0F, 0x1F, 0x23, 0x00, 0x6F, | |
0xC6, 0xD7, 0x01, 0x3D, 0x21, 0x62, 0xEA, 0x4B, 0xD6, 0xAF, 0x13, 0x55, 0xC4, 0xA1, 0x70, 0x00, | |
0xE0, 0x9D, 0x27, 0xD3, 0xBB, 0x43, 0x43, 0xD0, 0xB5, 0xD7, 0x9D, 0x41, 0x30, 0x7E, 0xD7, 0x57, | |
0x00, 0x02, 0xCA, 0x6A, 0x19, 0x7C, 0x20, 0xA4, 0x02, 0x2C, 0x0C, 0x41, 0x97, 0xBF, 0x49, 0x70, | |
0xCF, 0x00, 0x76, 0xC0, 0xB9, 0x61, 0xB8, 0x59, 0xC3, 0xED, 0x10, 0x57, 0x8F, 0xA5, 0x7F, 0x10, | |
0xC3, 0xD8, 0x00, 0x05, 0xF3, 0xFC, 0xBC, 0x7D, 0xAC, 0x72, 0x27, 0x37, 0x8A, 0xF1, 0xE2, 0x66, | |
0xC1, 0xE0, 0x28, 0x00, 0xCE, 0xBD, 0xBF, 0x52, 0x2B, 0x31, 0xEF, 0x13, 0x5B, 0xB4, 0x53, 0x7C, | |
0x9F, 0xE0, 0x51, 0x7B, 0x00, 0xED, 0x39, 0xB9, 0x9A, 0x8F, 0xA1, 0xB2, 0x64, 0x33, 0x35, 0xBE, | |
0x01, 0x45, 0x23, 0x9F, 0xAF, 0x00, 0x3D, 0xAF, 0xFF, 0x29, 0xD8, 0x42, 0x2C, 0x53, 0x68, 0x25, | |
0xFB, 0x9A, 0x58, 0x80, 0x9A, 0x41, 0x00, 0x28, 0x5D, 0xD8, 0x59, 0x3C, 0x30, 0x93, 0x3C, 0x1A, | |
0x93, 0xAE, 0x3D, 0x36, 0xD2, 0xA3, 0xCA, 0x00, 0x6A, 0x3C, 0x97, 0xC7, 0xA5, 0x43, 0x3E, 0x78, | |
0x27, 0x41, 0xA5, 0x97, 0x1A, 0xCC, 0xD1, 0xB3, 0x00, 0x26, 0x7C, 0x05, 0xAD, 0x08, 0x27, 0xD9, | |
0xF0, 0x1B, 0xBC, 0x05, 0xC2, 0x07, 0x54, 0x69, 0x74, 0x00, 0x34, 0x5C, 0x16, 0x01, 0x8A, 0x4C, | |
0xC5, 0xE8, 0x31, 0xB7, 0xDC, 0xE7, 0x0F, 0xED, 0xA2, 0xE3, 0x00, 0x1D, 0x2A, 0x1E, 0x83, 0x88, | |
0x2C, 0x02, 0x09, 0x2E, 0x9D, 0x39, 0x4E, 0x1F, 0x39, 0x47, 0xFA, 0x00, 0x1C, 0xFF, 0xA9, 0x76, | |
0x4E, 0x91, 0x90, 0x7C, 0x36, 0x8D, 0xFB, 0x93, 0x5C, 0xD2, 0x30, 0x30, 0x00, 0x69, 0x45, 0x4C, | |
0x8F, 0x00, 0x97, 0xF6, 0x6E, 0xC7, 0x79, 0x19, 0x5D, 0x3D, 0xF3, 0x2D, 0x56, 0x00, 0x93, 0x11, | |
0x42, 0x39, 0x66, 0x7C, 0xFD, 0x26, 0xF7, 0x7A, 0x7A, 0xEA, 0xB8, 0x9D, 0xE7, 0xD8, 0x00, 0x13, | |
0x48, 0xE7, 0x5E, 0x3B, 0x59, 0x1D, 0x78, 0x44, 0x42, 0x46, 0xF5, 0xC7, 0x8E, 0xB6, 0x78, 0x00, | |
0x71, 0x18, 0x48, 0xE2, 0x2B, 0x12, 0x6A, 0x86, 0x20, 0xF5, 0xEE, 0xEA, 0xA0, 0xD1, 0x7E, 0x59, | |
0x00, 0x8B, 0xD0, 0xC9, 0x48, 0x02, 0x10, 0x18, 0x33, 0x5F, 0x90, 0x44, 0x3F, 0x78, 0x95, 0xFF, | |
0x8F, 0x00, 0x38, 0x0A, 0x1B, 0x78, 0x64, 0x71, 0x5C, 0x99, 0x33, 0xFE, 0x78, 0xAE, 0x7A, 0xBE, | |
0x7D, 0x9A, 0x00, 0xEF, 0x4D, 0xCA, 0xA5, 0xED, 0x2B, 0x46, 0x0D, 0xD3, 0x8C, 0x82, 0xC4, 0xA5, | |
0x2C, 0x75, 0x42, 0x00, 0xCE, 0x95, 0x72, 0xD1, 0xCB, 0xF0, 0xD2, 0x46, 0x39, 0x59, 0xE2, 0xC0, | |
0x4C, 0x51, 0x3E, 0xA9, 0x00, 0x4F, 0x79, 0x4B, 0x2E, 0xA4, 0xDE, 0x75, 0xDA, 0x52, 0x86, 0x88, | |
0xD2, 0xCF, 0x9C, 0x68, 0xB0, 0x00, 0x32, 0x2A, 0xDE, 0x17, 0x41, 0x99, 0x22, 0x0F, 0xE2, 0x45, | |
0x77, 0x58, 0x66, 0xA6, 0x46, 0x77, 0x00, 0x6B, 0x78, 0xF8, 0x26, 0xB7, 0xB9, 0xD1, 0x18, 0x02, | |
0xEB, 0x86, 0xAA, 0x59, 0x9A, 0x93, 0xAF, 0x00, 0x0F, 0x8C, 0x3A, 0xB5, 0x6D, 0x79, 0x26, 0x1C, | |
0x5C, 0x5B, 0xF8, 0x20, 0x88, 0xC0, 0x62, 0xA8, 0x00, 0x49, 0x35, 0x28, 0xB9, 0xEC, 0x77, 0x23, | |
0xFF, 0xE0, 0xAA, 0x52, 0x9C, 0x03, 0x52, 0xCF, 0x79, 0x00, 0x6E, 0x13, 0xB5, 0x76, 0x11, 0x19, | |
0x91, 0x32, 0xBB, 0x93, 0x28, 0x3E, 0x0A, 0xE3, 0xDB, 0x88, 0x00, 0x79, 0x0B, 0xCB, 0xC9, 0x04, | |
0x61, 0x7D, 0xA4, 0x6F, 0x6B, 0x08, 0xB9, 0x53, 0x5D, 0x5B, 0x70, 0x00, 0x8A, 0xC0, 0xFE, 0xCD, | |
0xC9, 0x63, 0x94, 0x87, 0xF7, 0x65, 0x76, 0xAB, 0x9A, 0xD2, 0x62, 0x70, 0x00, 0x77, 0x1E, 0xC7, | |
0x32, 0x66, 0x50, 0xDC, 0xF0, 0x7B, 0x28, 0x71, 0x56, 0xBD, 0xB6, 0x8A, 0x64, 0x00, 0x21, 0x84, | |
0x88, 0xFD, 0xB6, 0x2B, 0xB0, 0x7B, 0xDA, 0x70, 0x26, 0x5B, 0x44, 0x77, 0x11, 0x61, 0x00, 0xEB, | |
0xFB, 0x1D, 0x54, 0x90, 0x03, 0xD8, 0x29, 0x64, 0x76, 0xB4, 0x3B, 0xDD, 0xBB, 0xA0, 0xB2, 0x00, | |
0xC1, 0xE4, 0x00, 0xB4, 0x9D, 0x4C, 0x28, 0x2C, 0x9B, 0x49, 0xB6, 0xD6, 0x5A, 0x62, 0x1B, 0x12, | |
0x00, 0xA1, 0xC6, 0x2F, 0xE4, 0xEE, 0xD0, 0x1E, 0x57, 0xF2, 0x14, 0x95, 0x10, 0x80, 0xDF, 0xCE, | |
0x05, 0x00, 0x96, 0x3F, 0xF9, 0x3C, 0x9F, 0x26, 0x81, 0xEC, 0x6E, 0x3A, 0x63, 0x3D, 0xB1, 0x89, | |
0x15, 0x1B, 0x00, 0x04, 0x4C, 0xB8, 0xAF, 0xFD, 0x54, 0x09, 0x68, 0x09, 0x89, 0xD4, 0x74, 0x63, | |
0x1C, 0xDD, 0xCD, 0x00, 0x68, 0x93, 0x7C, 0xB2, 0x88, 0x09, 0x0A, 0x4F, 0x40, 0xF0, 0x54, 0xA8, | |
0xCC, 0xC1, 0x6E, 0x25, 0x00, 0xD1, 0xBB, 0x83, 0xCF, 0xBF, 0x1F, 0x60, 0xFD, 0x00, 0x02, 0xCC, | |
0x38, 0x76, 0x1A, 0x8A, 0xE7, 0x00, 0x8A, 0xF3, 0x86, 0x26, 0xDB, 0xC6, 0x99, 0xB0, 0x48, 0x50, | |
0x10, 0x23, 0x11, 0x95, 0x4F, 0xF0, 0x00, 0x69, 0xBB, 0x2B, 0x10, 0x3C, 0x46, 0xA3, 0x86, 0x40, | |
0xFC, 0xD2, 0x35, 0xF7, 0x6F, 0x10, 0x86, 0x00, 0x61, 0x65, 0x87, 0xD4, 0x53, 0x4C, 0x4C, 0x68, | |
0x18, 0xC4, 0xD6, 0xF1, 0x13, 0x3A, 0xE4, 0x48, 0x00, 0x8D, 0xA3, 0x03, 0xAA, 0x5B, 0x41, 0x86, | |
0x9F, 0xA5, 0x29, 0xF3, 0xBA, 0x24, 0x0C, 0x35, 0x53, 0x00, 0xA3, 0x74, 0xE4, 0x56, 0xE0, 0x59, | |
0xA9, 0x6B, 0xDC, 0x08, 0xAB, 0xCC, 0x73, 0xAB, 0xB7, 0x52, 0x00, 0x8B, 0x26, 0x4A, 0x4D, 0xF5, | |
0x95, 0xFC, 0xB8, 0x54, 0xBC, 0x4B, 0x56, 0x78, 0x8F, 0x29, 0xD0, 0x00, 0x50, 0x11, 0xF8, 0x7E, | |
0xA0, 0xD8, 0x39, 0x2A, 0x84, 0xDD, 0x47, 0xA6, 0x66, 0x36, 0xB7, 0xFF, 0x00, 0xCF, 0x56, 0xE2, | |
0x1A, 0x37, 0x88, 0x14, 0x14, 0x19, 0x58, 0x6B, 0x71, 0xB1, 0x8D, 0xBB, 0xDF, 0x00, 0xD0, 0x23, | |
0x54, 0xAB, 0xFB, 0xB6, 0xAF, 0x3C, 0xC0, 0xAD, 0x69, 0x55, 0xAC, 0x5B, 0x64, 0x3D, 0x00, 0x3B, | |
0x70, 0x1C, 0xE8, 0xF7, 0xD9, 0x1E, 0xEF, 0xDC, 0xAA, 0xB9, 0xD2, 0x76, 0x53, 0x17, 0x1C, 0x00, | |
0x1E, 0xB4, 0x69, 0xAE, 0x7B, 0xFC, 0x28, 0x40, 0x6C, 0x41, 0x56, 0xCC, 0xAD, 0x81, 0x4F, 0xF5, | |
0x00, 0x7A, 0xD1, 0xC0, 0x04, 0x4F, 0x38, 0x4F, 0xAE, 0x2A, 0xDC, 0x13, 0x86, 0xD5, 0xEF, 0x31, | |
0xC9, 0x00, 0x04, 0xE4, 0xC7, 0xFF, 0xC2, 0x7C, 0x19, 0x9A, 0xF6, 0x3E, 0xFC, 0x51, 0xE1, 0xA3, | |
0x9C, 0x05, 0x00, 0xD3, 0xA7, 0x78, 0xA2, 0x3F, 0xFD, 0x2A, 0xC0, 0x87, 0xA3, 0x89, 0x48, 0x5C, | |
0x17, 0x42, 0x8F, 0x00, 0x60, 0x9F, 0x68, 0xA0, 0x5C, 0x14, 0xEC, 0xFA, 0xD8, 0xFC, 0x5B, 0x1F, | |
0x29, 0xDD, 0x72, 0x0B, 0x00, 0x47, 0xEE, 0x19, 0x6D, 0xD6, 0x7A, 0x88, 0x4C, 0xBF, 0x57, 0x38, | |
0x40, 0xBF, 0xB1, 0xFE, 0xE1, 0x00, 0x62, 0x0F, 0x36, 0x6F, 0x94, 0x97, 0x53, 0x8D, 0xD2, 0x27, | |
0x9F, 0xFC, 0x03, 0xBF, 0x7A, 0xFD, 0x00, 0x91, 0x21, 0x4A, 0x21, 0xD5, 0x78, 0xCD, 0x84, 0x3D, | |
0x25, 0xF8, 0xD1, 0x88, 0x2B, 0xAF, 0xF4, 0x00, 0x6C, 0x0F, 0x40, 0x45, 0x99, 0xFE, 0xBF, 0x51, | |
0xC4, 0xC4, 0x76, 0x51, 0x0C, 0x72, 0x7E, 0x5E, 0x00, 0x61, 0xA4, 0x34, 0x74, 0x93, 0x55, 0x6C, | |
0x6E, 0x6D, 0xB4, 0x0D, 0x6F, 0x3A, 0x68, 0x48, 0x51, 0x00, 0x35, 0xF5, 0x7C, 0x4E, 0x81, 0x40, | |
0xC5, 0x8E, 0x97, 0x4D, 0x5C, 0xC6, 0xFC, 0x7F, 0x7D, 0x65, 0x00, 0x1B, 0x3E, 0xD7, 0x34, 0xAA, | |
0x26, 0x68, 0x72, 0x7C, 0xE7, 0x22, 0xFC, 0x75, 0x9D, 0x68, 0x45, 0x00, 0xC1, 0xF1, 0x61, 0xE2, | |
0x56, 0x33, 0xFF, 0xE0, 0x94, 0x22, 0x3C, 0x81, 0x52, 0x50, 0x22, 0xF7, 0x00, 0xCC, 0x66, 0x8A, | |
0x20, 0x4A, 0xCF, 0xC1, 0xC1, 0x2E, 0xCC, 0x6E, 0xCA, 0x97, 0x49, 0x67, 0xA6, 0x00, 0xA2, 0xAC, | |
0x76, 0x9A, 0x1D, 0x61, 0x0D, 0x3B, 0xD1, 0x05, 0xA8, 0x06, 0x85, 0x5E, 0x3B, 0x9C, 0x00, 0x62, | |
0x90, 0x33, 0x29, 0xF6, 0xC8, 0x3F, 0x53, 0x90, 0x5C, 0x6F, 0xEF, 0xB6, 0x7E, 0xCD, 0x60, 0x00, | |
0x89, 0x7A, 0xEE, 0xF1, 0xED, 0x1B, 0x73, 0xA4, 0x71, 0xE2, 0xC2, 0xF1, 0x04, 0x05, 0x1E, 0x81, | |
0x00, 0xD8, 0xB0, 0x87, 0xB1, 0x29, 0xC6, 0xC3, 0x07, 0xE0, 0x86, 0xE1, 0xFC, 0x1C, 0xA3, 0xC3, | |
0xF5, 0x00, 0xB8, 0xC7, 0x24, 0x21, 0x1D, 0xC7, 0xC5, 0x42, 0xFD, 0x73, 0x00, 0xA1, 0x78, 0x10, | |
0x2B, 0x27, 0x00, 0x65, 0x36, 0xA6, 0x82, 0x54, 0xF2, 0x85, 0x1A, 0x41, 0xC7, 0x5E, 0xB9, 0xD8, | |
0xAB, 0xAA, 0xBD, 0x00, 0x5B, 0x02, 0x9A, 0x0B, 0xC2, 0x1C, 0x68, 0xBE, 0x1D, 0xCF, 0x10, 0x87, | |
0xA3, 0x8A, 0xE8, 0x97, 0x00, 0xAD, 0xA0, 0x03, 0x54, 0xB1, 0x43, 0xA0, 0x71, 0x3C, 0xC2, 0x0F, | |
0x60, 0x18, 0xB7, 0x81, 0x04, 0x00, 0xAE, 0x11, 0xA4, 0x21, 0xDA, 0x2E, 0x00, 0x26, 0x1A, 0xA2, | |
0x97, 0x55, 0x6D, 0xD8, 0x40, 0xEF, 0x00, 0x9A, 0xA2, 0x81, 0xCF, 0x4B, 0x76, 0xCA, 0x80, 0x2E, | |
0xDD, 0x96, 0xD4, 0xCE, 0xBA, 0x7A, 0xA3, 0x00, 0x2C, 0xF8, 0x09, 0x88, 0xD7, 0x40, 0x36, 0x42, | |
0xAE, 0xBC, 0x88, 0x08, 0xDF, 0x36, 0x54, 0x7E, 0x00, 0x45, 0x6A, 0xAC, 0x35, 0x6F, 0xC1, 0x3C, | |
0xE6, 0xD7, 0xD8, 0x54, 0xD1, 0x90, 0x80, 0x32, 0x77, 0x00, 0x37, 0x11, 0x90, 0x89, 0x8C, 0x91, | |
0x4F, 0x79, 0x4A, 0x9E, 0x47, 0x6E, 0xC0, 0x18, 0xC3, 0x11, 0x00, 0xB5, 0x51, 0xAE, 0xF6, 0xF0, | |
0x28, 0xCE, 0x97, 0x53, 0x78, 0x05, 0x1D, 0xDC, 0x79, 0xED, 0x1E, 0x00, 0x2A, 0xD3, 0x62, 0x85, | |
0x30, 0x10, 0x4A, 0x68, 0x8D, 0x1D, 0xC6, 0xE4, 0xB8, 0xD8, 0xBF, 0xEC, 0x00, 0xD6, 0x7A, 0xED, | |
0x13, 0x9E, 0x83, 0x73, 0x3C, 0xD8, 0xA7, 0x4D, 0x8B, 0x9C, 0x2D, 0xDB, 0x28, 0x00, 0x94, 0x2A, | |
0xCF, 0xA4, 0x79, 0x0B, 0xC2, 0x87, 0x8A, 0x03, 0x50, 0xD1, 0xD1, 0xA9, 0x05, 0x5E, 0x00, 0x71, | |
0xAA, 0xF0, 0xC6, 0x91, 0x1C, 0x1A, 0x9F, 0x79, 0x52, 0x11, 0x4F, 0xB5, 0x90, 0x1E, 0x69, 0x00, | |
0xE3, 0x06, 0xB0, 0x35, 0x38, 0x57, 0x22, 0xFF, 0x33, 0x8E, 0xE1, 0x48, 0x38, 0x52, 0xD9, 0x2D, | |
0x00, 0x5A, 0xE2, 0x54, 0x77, 0x40, 0xEB, 0x12, 0x36, 0xFA, 0xA4, 0xD1, 0x15, 0xCF, 0x32, 0xF8, | |
0xB0, 0x00, 0x09, 0x5F, 0xA7, 0xA0, 0x58, 0x14, 0x2A, 0xF8, 0x06, 0x22, 0x80, 0x99, 0xB0, 0xEB, | |
0xC2, 0xAD, 0x00, 0xA7, 0x13, 0x06, 0x8B, 0x8A, 0x30, 0xFB, 0x9D, 0x29, 0x31, 0xAB, 0xFF, 0xAA, | |
0x58, 0x8D, 0x06, 0x00, 0x80, 0x53, 0x53, 0x0D, 0x03, 0xF0, 0x09, 0xFE, 0xA9, 0xF6, 0x53, 0x52, | |
0x08, 0xF1, 0xA0, 0x07, 0x00, 0x58, 0xDB, 0x0A, 0x34, 0xF1, 0x0B, 0x1A, 0x04, 0x6D, 0x4F, 0x15, | |
0xC1, 0xEF, 0xE8, 0x91, 0x4F, 0x00, 0x43, 0x16, 0x08, 0xBB, 0xE3, 0x9E, 0x22, 0x3E, 0x33, 0xB7, | |
0x3E, 0x13, 0x2D, 0x15, 0x75, 0x20, 0x00, 0xAB, 0xAE, 0x4C, 0x98, 0xE3, 0xC0, 0xAA, 0xEF, 0x30, | |
0x8A, 0xE4, 0x56, 0x92, 0x96, 0xC0, 0x98, 0x00, 0x0B, 0x31, 0x1B, 0x09, 0x77, 0xA3, 0x5F, 0x0D, | |
0xF8, 0x1F, 0x19, 0x1F, 0xEC, 0x61, 0xE4, 0x68, 0x00, 0x1C, 0x89, 0xCC, 0x39, 0xFA, 0x8C, 0x22, | |
0x46, 0x38, 0x1A, 0x38, 0x44, 0xFD, 0x0D, 0x3D, 0xCC, 0x00, 0x3D, 0x75, 0xA6, 0xD9, 0xEE, 0x17, | |
0xAE, 0x18, 0x44, 0x08, 0xDC, 0xFD, 0xC3, 0x59, 0xD2, 0xEF, 0x00, 0x17, 0xA5, 0x81, 0x59, 0x18, | |
0xDE, 0x11, 0x85, 0x70, 0x43, 0x81, 0xA4, 0x26, 0xF7, 0x6C, 0x51, 0x00, 0xCD, 0xB9, 0xFA, 0xE3, | |
0xEC, 0x35, 0xAC, 0x7A, 0x1D, 0xC2, 0xA5, 0xEC, 0x41, 0x5A, 0xF5, 0x01, 0x00, 0xA6, 0xC6, 0x1A, | |
0x05, 0x6B, 0xBF, 0xC9, 0xFA, 0xCC, 0x49, 0x16, 0x45, 0x24, 0xD4, 0xC0, 0xF2, 0x00, 0x98, 0xD3, | |
0xAA, 0xEA, 0x0F, 0x8D, 0x65, 0x4A, 0x8E, 0x79, 0x0C, 0x92, 0xFB, 0xCD, 0x72, 0xD2, 0x00, 0x63, | |
0xE3, 0x35, 0x03, 0x43, 0x19, 0x32, 0xC8, 0x86, 0xBB, 0xC9, 0xC7, 0xBC, 0xD1, 0x37, 0xC8, 0x00, | |
0xEC, 0x2A, 0x6A, 0xAD, 0xF3, 0xAF, 0xF3, 0x89, 0xFB, 0x6A, 0x57, 0x70, 0x7C, 0x62, 0xE2, 0xBB, | |
0x00, | |
} ; | |
void main(int argc, char **argv) { | |
uint32_t state[5]; | |
uint8_t block1[64]; | |
uint8_t block2[64]; | |
memset(block1, 0, 64); | |
memset(block2, 0, 64); | |
block1[16] = 0x80; | |
block1[63] = 0x80; | |
block2[0x14] = 0x80; | |
block2[63] = 0xA0; | |
state[0] = 0x67452301; | |
state[1] = 0xEFCDAB89; | |
state[2] = 0x98BADCFE; | |
state[3] = 0x10325476; | |
state[4] = 0xC3D2E1F0; | |
char a,b,c,d,e,f,g,h; | |
for(a = '0'; a <= '9'; ++a) { | |
block1[0] = a; | |
for(b = '0'; b <= '9'; ++b) { | |
block1[2] = b; | |
for(c = '0'; c <= '9'; ++c) { | |
block1[4] = c; | |
for(d = '0'; d <= '9'; ++d) { | |
block1[6] = d; | |
for(e = '0'; e <= '9'; ++e) { | |
block1[8] = e; | |
for(f = '0'; f <= '9'; ++f) { | |
block1[10] = f; | |
for(g = '0'; g <= '9'; ++g) { | |
block1[12] = g; | |
for(h = '0'; h <= '9'; ++h) { | |
block1[14] = h; | |
/* | |
block1[0] = '1'; | |
block1[2] = '8'; | |
block1[4] = '2'; | |
block1[6] = '9'; | |
block1[8] = '4'; | |
block1[10] = '3'; | |
block1[12] = '1'; | |
block1[14] = '9'; | |
*/ | |
state[0] = 0x67452301; | |
state[1] = 0xEFCDAB89; | |
state[2] = 0x98BADCFE; | |
state[3] = 0x10325476; | |
state[4] = 0xC3D2E1F0; | |
sha1_compress(state, block1); | |
//printf("%08X%08X%08X%08X%08X\n", state[0], state[1], state[2], state[3], state[4]); | |
state[0] = __bswap_32(state[0]); | |
state[1] = __bswap_32(state[1]); | |
state[2] = __bswap_32(state[2]); | |
state[3] = __bswap_32(state[3]); | |
state[4] = __bswap_32(state[4]); | |
memcpy(block2, state, 0x14); | |
state[0] = 0x67452301; | |
state[1] = 0xEFCDAB89; | |
state[2] = 0x98BADCFE; | |
state[3] = 0x10325476; | |
state[4] = 0xC3D2E1F0; | |
sha1_compress(state, block2); | |
//printf("%08X%08X%08X%08X%08X\n", state[0], state[1], state[2], state[3], state[4]); | |
state[0] = __bswap_32(state[0]); | |
state[1] = __bswap_32(state[1]); | |
state[2] = __bswap_32(state[2]); | |
state[3] = __bswap_32(state[3]); | |
int i; | |
for (i = 0; i < 3*0x2B; ++i) { | |
if (!memcmp(state, rawData+(i*0x11), 0x10)) { | |
printf("Match %d %c%c%c%c%c%c%c%c\n", i, a, b, c, d, e, f, g, h); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment