Author | Message | Time |
---|---|---|
Guest | Thread contents below... | February 16, 2003, 7:29 PM |
JoeTheOdd | Alright, I don't know if this is against the rules or not. If it is, please delete it. Anyhow, seeing as how many people believe that theres a pattern in valid StarCraft keys, I decoded over 1000 from a public list of valid keys. I don't see anything (except the constant product value, but thats a give-away). Anyhow, your turn to look. Good luck, I guess? [tt]0009871987992 -- Value 1: 0x00325326, Value 2: 0x00325326, Product: 0x00000001 0020893891689 -- Value 1: 0x0031BADB, Value 2: 0x0031BADB, Product: 0x00000001 0026893881680 -- Value 1: 0x00316CBB, Value 2: 0x00316CBB, Product: 0x00000001 0026893961894 -- Value 1: 0x003168C9, Value 2: 0x003168C9, Product: 0x00000001 0029083901896 -- Value 1: 0x0032551C, Value 2: 0x0032551C, Product: 0x00000001 0029183981967 -- Value 1: 0x00323FA0, Value 2: 0x00323FA0, Product: 0x00000001 0029393881295 -- Value 1: 0x00325527, Value 2: 0x00325527, Product: 0x00000001 0029873981927 -- Value 1: 0x00324F3E, Value 2: 0x00324F3E, Product: 0x00000001 0029893831484 -- Value 1: 0x0032590F, Value 2: 0x0032590F, Product: 0x00000001 0129093291889 -- Value 1: 0x00325865, Value 2: 0x00325865, Product: 0x00000001 0129283901882 -- Value 1: 0x003258A0, Value 2: 0x003258A0, Product: 0x00000001 0129293581999 -- Value 1: 0x0032549B, Value 2: 0x0032549B, Product: 0x00000001 0129663881887 -- Value 1: 0x003258A8, Value 2: 0x003258A8, Product: 0x00000001 0129893391921 -- Value 1: 0x00324F69, Value 2: 0x00324F69, Product: 0x00000001 0129893991022 -- Value 1: 0x00324FA5, Value 2: 0x00324FA5, Product: 0x00000001 0129943881185 -- Value 1: 0x003258A6, Value 2: 0x003258A6, Product: 0x00000001 0221893791887 -- Value 1: 0x00319475, Value 2: 0x00319475, Product: 0x00000001 0226883991973 -- Value 1: 0x0031660C, Value 2: 0x0031660C, Product: 0x00000001 0226893891791 -- Value 1: 0x0031699B, Value 2: 0x0031699B, Product: 0x00000001 0226893891968 -- Value 1: 0x0031622F, Value 2: 0x0031622F, Product: 0x00000001 0357863818981 -- Value 1: 0x004B86C0, Value 2: 0x004B86C0, Product: 0x00000001 0619813977981 -- Value 1: 0x00079EB5, Value 2: 0x00079EB5, Product: 0x00000001 0814803983485 -- Value 1: 0x00004DA8, Value 2: 0x00004DA8, Product: 0x00000001 0849793381935 -- Value 1: 0x0050D2C7, Value 2: 0x0050D2C7, Product: 0x00000001 1005120544430 -- Value 1: 0x0029336D, Value 2: 0x0029336D, Product: 0x00000001 1010500301055 -- Value 1: 0x0031AF3B, Value 2: 0x0031AF3B, Product: 0x00000001 1011720311048 -- Value 1: 0x00318C11, Value 2: 0x00318C11, Product: 0x00000001 1030240274738 -- Value 1: 0x001AB479, Value 2: 0x001AB479, Product: 0x00000001 1067760520241 -- Value 1: 0x004206E9, Value 2: 0x004206E9, Product: 0x00000001 1101700220241 -- Value 1: 0x0023D019, Value 2: 0x0023D019, Product: 0x00000001 1102060037665 -- Value 1: 0x0025C407, Value 2: 0x0025C407, Product: 0x00000001 1103420062745 -- Value 1: 0x002110E3, Value 2: 0x002110E3, Product: 0x00000001 1107560676679 -- Value 1: 0x002683AB, Value 2: 0x002683AB, Product: 0x00000001 1110430625376 -- Value 1: 0x0037C1B6, Value 2: 0x0037C1B6, Product: 0x00000001 1111420661176 -- Value 1: 0x00318027, Value 2: 0x00318027, Product: 0x00000001 1111470776613 -- Value 1: 0x00360C30, Value 2: 0x00360C30, Product: 0x00000001 1116260575465 -- Value 1: 0x00377765, Value 2: 0x00377765, Product: 0x00000001 1123350372727 -- Value 1: 0x00027502, Value 2: 0x00027502, Product: 0x00000001 1127110512277 -- Value 1: 0x0001E48A, Value 2: 0x0001E48A, Product: 0x00000001 1127400567639 -- Value 1: 0x000668CB, Value 2: 0x000668CB, Product: 0x00000001 1146770530102 -- Value 1: 0x0060A274, Value 2: 0x0060A274, Product: 0x00000001 1161400310118 -- Value 1: 0x00424107, Value 2: 0x00424107, Product: 0x00000001 1165300464629 -- Value 1: 0x0047BB7D, Value 2: 0x0047BB7D, Product: 0x00000001 1165770130732 -- Value 1: 0x00419CE4, Value 2: 0x00419CE4, Product: 0x00000001 1174700743610 -- Value 1: 0x004C7A5F, Value 2: 0x004C7A5F, Product: 0x00000001 1201460556636 -- Value 1: 0x0026C339, Value 2: 0x0026C339, Product: 0x00000001 1206530653000 -- Value 1: 0x001F06DA, Value 2: 0x001F06DA, Product: 0x00000001 1210700101554 -- Value 1: 0x0031AFEF, Value 2: 0x0031AFEF, Product: 0x00000001 1211110026233 -- Value 1: 0x00360558, Value 2: 0x00360558, Product: 0x00000001 1215650026207 -- Value 1: 0x003574D4, Value 2: 0x003574D4, Product: 0x00000001 1264520250761 -- Value 1: 0x0041D8C3, Value 2: 0x0041D8C3, Product: 0x00000001 1271610732623 -- Value 1: 0x004E7372, Value 2: 0x004E7372, Product: 0x00000001 1304260577154 -- Value 1: 0x0024DE75, Value 2: 0x0024DE75, Product: 0x00000001 1304330227347 -- Value 1: 0x0024E24E, Value 2: 0x0024E24E, Product: 0x00000001 1304730730245 -- Value 1: 0x00235BCC, Value 2: 0x00235BCC, Product: 0x00000001 1306630124719 -- Value 1: 0x0029B0A8, Value 2: 0x0029B0A8, Product: 0x00000001 1310320401640 -- Value 1: 0x0031B3A3, Value 2: 0x0031B3A3, Product: 0x00000001 1311460501353 -- Value 1: 0x003188A5, Value 2: 0x003188A5, Product: 0x00000001 1311570131512 -- Value 1: 0x003178DC, Value 2: 0x003178DC, Product: 0x00000001 1311660751208 -- Value 1: 0x00317D01, Value 2: 0x00317D01, Product: 0x00000001 1314500046634 -- Value 1: 0x00358FC5, Value 2: 0x00358FC5, Product: 0x00000001 1323730256157 -- Value 1: 0x0008A3D6, Value 2: 0x0008A3D6, Product: 0x00000001 1324030631701 -- Value 1: 0x00034116, Value 2: 0x00034116, Product: 0x00000001 1324630430504 -- Value 1: 0x0004C7A2, Value 2: 0x0004C7A2, Product: 0x00000001 1342360603436 -- Value 1: 0x005CA003, Value 2: 0x005CA003, Product: 0x00000001 1367650441057 -- Value 1: 0x00407CD0, Value 2: 0x00407CD0, Product: 0x00000001 1374670540439 -- Value 1: 0x00510724, Value 2: 0x00510724, Product: 0x00000001 1376740612172 -- Value 1: 0x004E57C5, Value 2: 0x004E57C5, Product: 0x00000001 1474500273556 -- Value 1: 0x004C8BD5, Value 2: 0x004C8BD5, Product: 0x00000001 1476040113761 -- Value 1: 0x004CD5F3, Value 2: 0x004CD5F3, Product: 0x00000001 1510320221048 -- Value 1: 0x0031B457, Value 2: 0x0031B457, Product: 0x00000001 1511540331414 -- Value 1: 0x003179BB, Value 2: 0x003179BB, Product: 0x00000001 1511600771031 -- Value 1: 0x0031720F, Value 2: 0x0031720F, Product: 0x00000001 1512350757328 -- Value 1: 0x0034F86A, Value 2: 0x0034F86A, Product: 0x00000001 1514430152164 -- Value 1: 0x002F8988, Value 2: 0x002F8988, Product: 0x00000001 1520240447141 -- Value 1: 0x0006FAF1, Value 2: 0x0006FAF1, Product: 0x00000001 1527120200306 -- Value 1: 0x0004EF67, Value 2: 0x0004EF67, Product: 0x00000001 1561200110532 -- Value 1: 0x00423AB3, Value 2: 0x00423AB3, Product: 0x00000001 1561350542746 -- Value 1: 0x003F48F6, Value 2: 0x003F48F6, Product: 0x00000001 1562470343635 -- Value 1: 0x003E1C18, Value 2: 0x003E1C18, Product: 0x00000001 1564010411002 -- Value 1: 0x00404ACC, Value 2: 0x00404ACC, Product: 0x00000001 1565560630105 -- Value 1: 0x0041AA73, Value 2: 0x0041AA73, Product: 0x00000001 1603070012137 -- Value 1: 0x0020F84A, Value 2: 0x0020F84A, Product: 0x00000001 1603150116779 -- Value 1: 0x00272262, Value 2: 0x00272262, Product: 0x00000001 1622120202720 -- Value 1: 0x00029ED3, Value 2: 0x00029ED3, Product: 0x00000001 1624050730270 -- Value 1: 0x0004CD8E, Value 2: 0x0004CD8E, Product: 0x00000001 1625370423046 -- Value 1: 0x00001E4A, Value 2: 0x00001E4A, Product: 0x00000001 1625660011016 -- Value 1: 0x000317DB, Value 2: 0x000317DB, Product: 0x00000001 1644050065277 -- Value 1: 0x0064EEBC, Value 2: 0x0064EEBC, Product: 0x00000001 1661060121021 -- Value 1: 0x0040B929, Value 2: 0x0040B929, Product: 0x00000001 1663040601176 -- Value 1: 0x00411349, Value 2: 0x00411349, Product: 0x00000001 1674650000019 -- Value 1: 0x005110CC, Value 2: 0x005110CC, Product: 0x00000001 1675630110728 -- Value 1: 0x0050E5C4, Value 2: 0x0050E5C4, Product: 0x00000001 1701130565671 -- Value 1: 0x00285AA0, Value 2: 0x00285AA0, Product: 0x00000001 1702710410615 -- Value 1: 0x0024342C, Value 2: 0x0024342C, Product: 0x00000001 1705530326764 -- Value 1: 0x00263B94, Value 2: 0x00263B94, Product: 0x00000001 1710070231069 -- Value 1: 0x0031AD52, Value 2: 0x0031AD52, Product: 0x00000001 1724140702045 -- Value 1: 0x0001CBA3, Value 2: 0x0001CBA3, Product: 0x00000001 1735440626221 -- Value 1: 0x0016E9ED, Value 2: 0x0016E9ED, Product: 0x00000001 1767240712220 -- Value 1: 0x003EE443, Value 2: 0x003EE443, Product: 0x00000001 1767370472719 -- Value 1: 0x003EE81E, Value 2: 0x003EE81E, Product: 0x00000001 1770470052039 -- Value 1: 0x004E9796, Value 2: 0x004E9796, Product: 0x00000001 1775660747036 -- Value 1: 0x00526859, Value 2: 0x00526859, Product: 0x00000001 2000732927935 -- Value 1: 0x00529622, Value 2: 0x00529622, Product: 0x00000001 2003342982527 -- Value 1: 0x004E2D35, Value 2: 0x004E2D35, Product: 0x00000001 2003412847967 -- Value 1: 0x0052D0C2, Value 2: 0x0052D0C2, Product: 0x00000001 2005712483184 -- Value 1: 0x004D0B56, Value 2: 0x004D0B56, Product: 0x00000001 2007582368660 -- Value 1: 0x005ABEE4, Value 2: 0x005ABEE4, Product: 0x00000001 2012672262986 -- Value 1: 0x003F2868, Value 2: 0x003F2868, Product: 0x00000001 2013512684931 -- Value 1: 0x00480E9B, Value 2: 0x00480E9B, Product: 0x00000001 2038812033409 -- Value 1: 0x005CCA6E, Value 2: 0x005CCA6E, Product: 0x00000001 2039395818368 -- Value 1: 0x002DBC97, Value 2: 0x002DBC97, Product: 0x00000001 2044642083781 -- Value 1: 0x0010293B, Value 2: 0x0010293B, Product: 0x00000001 2053492342850 -- Value 1: 0x0001E5D1, Value 2: 0x0001E5D1, Product: 0x00000001 2056282711876 -- Value 1: 0x00043768, Value 2: 0x00043768, Product: 0x00000001 2057192931329 -- Value 1: 0x000404DD, Value 2: 0x000404DD, Product: 0x00000001 2057942916244 -- Value 1: 0x0008A085, Value 2: 0x0008A085, Product: 0x00000001 2059635480892 -- Value 1: 0x00400FA9, Value 2: 0x00400FA9, Product: 0x00000001 2063992742700 -- Value 1: 0x002FA0B1, Value 2: 0x002FA0B1, Product: 0x00000001 2064192641688 -- Value 1: 0x0031BB17, Value 2: 0x0031BB17, Product: 0x00000001 2065392385778 -- Value 1: 0x0037A3A1, Value 2: 0x0037A3A1, Product: 0x00000001 2067432636990 -- Value 1: 0x0036721C, Value 2: 0x0036721C, Product: 0x00000001 2070282526485 -- Value 1: 0x00267080, Value 2: 0x00267080, Product: 0x00000001 2075782126089 -- Value 1: 0x0026E588, Value 2: 0x0026E588, Product: 0x00000001 2100392812500 -- Value 1: 0x004DFE03, Value 2: 0x004DFE03, Product: 0x00000001 2103642390973 -- Value 1: 0x005145B8, Value 2: 0x005145B8, Product: 0x00000001 2109772961162 -- Value 1: 0x0050D3BC, Value 2: 0x0050D3BC, Product: 0x00000001 2115252178955 -- Value 1: 0x004BBEB4, Value 2: 0x004BBEB4, Product: 0x00000001 2115772932684 -- Value 1: 0x003F4F5C, Value 2: 0x003F4F5C, Product: 0x00000001 2127815893867 -- Value 1: 0x00317CB6, Value 2: 0x00317CB6, Product: 0x00000001 2132665993999 -- Value 1: 0x0021D9F6, Value 2: 0x0021D9F6, Product: 0x00000001 2133222693293 -- Value 1: 0x005BFB19, Value 2: 0x005BFB19, Product: 0x00000001 2136482861624 -- Value 1: 0x005FB912, Value 2: 0x005FB912, Product: 0x00000001 2142685938788 -- Value 1: 0x005AA058, Value 2: 0x005AA058, Product: 0x00000001 2145585399589 -- Value 1: 0x005940B4, Value 2: 0x005940B4, Product: 0x00000001 2161472896070 -- Value 1: 0x00358074, Value 2: 0x00358074, Product: 0x00000001 2173752947185 -- Value 1: 0x0025109E, Value 2: 0x0025109E, Product: 0x00000001 2173782252945 -- Value 1: 0x00206DDE, Value 2: 0x00206DDE, Product: 0x00000001 2177392753913 -- Value 1: 0x001F6FC5, Value 2: 0x001F6FC5, Product: 0x00000001 2178362740191 -- Value 1: 0x00247061, Value 2: 0x00247061, Product: 0x00000001 2178932422232 -- Value 1: 0x00214BBC, Value 2: 0x00214BBC, Product: 0x00000001 2206932368510 -- Value 1: 0x005ACB62, Value 2: 0x005ACB62, Product: 0x00000001 2210972592767 -- Value 1: 0x003ED273, Value 2: 0x003ED273, Product: 0x00000001 2212112991117 -- Value 1: 0x00408C28, Value 2: 0x00408C28, Product: 0x00000001 2213182741587 -- Value 1: 0x004088E4, Value 2: 0x004088E4, Product: 0x00000001 2216122683901 -- Value 1: 0x003E1EDC, Value 2: 0x003E1EDC, Product: 0x00000001 2216482862240 -- Value 1: 0x003FB55E, Value 2: 0x003FB55E, Product: 0x00000001 2218572581141 -- Value 1: 0x004163B2, Value 2: 0x004163B2, Product: 0x00000001 2219412875176 -- Value 1: 0x0047A948, Value 2: 0x0047A948, Product: 0x00000001 2244995653981 -- Value 1: 0x00509019, Value 2: 0x00509019, Product: 0x00000001 2251912463804 -- Value 1: 0x00000457, Value 2: 0x00000457, Product: 0x00000001 2264302891763 -- Value 1: 0x0031B36B, Value 2: 0x0031B36B, Product: 0x00000001 2274242599030 -- Value 1: 0x002BD429, Value 2: 0x002BD429, Product: 0x00000001 2278772208422 -- Value 1: 0x002D7DD6, Value 2: 0x002D7DD6, Product: 0x00000001 2304322933817 -- Value 1: 0x004D0EE7, Value 2: 0x004D0EE7, Product: 0x00000001 2311962112184 -- Value 1: 0x003EB3A7, Value 2: 0x003EB3A7, Product: 0x00000001 2312802101087 -- Value 1: 0x0040AF79, Value 2: 0x0040AF79, Product: 0x00000001 2314072918778 -- Value 1: 0x004BEE9C, Value 2: 0x004BEE9C, Product: 0x00000001 2316812202967 -- Value 1: 0x003FBCAF, Value 2: 0x003FBCAF, Product: 0x00000001 2328585545998 -- Value 1: 0x00353908, Value 2: 0x00353908, Product: 0x00000001 2338582771351 -- Value 1: 0x005FE3D8, Value 2: 0x005FE3D8, Product: 0x00000001 2352382903639 -- Value 1: 0x00007D58, Value 2: 0x00007D58, Product: 0x00000001 2357292283127 -- Value 1: 0x0000F667, Value 2: 0x0000F667, Product: 0x00000001 2359792166654 -- Value 1: 0x00091135, Value 2: 0x00091135, Product: 0x00000001 2364152981774 -- Value 1: 0x0031AF10, Value 2: 0x0031AF10, Product: 0x00000001 2364222591193 -- Value 1: 0x0031B79B, Value 2: 0x0031B79B, Product: 0x00000001 2364662691967 -- Value 1: 0x0031B2CC, Value 2: 0x0031B2CC, Product: 0x00000001 2365162661984 -- Value 1: 0x00319465, Value 2: 0x00319465, Product: 0x00000001 2365492341299 -- Value 1: 0x00319051, Value 2: 0x00319051, Product: 0x00000001 2366512496814 -- Value 1: 0x0036795B, Value 2: 0x0036795B, Product: 0x00000001 2367082865071 -- Value 1: 0x0037F0B2, Value 2: 0x0037F0B2, Product: 0x00000001 2372985902181 -- Value 1: 0x00606E48, Value 2: 0x00606E48, Product: 0x00000001 2377052803794 -- Value 1: 0x001F8F48, Value 2: 0x001F8F48, Product: 0x00000001 2377292297106 -- Value 1: 0x00258D97, Value 2: 0x00258D97, Product: 0x00000001 2378382302210 -- Value 1: 0x00214470, Value 2: 0x00214470, Product: 0x00000001 2378742681443 -- Value 1: 0x0022DEC3, Value 2: 0x0022DEC3, Product: 0x00000001 2379322577914 -- Value 1: 0x0025FF9B, Value 2: 0x0025FF9B, Product: 0x00000001 2379342178272 -- Value 1: 0x002DB01F, Value 2: 0x002DB01F, Product: 0x00000001 2400222738876 -- Value 1: 0x005A95A3, Value 2: 0x005A95A3, Product: 0x00000001 2400832522681 -- Value 1: 0x004E1E4E, Value 2: 0x004E1E4E, Product: 0x00000001 2401292506194 -- Value 1: 0x00540DD9, Value 2: 0x00540DD9, Product: 0x00000001 2401502893210 -- Value 1: 0x004C4E5B, Value 2: 0x004C4E5B, Product: 0x00000001 2401922509100 -- Value 1: 0x0058D47F, Value 2: 0x0058D47F, Product: 0x00000001 2402022528594 -- Value 1: 0x005A4F4D, Value 2: 0x005A4F4D, Product: 0x00000001 2402202787920 -- Value 1: 0x0052E978, Value 2: 0x0052E978, Product: 0x00000001 2402292219660 -- Value 1: 0x0058C4AF, Value 2: 0x0058C4AF, Product: 0x00000001 2402292442190 -- Value 1: 0x004E6893, Value 2: 0x004E6893, Product: 0x00000001 2402342592808 -- Value 1: 0x004E4DB8, Value 2: 0x004E4DB8, Product: 0x00000001 2402752590869 -- Value 1: 0x00517269, Value 2: 0x00517269, Product: 0x00000001 2402922363844 -- Value 1: 0x004CD6F2, Value 2: 0x004CD6F2, Product: 0x00000001 2403112488006 -- Value 1: 0x005A0D06, Value 2: 0x005A0D06, Product: 0x00000001 2403372912943 -- Value 1: 0x004E3696, Value 2: 0x004E3696, Product: 0x00000001 2403972108438 -- Value 1: 0x005A10BA, Value 2: 0x005A10BA, Product: 0x00000001 2403972390743 -- Value 1: 0x005143C7, Value 2: 0x005143C7, Product: 0x00000001 2404302887016 -- Value 1: 0x00532C2B, Value 2: 0x00532C2B, Product: 0x00000001 2404382970440 -- Value 1: 0x0051B90C, Value 2: 0x0051B90C, Product: 0x00000001 2404782480262 -- Value 1: 0x0051C096, Value 2: 0x0051C096, Product: 0x00000001 2405002400882 -- Value 1: 0x0051A0C7, Value 2: 0x0051A0C7, Product: 0x00000001 2406242917480 -- Value 1: 0x00539CA3, Value 2: 0x00539CA3, Product: 0x00000001 2407082358226 -- Value 1: 0x005AB0D4, Value 2: 0x005AB0D4, Product: 0x00000001 2407362799231 -- Value 1: 0x0059266F, Value 2: 0x0059266F, Product: 0x00000001 2407642861296 -- Value 1: 0x00506475, Value 2: 0x00506475, Product: 0x00000001 2408132917644 -- Value 1: 0x0053B40C, Value 2: 0x0053B40C, Product: 0x00000001 2409002937700 -- Value 1: 0x0053CB7F, Value 2: 0x0053CB7F, Product: 0x00000001 2409202977658 -- Value 1: 0x0053D737, Value 2: 0x0053D737, Product: 0x00000001 2409242977159 -- Value 1: 0x0053D73B, Value 2: 0x0053D73B, Product: 0x00000001 2409652448607 -- Value 1: 0x005B7454, Value 2: 0x005B7454, Product: 0x00000001 2409682173357 -- Value 1: 0x004DBC80, Value 2: 0x004DBC80, Product: 0x00000001 2409732413491 -- Value 1: 0x004DCC36, Value 2: 0x004DCC36, Product: 0x00000001 2410232184282 -- Value 1: 0x004803A6, Value 2: 0x004803A6, Product: 0x00000001 2410732684794 -- Value 1: 0x0047FFDC, Value 2: 0x0047FFDC, Product: 0x00000001 2410812124956 -- Value 1: 0x0047F0F5, Value 2: 0x0047F0F5, Product: 0x00000001 2412742692084 -- Value 1: 0x003F2A1F, Value 2: 0x003F2A1F, Product: 0x00000001 2412872293719 -- Value 1: 0x003D8139, Value 2: 0x003D8139, Product: 0x00000001 2414895791939 -- Value 1: 0x00012AB5, Value 2: 0x00012AB5, Product: 0x00000001 2415922092449 -- Value 1: 0x003F4258, Value 2: 0x003F4258, Product: 0x00000001 2416592782528 -- Value 1: 0x003FAFA1, Value 2: 0x003FAFA1, Product: 0x00000001 2416772878627 -- Value 1: 0x004B95FA, Value 2: 0x004B95FA, Product: 0x00000001 2417832821520 -- Value 1: 0x00410F74, Value 2: 0x00410F74, Product: 0x00000001 2418052628128 -- Value 1: 0x004C0348, Value 2: 0x004C0348, Product: 0x00000001 2419012283111 -- Value 1: 0x003E6A92, Value 2: 0x003E6A92, Product: 0x00000001 2419092061474 -- Value 1: 0x00418F5B, Value 2: 0x00418F5B, Product: 0x00000001 2419885550084 -- Value 1: 0x00030C1C, Value 2: 0x00030C1C, Product: 0x00000001 2429985223939 -- Value 1: 0x00323410, Value 2: 0x00323410, Product: 0x00000001 2430995479380 -- Value 1: 0x002B0687, Value 2: 0x002B0687, Product: 0x00000001 2431842030813 -- Value 1: 0x00602452, Value 2: 0x00602452, Product: 0x00000001 2432592615873 -- Value 1: 0x006544C3, Value 2: 0x006544C3, Product: 0x00000001 2436682759678 -- Value 1: 0x00689F64, Value 2: 0x00689F64, Product: 0x00000001 2438642381754 -- Value 1: 0x005FE4D5, Value 2: 0x005FE4D5, Product: 0x00000001 2438745802990 -- Value 1: 0x00247337, Value 2: 0x00247337, Product: 0x00000001 2438885482500 -- Value 1: 0x00245D2C, Value 2: 0x00245D2C, Product: 0x00000001 2439825169589 -- Value 1: 0x002C3E47, Value 2: 0x002C3E47, Product: 0x00000001 2439935450982 -- Value 1: 0x002190A1, Value 2: 0x002190A1, Product: 0x00000001 2441375882993 -- Value 1: 0x00514D45, Value 2: 0x00514D45, Product: 0x00000001 2446885799014 -- Value 1: 0x00599A32, Value 2: 0x00599A32, Product: 0x00000001 2447095194899 -- Value 1: 0x0054A857, Value 2: 0x0054A857, Product: 0x00000001 2447195992395 -- Value 1: 0x00519B5D, Value 2: 0x00519B5D, Product: 0x00000001 2447695929284 -- Value 1: 0x005990DD, Value 2: 0x005990DD, Product: 0x00000001 2448522237785 -- Value 1: 0x0016BA7B, Value 2: 0x0016BA7B, Product: 0x00000001 2451532882623 -- Value 1: 0x00019574, Value 2: 0x00019574, Product: 0x00000001 2455195908492 -- Value 1: 0x004B8335, Value 2: 0x004B8335, Product: 0x00000001 2457222810781 -- Value 1: 0x0005A3B7, Value 2: 0x0005A3B7, Product: 0x00000001 2457792067941 -- Value 1: 0x00071B5F, Value 2: 0x00071B5F, Product: 0x00000001 2458352372699 -- Value 1: 0x0002E06E, Value 2: 0x0002E06E, Product: 0x00000001 2459492721659 -- Value 1: 0x00047E95, Value 2: 0x00047E95, Product: 0x00000001 2460152906392 -- Value 1: 0x0035B07A, Value 2: 0x0035B07A, Product: 0x00000001 2460922850454 -- Value 1: 0x0032946D, Value 2: 0x0032946D, Product: 0x00000001 2461482905363 -- Value 1: 0x00370CEC, Value 2: 0x00370CEC, Product: 0x00000001 2464802421587 -- Value 1: 0x0031BCB7, Value 2: 0x0031BCB7, Product: 0x00000001 2464972521087 -- Value 1: 0x0031BCAA, Value 2: 0x0031BCAA, Product: 0x00000001 2465842601681 -- Value 1: 0x0031958F, Value 2: 0x0031958F, Product: 0x00000001 2469072167975 -- Value 1: 0x00355A4A, Value 2: 0x00355A4A, Product: 0x00000001 2471262920828 -- Value 1: 0x00232727, Value 2: 0x00232727, Product: 0x00000001 2472862413828 -- Value 1: 0x001F0834, Value 2: 0x001F0834, Product: 0x00000001 2473222414899 -- Value 1: 0x0029A281, Value 2: 0x0029A281, Product: 0x00000001 2473342788164 -- Value 1: 0x002C5D95, Value 2: 0x002C5D95, Product: 0x00000001 2473672039842 -- Value 1: 0x002ACF1C, Value 2: 0x002ACF1C, Product: 0x00000001 2473972851751 -- Value 1: 0x0021F298, Value 2: 0x0021F298, Product: 0x00000001 2474142785690 -- Value 1: 0x002890ED, Value 2: 0x002890ED, Product: 0x00000001 2474632783683 -- Value 1: 0x001F6D1A, Value 2: 0x001F6D1A, Product: 0x00000001 2475432996073 -- Value 1: 0x0026DC62, Value 2: 0x0026DC62, Product: 0x00000001 2475542573894 -- Value 1: 0x001F4231, Value 2: 0x001F4231, Product: 0x00000001 2475612827814 -- Value 1: 0x00253E5A, Value 2: 0x00253E5A, Product: 0x00000001 2475832069474 -- Value 1: 0x002BBD68, Value 2: 0x002BBD68, Product: 0x00000001 2477902118477 -- Value 1: 0x002CF5DD, Value 2: 0x002CF5DD, Product: 0x00000001 2478412817405 -- Value 1: 0x0025DDB8, Value 2: 0x0025DDB8, Product: 0x00000001 2478712293602 -- Value 1: 0x001FC2EA, Value 2: 0x001FC2EA, Product: 0x00000001 2478875881429 -- Value 1: 0x005CCAAD, Value 2: 0x005CCAAD, Product: 0x00000001 2500522819623 -- Value 1: 0x00590313, Value 2: 0x00590313, Product: 0x00000001 2500762248391 -- Value 1: 0x005A9D03, Value 2: 0x005A9D03, Product: 0x00000001 2501152438804 -- Value 1: 0x005A5ABE, Value 2: 0x005A5ABE, Product: 0x00000001 2501422107894 -- Value 1: 0x005286AB, Value 2: 0x005286AB, Product: 0x00000001 2501612933874 -- Value 1: 0x004C655C, Value 2: 0x004C655C, Product: 0x00000001 2502432890154 -- Value 1: 0x005166A8, Value 2: 0x005166A8, Product: 0x00000001 2502532940580 -- Value 1: 0x00517958, Value 2: 0x00517958, Product: 0x00000001 2503192823105 -- Value 1: 0x004CA003, Value 2: 0x004CA003, Product: 0x00000001 2503392952377 -- Value 1: 0x004E3A21, Value 2: 0x004E3A21, Product: 0x00000001 2504962449547 -- Value 1: 0x0059A711, Value 2: 0x0059A711, Product: 0x00000001 2505132786857 -- Value 1: 0x00549AAF, Value 2: 0x00549AAF, Product: 0x00000001 2505352838314 -- Value 1: 0x005AF330, Value 2: 0x005AF330, Product: 0x00000001 2505422388604 -- Value 1: 0x005AF6BF, Value 2: 0x005AF6BF, Product: 0x00000001 2506942951637 -- Value 1: 0x00507469, Value 2: 0x00507469, Product: 0x00000001 2506962251878 -- Value 1: 0x00508404, Value 2: 0x00508404, Product: 0x00000001 2507362983219 -- Value 1: 0x004D384B, Value 2: 0x004D384B, Product: 0x00000001 2507602900787 -- Value 1: 0x0051EE8B, Value 2: 0x0051EE8B, Product: 0x00000001 2507832560281 -- Value 1: 0x0051EE7A, Value 2: 0x0051EE7A, Product: 0x00000001 2509542871277 -- Value 1: 0x0050D171, Value 2: 0x0050D171, Product: 0x00000001 2509862407424 -- Value 1: 0x0053D2E1, Value 2: 0x0053D2E1, Product: 0x00000001 2511932691365 -- Value 1: 0x00403411, Value 2: 0x00403411, Product: 0x00000001 2513985501992 -- Value 1: 0x00001F7A, Value 2: 0x00001F7A, Product: 0x00000001 2514032171885 -- Value 1: 0x0040FE62, Value 2: 0x0040FE62, Product: 0x00000001 2518162765585 -- Value 1: 0x00478E39, Value 2: 0x00478E39, Product: 0x00000001 2518452691060 -- Value 1: 0x00416BDA, Value 2: 0x00416BDA, Product: 0x00000001 2519482265513 -- Value 1: 0x004791F2, Value 2: 0x004791F2, Product: 0x00000001 2531932930053 -- Value 1: 0x006033AE, Value 2: 0x006033AE, Product: 0x00000001 2532142090395 -- Value 1: 0x0060B77F, Value 2: 0x0060B77F, Product: 0x00000001 2535012590845 -- Value 1: 0x0060D381, Value 2: 0x0060D381, Product: 0x00000001 2535592180469 -- Value 1: 0x0060DB81, Value 2: 0x0060DB81, Product: 0x00000001 2535885795798 -- Value 1: 0x0025A8EE, Value 2: 0x0025A8EE, Product: 0x00000001 2535962323784 -- Value 1: 0x005C4E7B, Value 2: 0x005C4E7B, Product: 0x00000001 2539862371234 -- Value 1: 0x006003B3, Value 2: 0x006003B3, Product: 0x00000001 2544705898496 -- Value 1: 0x005AEC27, Value 2: 0x005AEC27, Product: 0x00000001 2545292504876 -- Value 1: 0x001AA6B1, Value 2: 0x001AA6B1, Product: 0x00000001 2546095954897 -- Value 1: 0x0054CF49, Value 2: 0x0054CF49, Product: 0x00000001 2546845699496 -- Value 1: 0x0059B36A, Value 2: 0x0059B36A, Product: 0x00000001 2547712909511 -- Value 1: 0x001C1562, Value 2: 0x001C1562, Product: 0x00000001 2548295851491 -- Value 1: 0x004DA5BB, Value 2: 0x004DA5BB, Product: 0x00000001 2549825863782 -- Value 1: 0x0050DDF1, Value 2: 0x0050DDF1, Product: 0x00000001 2549855682867 -- Value 1: 0x00525278, Value 2: 0x00525278, Product: 0x00000001 2549925968053 -- Value 1: 0x005B78BF, Value 2: 0x005B78BF, Product: 0x00000001 2549945799246 -- Value 1: 0x0059F5C8, Value 2: 0x0059F5C8, Product: 0x00000001 2550092591656 -- Value 1: 0x00034651, Value 2: 0x00034651, Product: 0x00000001 2551102791392 -- Value 1: 0x00032E3D, Value 2: 0x00032E3D, Product: 0x00000001 2551492492655 -- Value 1: 0x000198AB, Value 2: 0x000198AB, Product: 0x00000001 2554862123861 -- Value 1: 0x0000E12E, Value 2: 0x0000E12E, Product: 0x00000001 2555212383193 -- Value 1: 0x0000BD14, Value 2: 0x0000BD14, Product: 0x00000001 2556912960477 -- Value 1: 0x0005BF6C, Value 2: 0x0005BF6C, Product: 0x00000001 2558642441488 -- Value 1: 0x00046AB1, Value 2: 0x00046AB1, Product: 0x00000001 2558682311749 -- Value 1: 0x00045AE0, Value 2: 0x00045AE0, Product: 0x00000001 2559102302680 -- Value 1: 0x00030AFF, Value 2: 0x00030AFF, Product: 0x00000001 2559602682174 -- Value 1: 0x0002FF67, Value 2: 0x0002FF67, Product: 0x00000001 2562092436787 -- Value 1: 0x00360217, Value 2: 0x00360217, Product: 0x00000001 2562312925482 -- Value 1: 0x003788BA, Value 2: 0x003788BA, Product: 0x00000001 2564852361814 -- Value 1: 0x003199E9, Value 2: 0x003199E9, Product: 0x00000001 2565172081297 -- Value 1: 0x00319130, Value 2: 0x00319130, Product: 0x00000001 2565862226397 -- Value 1: 0x003624FD, Value 2: 0x003624FD, Product: 0x00000001 2566942196661 -- Value 1: 0x0036972C, Value 2: 0x0036972C, Product: 0x00000001 2568232017975 -- Value 1: 0x003532E4, Value 2: 0x003532E4, Product: 0x00000001 2568252847103 -- Value 1: 0x00351F98, Value 2: 0x00351F98, Product: 0x00000001 2569462771974 -- Value 1: 0x00324CBB, Value 2: 0x00324CBB, Product: 0x00000001 2569812701136 -- Value 1: 0x00323D1C, Value 2: 0x00323D1C, Product: 0x00000001 2570422098152 -- Value 1: 0x002CC6A5, Value 2: 0x002CC6A5, Product: 0x00000001 2571222908564 -- Value 1: 0x002CAB79, Value 2: 0x002CAB79, Product: 0x00000001 2571472281941 -- Value 1: 0x0021A7ED, Value 2: 0x0021A7ED, Product: 0x00000001 2573722934090 -- Value 1: 0x0029A221, Value 2: 0x0029A221, Product: 0x00000001 2575852624920 -- Value 1: 0x0029DD53, Value 2: 0x0029DD53, Product: 0x00000001 2577372919614 -- Value 1: 0x002B57A4, Value 2: 0x002B57A4, Product: 0x00000001 2577822172835 -- Value 1: 0x0020FFD2, Value 2: 0x0020FFD2, Product: 0x00000001 2578032190310 -- Value 1: 0x0024528A, Value 2: 0x0024528A, Product: 0x00000001 2578452443814 -- Value 1: 0x001FBED6, Value 2: 0x001FBED6, Product: 0x00000001 2578582610506 -- Value 1: 0x00245692, Value 2: 0x00245692, Product: 0x00000001 2578782611521 -- Value 1: 0x0022D7C2, Value 2: 0x0022D7C2, Product: 0x00000001 2579242639309 -- Value 1: 0x002C26A5, Value 2: 0x002C26A5, Product: 0x00000001 2579872244739 -- Value 1: 0x002A9BDC, Value 2: 0x002A9BDC, Product: 0x00000001 2600822866717 -- Value 1: 0x005415C5, Value 2: 0x005415C5, Product: 0x00000001 2600932382145 -- Value 1: 0x004E0EAB, Value 2: 0x004E0EAB, Product: 0x00000001 2600972513866 -- Value 1: 0x004C8FA3, Value 2: 0x004C8FA3, Product: 0x00000001 2601542626890 -- Value 1: 0x00540E8F, Value 2: 0x00540E8F, Product: 0x00000001 2601682930729 -- Value 1: 0x0050ED24, Value 2: 0x0050ED24, Product: 0x00000001 2601892737031 -- Value 1: 0x00526FA1, Value 2: 0x00526FA1, Product: 0x00000001 2601992220422 -- Value 1: 0x0050ED1B, Value 2: 0x0050ED1B, Product: 0x00000001 2602842943601 -- Value 1: 0x004CC69D, Value 2: 0x004CC69D, Product: 0x00000001 2603142002890 -- Value 1: 0x004E421B, Value 2: 0x004E421B, Product: 0x00000001 2603695995861 -- Value 1: 0x00156B29, Value 2: 0x00156B29, Product: 0x00000001 2603922867068 -- Value 1: 0x0052D18D, Value 2: 0x0052D18D, Product: 0x00000001 2605432926936 -- Value 1: 0x005492BA, Value 2: 0x005492BA, Product: 0x00000001 2606712391099 -- Value 1: 0x00508BF0, Value 2: 0x00508BF0, Product: 0x00000001 2606942718264 -- Value 1: 0x005AE86D, Value 2: 0x005AE86D, Product: 0x00000001 2607132799625 -- Value 1: 0x00592B22, Value 2: 0x00592B22, Product: 0x00000001 2607372830948 -- Value 1: 0x0051DF58, Value 2: 0x0051DF58, Product: 0x00000001 2607832816615 -- Value 1: 0x0054D914, Value 2: 0x0054D914, Product: 0x00000001 2609152344919 -- Value 1: 0x00585BEC, Value 2: 0x00585BEC, Product: 0x00000001 2609312827212 -- Value 1: 0x0053C868, Value 2: 0x0053C868, Product: 0x00000001 2609422017691 -- Value 1: 0x0053E757, Value 2: 0x0053E757, Product: 0x00000001 2609672170902 -- Value 1: 0x0052456A, Value 2: 0x0052456A, Product: 0x00000001 2610702804283 -- Value 1: 0x004804B1, Value 2: 0x004804B1, Product: 0x00000001 2610902794737 -- Value 1: 0x0047E848, Value 2: 0x0047E848, Product: 0x00000001 2611072990138 -- Value 1: 0x0041A6F6, Value 2: 0x0041A6F6, Product: 0x00000001 2612932191342 -- Value 1: 0x0040A117, Value 2: 0x0040A117, Product: 0x00000001 2613122924872 -- Value 1: 0x00481F3B, Value 2: 0x00481F3B, Product: 0x00000001 2613342914082 -- Value 1: 0x00482BBB, Value 2: 0x00482BBB, Product: 0x00000001 2614932651947 -- Value 1: 0x0040EF2D, Value 2: 0x0040EF2D, Product: 0x00000001 2616062833392 -- Value 1: 0x003E3CCB, Value 2: 0x003E3CCB, Product: 0x00000001 2617635992980 -- Value 1: 0x000554C7, Value 2: 0x000554C7, Product: 0x00000001 2618352933524 -- Value 1: 0x003E504A, Value 2: 0x003E504A, Product: 0x00000001 2619045885852 -- Value 1: 0x0007930A, Value 2: 0x0007930A, Product: 0x00000001 2619812151454 -- Value 1: 0x00418844, Value 2: 0x00418844, Product: 0x00000001 2632622815196 -- Value 1: 0x00654CC7, Value 2: 0x00654CC7, Product: 0x00000001 2633082920446 -- Value 1: 0x00608554, Value 2: 0x00608554, Product: 0x00000001 2633352930849 -- Value 1: 0x0060854C, Value 2: 0x0060854C, Product: 0x00000001 2639722271828 -- Value 1: 0x006008D5, Value 2: 0x006008D5, Product: 0x00000001 2647272379950 -- Value 1: 0x001C25DE, Value 2: 0x001C25DE, Product: 0x00000001 2650092173905 -- Value 1: 0x00002D1D, Value 2: 0x00002D1D, Product: 0x00000001 2650112972967 -- Value 1: 0x0001CB50, Value 2: 0x0001CB50, Product: 0x00000001 2653192973730 -- Value 1: 0x0000583D, Value 2: 0x0000583D, Product: 0x00000001 2653902387523 -- Value 1: 0x00067688, Value 2: 0x00067688, Product: 0x00000001 2655972336850 -- Value 1: 0x00084F37, Value 2: 0x00084F37, Product: 0x00000001 2656515998870 -- Value 1: 0x004BE72D, Value 2: 0x004BE72D, Product: 0x00000001 2658212727870 -- Value 1: 0x00076D58, Value 2: 0x00076D58, Product: 0x00000001 2659292712567 -- Value 1: 0x00030475, Value 2: 0x00030475, Product: 0x00000001 2661962656855 -- Value 1: 0x00357998, Value 2: 0x00357998, Product: 0x00000001 2662432592594 -- Value 1: 0x002FE4CE, Value 2: 0x002FE4CE, Product: 0x00000001 2662812506931 -- Value 1: 0x0035E6D5, Value 2: 0x0035E6D5, Product: 0x00000001 2664822411290 -- Value 1: 0x0031B999, Value 2: 0x0031B999, Product: 0x00000001 2664882471542 -- Value 1: 0x0031ACDE, Value 2: 0x0031ACDE, Product: 0x00000001 2665602571889 -- Value 1: 0x00319665, Value 2: 0x00319665, Product: 0x00000001 2668762676580 -- Value 1: 0x0036C68F, Value 2: 0x0036C68F, Product: 0x00000001 2668942171100 -- Value 1: 0x00321339, Value 2: 0x00321339, Product: 0x00000001 2668942611271 -- Value 1: 0x003226DF, Value 2: 0x003226DF, Product: 0x00000001 2669022711814 -- Value 1: 0x0032367B, Value 2: 0x0032367B, Product: 0x00000001 2669022781109 -- Value 1: 0x00323A63, Value 2: 0x00323A63, Product: 0x00000001 2669042181572 -- Value 1: 0x00324DD1, Value 2: 0x00324DD1, Product: 0x00000001 2669842757540 -- Value 1: 0x0035573D, Value 2: 0x0035573D, Product: 0x00000001 2671182297208 -- Value 1: 0x0024A52A, Value 2: 0x0024A52A, Product: 0x00000001 2672142347986 -- Value 1: 0x00253A15, Value 2: 0x00253A15, Product: 0x00000001 2674932805744 -- Value 1: 0x0028856C, Value 2: 0x0028856C, Product: 0x00000001 2675552188219 -- Value 1: 0x002D2D50, Value 2: 0x002D2D50, Product: 0x00000001 2677282684571 -- Value 1: 0x002A36CA, Value 2: 0x002A36CA, Product: 0x00000001 2677672789138 -- Value 1: 0x002B6076, Value 2: 0x002B6076, Product: 0x00000001 2679412647818 -- Value 1: 0x00260182, Value 2: 0x00260182, Product: 0x00000001 2679472128706 -- Value 1: 0x002DAE28, Value 2: 0x002DAE28, Product: 0x00000001 2700182732801 -- Value 1: 0x004DFE84, Value 2: 0x004DFE84, Product: 0x00000001 2700252708938 -- Value 1: 0x005A8660, Value 2: 0x005A8660, Product: 0x00000001 2700762428490 -- Value 1: 0x005A9DDF, Value 2: 0x005A9DDF, Product: 0x00000001 2700812380453 -- Value 1: 0x0051179D, Value 2: 0x0051179D, Product: 0x00000001 2700902823033 -- Value 1: 0x004C7C0F, Value 2: 0x004C7C0F, Product: 0x00000001 2701552590904 -- Value 1: 0x0050E49D, Value 2: 0x0050E49D, Product: 0x00000001 2701822083752 -- Value 1: 0x004C5CA4, Value 2: 0x004C5CA4, Product: 0x00000001 2702212389209 -- Value 1: 0x0058AD94, Value 2: 0x0058AD94, Product: 0x00000001 2702992103037 -- Value 1: 0x004CCA01, Value 2: 0x004CCA01, Product: 0x00000001 2703392643583 -- Value 1: 0x004CBF1B, Value 2: 0x004CBF1B, Product: 0x00000001 2703502727899 -- Value 1: 0x0052D5A5, Value 2: 0x0052D5A5, Product: 0x00000001 2703612813682 -- Value 1: 0x004CBF3C, Value 2: 0x004CBF3C, Product: 0x00000001 2703992327232 -- Value 1: 0x0052BD85, Value 2: 0x0052BD85, Product: 0x00000001 2704392429614 -- Value 1: 0x00599457, Value 2: 0x00599457, Product: 0x00000001 2705112826588 -- Value 1: 0x0054AE7C, Value 2: 0x0054AE7C, Product: 0x00000001 2705292902755 -- Value 1: 0x004E7FA9, Value 2: 0x004E7FA9, Product: 0x00000001 2705912270286 -- Value 1: 0x0051A0EE, Value 2: 0x0051A0EE, Product: 0x00000001 2705972048520 -- Value 1: 0x005AFF70, Value 2: 0x005AFF70, Product: 0x00000001 2706272798074 -- Value 1: 0x005AE422, Value 2: 0x005AE422, Product: 0x00000001 2706502979219 -- Value 1: 0x0059463B, Value 2: 0x0059463B, Product: 0x00000001 2707122387819 -- Value 1: 0x005351EE, Value 2: 0x005351EE, Product: 0x00000001 2707332238800 -- Value 1: 0x005AA970, Value 2: 0x005AA970, Product: 0x00000001 2708452319772 -- Value 1: 0x0059CAD2, Value 2: 0x0059CAD2, Product: 0x00000001 2708812457254 -- Value 1: 0x0053B082, Value 2: 0x0053B082, Product: 0x00000001 2708852740617 -- Value 1: 0x00521A20, Value 2: 0x00521A20, Product: 0x00000001 2709332937219 -- Value 1: 0x0053C7F8, Value 2: 0x0053C7F8, Product: 0x00000001 2709872351245 -- Value 1: 0x0050CDF2, Value 2: 0x0050CDF2, Product: 0x00000001 2711192194569 -- Value 1: 0x0047D479, Value 2: 0x0047D479, Product: 0x00000001 2712152891320 -- Value 1: 0x00409912, Value 2: 0x00409912, Product: 0x00000001 2713552860499 -- Value 1: 0x00420CF8, Value 2: 0x00420CF8, Product: 0x00000001 2713742190793 -- Value 1: 0x00420CAD, Value 2: 0x00420CAD, Product: 0x00000001 2713742951974 -- Value 1: 0x00407DB1, Value 2: 0x00407DB1, Product: 0x00000001 2713802680778 -- Value 1: 0x0042041E, Value 2: 0x0042041E, Product: 0x00000001 2715942621790 -- Value 1: 0x0040D44B, Value 2: 0x0040D44B, Product: 0x00000001 2716402991363 -- Value 1: 0x004144ED, Value 2: 0x004144ED, Product: 0x00000001 2716972903643 -- Value 1: 0x003E2FDA, Value 2: 0x003E2FDA, Product: 0x00000001 2717182368604 -- Value 1: 0x004B6728, Value 2: 0x004B6728, Product: 0x00000001 2717362878071 -- Value 1: 0x004B7B07, Value 2: 0x004B7B07, Product: 0x00000001 2717732598745 -- Value 1: 0x004B7702, Value 2: 0x004B7702, Product: 0x00000001 2719222078034 -- Value 1: 0x004C2693, Value 2: 0x004C2693, Product: 0x00000001 2719415388786 -- Value 1: 0x000F40B4, Value 2: 0x000F40B4, Product: 0x00000001 2719612363805 -- Value 1: 0x003E6ED4, Value 2: 0x003E6ED4, Product: 0x00000001 2719702033906 -- Value 1: 0x003E6EF3, Value 2: 0x003E6EF3, Product: 0x00000001 2719712732581 -- Value 1: 0x004014EE, Value 2: 0x004014EE, Product: 0x00000001 2719765891916 -- Value 1: 0x00016888, Value 2: 0x00016888, Product: 0x00000001 2719985941352 -- Value 1: 0x00017820, Value 2: 0x00017820, Product: 0x00000001 2732182653871 -- Value 1: 0x005C1BD6, Value 2: 0x005C1BD6, Product: 0x00000001 2732262480917 -- Value 1: 0x00609830, Value 2: 0x00609830, Product: 0x00000001 2734152900813 -- Value 1: 0x0060E690, Value 2: 0x0060E690, Product: 0x00000001 2736935398785 -- Value 1: 0x002D7687, Value 2: 0x002D7687, Product: 0x00000001 2737482831646 -- Value 1: 0x005F9A9A, Value 2: 0x005F9A9A, Product: 0x00000001 2740675889283 -- Value 1: 0x0058CC64, Value 2: 0x0058CC64, Product: 0x00000001 2747792954175 -- Value 1: 0x001AF459, Value 2: 0x001AF459, Product: 0x00000001 2748605889701 -- Value 1: 0x0059BE97, Value 2: 0x0059BE97, Product: 0x00000001 2748875881540 -- Value 1: 0x004DA041, Value 2: 0x004DA041, Product: 0x00000001 2749945419490 -- Value 1: 0x005A01AF, Value 2: 0x005A01AF, Product: 0x00000001 2750612083959 -- Value 1: 0x00003873, Value 2: 0x00003873, Product: 0x00000001 2753842213792 -- Value 1: 0x00006FC3, Value 2: 0x00006FC3, Product: 0x00000001 2754422153985 -- Value 1: 0x0000E8EB, Value 2: 0x0000E8EB, Product: 0x00000001 2755882303370 -- Value 1: 0x0000B584, Value 2: 0x0000B584, Product: 0x00000001 2758022402977 -- Value 1: 0x0002D935, Value 2: 0x0002D935, Product: 0x00000001 2759652841145 -- Value 1: 0x00048310, Value 2: 0x00048310, Product: 0x00000001 2759792123433 -- Value 1: 0x000169D5, Value 2: 0x000169D5, Product: 0x00000001 2759832542213 -- Value 1: 0x0002E8CA, Value 2: 0x0002E8CA, Product: 0x00000001 2759842302432 -- Value 1: 0x0002F059, Value 2: 0x0002F059, Product: 0x00000001 2760212186695 -- Value 1: 0x0035B0A0, Value 2: 0x0035B0A0, Product: 0x00000001 2763172385805 -- Value 1: 0x0037425B, Value 2: 0x0037425B, Product: 0x00000001 2764122001897 -- Value 1: 0x0031B90D, Value 2: 0x0031B90D, Product: 0x00000001 2764352491192 -- Value 1: 0x0031B92E, Value 2: 0x0031B92E, Product: 0x00000001 2764502911299 -- Value 1: 0x0031B93B, Value 2: 0x0031B93B, Product: 0x00000001 2764592521381 -- Value 1: 0x0031BD15, Value 2: 0x0031BD15, Product: 0x00000001 2765882265763 -- Value 1: 0x0037A7F6, Value 2: 0x0037A7F6, Product: 0x00000001 2769512281747 -- Value 1: 0x0032497E, Value 2: 0x0032497E, Product: 0x00000001 2769552281150 -- Value 1: 0x00324592, Value 2: 0x00324592, Product: 0x00000001 2769562811017 -- Value 1: 0x00323647, Value 2: 0x00323647, Product: 0x00000001 2769582151333 -- Value 1: 0x00323DD4, Value 2: 0x00323DD4, Product: 0x00000001 2769592511008 -- Value 1: 0x00323A15, Value 2: 0x00323A15, Product: 0x00000001 2769702087003 -- Value 1: 0x00354733, Value 2: 0x00354733, Product: 0x00000001 2770682584468 -- Value 1: 0x002976E0, Value 2: 0x002976E0, Product: 0x00000001 2770992165036 -- Value 1: 0x0027DCE1, Value 2: 0x0027DCE1, Product: 0x00000001 2774392380367 -- Value 1: 0x0023F8DD, Value 2: 0x0023F8DD, Product: 0x00000001 2774882200670 -- Value 1: 0x0023F4FE, Value 2: 0x0023F4FE, Product: 0x00000001 2775912681614 -- Value 1: 0x00222FAF, Value 2: 0x00222FAF, Product: 0x00000001 2776042739932 -- Value 1: 0x002B8721, Value 2: 0x002B8721, Product: 0x00000001 2776852840475 -- Value 1: 0x0024432A, Value 2: 0x0024432A, Product: 0x00000001 2777302399653 -- Value 1: 0x002B67BD, Value 2: 0x002B67BD, Product: 0x00000001 2777802576802 -- Value 1: 0x00271578, Value 2: 0x00271578, Product: 0x00000001 2800262419243 -- Value 1: 0x00590C4F, Value 2: 0x00590C4F, Product: 0x00000001 2800762023926 -- Value 1: 0x004C8149, Value 2: 0x004C8149, Product: 0x00000001 2800912217203 -- Value 1: 0x005293E6, Value 2: 0x005293E6, Product: 0x00000001 2801742182431 -- Value 1: 0x004DDCE5, Value 2: 0x004DDCE5, Product: 0x00000001 2803102903416 -- Value 1: 0x004C9CD3, Value 2: 0x004C9CD3, Product: 0x00000001 2803182673443 -- Value 1: 0x004CB042, Value 2: 0x004CB042, Product: 0x00000001 2803942536564 -- Value 1: 0x00545935, Value 2: 0x00545935, Product: 0x00000001 2803972073275 -- Value 1: 0x004CB410, Value 2: 0x004CB410, Product: 0x00000001 2804182113124 -- Value 1: 0x004D1D84, Value 2: 0x004D1D84, Product: 0x00000001 2805182052228 -- Value 1: 0x004E7D1E, Value 2: 0x004E7D1E, Product: 0x00000001 2805252450815 -- Value 1: 0x00517EC6, Value 2: 0x00517EC6, Product: 0x00000001 2805442366791 -- Value 1: 0x0054AB1B, Value 2: 0x0054AB1B, Product: 0x00000001 2805562786613 -- Value 1: 0x00548BEB, Value 2: 0x00548BEB, Product: 0x00000001 2805632393413 -- Value 1: 0x004CEAA6, Value 2: 0x004CEAA6, Product: 0x00000001 2805932442000 -- Value 1: 0x004E7574, Value 2: 0x004E7574, Product: 0x00000001 2807502901557 -- Value 1: 0x005055F3, Value 2: 0x005055F3, Product: 0x00000001 2807522191073 -- Value 1: 0x00505D8B, Value 2: 0x00505D8B, Product: 0x00000001 2807632841354 -- Value 1: 0x005055FA, Value 2: 0x005055FA, Product: 0x00000001 2807912010007 -- Value 1: 0x0051D0AA, Value 2: 0x0051D0AA, Product: 0x00000001 2809372223133 -- Value 1: 0x004DB5E2, Value 2: 0x004DB5E2, Product: 0x00000001 2812062232298 -- Value 1: 0x003F2753, Value 2: 0x003F2753, Product: 0x00000001 2812282442165 -- Value 1: 0x003F2396, Value 2: 0x003F2396, Product: 0x00000001 2812502172975 -- Value 1: 0x003F1F79, Value 2: 0x003F1F79, Product: 0x00000001 2813172330812 -- Value 1: 0x0041EE22, Value 2: 0x0041EE22, Product: 0x00000001 2813232781178 -- Value 1: 0x00407F1E, Value 2: 0x00407F1E, Product: 0x00000001 2813542721967 -- Value 1: 0x00408301, Value 2: 0x00408301, Product: 0x00000001 2814112172589 -- Value 1: 0x003F793A, Value 2: 0x003F793A, Product: 0x00000001 2815432962533 -- Value 1: 0x003F3720, Value 2: 0x003F3720, Product: 0x00000001 2816322163838 -- Value 1: 0x003E257B, Value 2: 0x003E257B, Product: 0x00000001 2816562181717 -- Value 1: 0x00412AE7, Value 2: 0x00412AE7, Product: 0x00000001 2816822033110 -- Value 1: 0x003E1DB5, Value 2: 0x003E1DB5, Product: 0x00000001 2817292142151 -- Value 1: 0x003F8CDD, Value 2: 0x003F8CDD, Product: 0x00000001 2819965791358 -- Value 1: 0x00017A3A, Value 2: 0x00017A3A, Product: 0x00000001 2821895337285 -- Value 1: 0x0037632D, Value 2: 0x0037632D, Product: 0x00000001 2824495874280 -- Value 1: 0x00369FFB, Value 2: 0x00369FFB, Product: 0x00000001 2826965803598 -- Value 1: 0x0031BA0D, Value 2: 0x0031BA0D, Product: 0x00000001 2830042815008 -- Value 1: 0x0064E3B9, Value 2: 0x0064E3B9, Product: 0x00000001 2830582240737 -- Value 1: 0x00605372, Value 2: 0x00605372, Product: 0x00000001 2831085875091 -- Value 1: 0x00250FE2, Value 2: 0x00250FE2, Product: 0x00000001 2831422710902 -- Value 1: 0x00602897, Value 2: 0x00602897, Product: 0x00000001 2832615988124 -- Value 1: 0x002CBCAC, Value 2: 0x002CBCAC, Product: 0x00000001 2833042835216 -- Value 1: 0x006506E1, Value 2: 0x006506E1, Product: 0x00000001 2835395697295 -- Value 1: 0x0028B927, Value 2: 0x0028B927, Product: 0x00000001 2836562071184 -- Value 1: 0x005FD287, Value 2: 0x005FD287, Product: 0x00000001 2836822273679 -- Value 1: 0x005CB991, Value 2: 0x005CB991, Product: 0x00000001 2837252691307 -- Value 1: 0x005F8C5A, Value 2: 0x005F8C5A, Product: 0x00000001 2838945734798 -- Value 1: 0x002780A9, Value 2: 0x002780A9, Product: 0x00000001 2839845560786 -- Value 1: 0x00219135, Value 2: 0x00219135, Product: 0x00000001 2839895454644 -- Value 1: 0x0027A3BB, Value 2: 0x0027A3BB, Product: 0x00000001 2840265139892 -- Value 1: 0x0058C9C7, Value 2: 0x0058C9C7, Product: 0x00000001 2840365891388 -- Value 1: 0x004CE715, Value 2: 0x004CE715, Product: 0x00000001 2841452508459 -- Value 1: 0x001D5EEE, Value 2: 0x001D5EEE, Product: 0x00000001 2841785608297 -- Value 1: 0x005A297A, Value 2: 0x005A297A, Product: 0x00000001 2841785922782 -- Value 1: 0x005153E0, Value 2: 0x005153E0, Product: 0x00000001 2842695860098 -- Value 1: 0x004E1BB3, Value 2: 0x004E1BB3, Product: 0x00000001 2842985974625 -- Value 1: 0x00543240, Value 2: 0x00543240, Product: 0x00000001 2843285499700 -- Value 1: 0x0058DD4A, Value 2: 0x0058DD4A, Product: 0x00000001 2843885934063 -- Value 1: 0x0053FB90, Value 2: 0x0053FB90, Product: 0x00000001 2844185973585 -- Value 1: 0x00509090, Value 2: 0x00509090, Product: 0x00000001 2845875373986 -- Value 1: 0x0050696B, Value 2: 0x0050696B, Product: 0x00000001 2845995103814 -- Value 1: 0x005055B3, Value 2: 0x005055B3, Product: 0x00000001 2846075290989 -- Value 1: 0x004EBBC5, Value 2: 0x004EBBC5, Product: 0x00000001 2846252368058 -- Value 1: 0x001DD40A, Value 2: 0x001DD40A, Product: 0x00000001 2849065902811 -- Value 1: 0x005249F3, Value 2: 0x005249F3, Product: 0x00000001 2849125962498 -- Value 1: 0x00526161, Value 2: 0x00526161, Product: 0x00000001 2849495346281 -- Value 1: 0x00587F81, Value 2: 0x00587F81, Product: 0x00000001 2850592240367 -- Value 1: 0x0004D97B, Value 2: 0x0004D97B, Product: 0x00000001 2852095582782 -- Value 1: 0x0041EA41, Value 2: 0x0041EA41, Product: 0x00000001 2852995443839 -- Value 1: 0x00405811, Value 2: 0x00405811, Product: 0x00000001 2853302387224 -- Value 1: 0x0006777D, Value 2: 0x0006777D, Product: 0x00000001 2854322487709 -- Value 1: 0x0006E525, Value 2: 0x0006E525, Product: 0x00000001 2854505888572 -- Value 1: 0x004B9B0F, Value 2: 0x004B9B0F, Product: 0x00000001 2854592626576 -- Value 1: 0x00087F3B, Value 2: 0x00087F3B, Product: 0x00000001 2854645998720 -- Value 1: 0x004B8F49, Value 2: 0x004B8F49, Product: 0x00000001 2855422392416 -- Value 1: 0x00022607, Value 2: 0x00022607, Product: 0x00000001 2856192170420 -- Value 1: 0x0005B445, Value 2: 0x0005B445, Product: 0x00000001 2857232271956 -- Value 1: 0x00040A70, Value 2: 0x00040A70, Product: 0x00000001 2857875782974 -- Value 1: 0x0042445C, Value 2: 0x0042445C, Product: 0x00000001 2857932621011 -- Value 1: 0x0003FAF8, Value 2: 0x0003FAF8, Product: 0x00000001 2858525148687 -- Value 1: 0x004C2369, Value 2: 0x004C2369, Product: 0x00000001 2858532026208 -- Value 1: 0x0008E0B2, Value 2: 0x0008E0B2, Product: 0x00000001 2858545057996 -- Value 1: 0x00478BBF, Value 2: 0x00478BBF, Product: 0x00000001 2858552513636 -- Value 1: 0x0001439E, Value 2: 0x0001439E, Product: 0x00000001 2858585218009 -- Value 1: 0x004C043A, Value 2: 0x004C043A, Product: 0x00000001 2858612542006 -- Value 1: 0x0002C652, Value 2: 0x0002C652, Product: 0x00000001 2858875647944 -- Value 1: 0x004787DD, Value 2: 0x004787DD, Product: 0x00000001 2859042527368 -- Value 1: 0x000798B7, Value 2: 0x000798B7, Product: 0x00000001 2859455930696 -- Value 1: 0x004011E6, Value 2: 0x004011E6, Product: 0x00000001 2860962050638 -- Value 1: 0x00328CC1, Value 2: 0x00328CC1, Product: 0x00000001 2862602155695 -- Value 1: 0x00378613, Value 2: 0x00378613, Product: 0x00000001 2862972761348 -- Value 1: 0x00316002, Value 2: 0x00316002, Product: 0x00000001 2864032701093 -- Value 1: 0x0031B9EC, Value 2: 0x0031B9EC, Product: 0x00000001 2864172951507 -- Value 1: 0x00319EAC, Value 2: 0x00319EAC, Product: 0x00000001 2864492511665 -- Value 1: 0x0031B60D, Value 2: 0x0031B60D, Product: 0x00000001 2864942171665 -- Value 1: 0x0031B5DD, Value 2: 0x0031B5DD, Product: 0x00000001 2865622435192 -- Value 1: 0x0037AD53, Value 2: 0x0037AD53, Product: 0x00000001 2867902171741 -- Value 1: 0x0031D521, Value 2: 0x0031D521, Product: 0x00000001 2869402016500 -- Value 1: 0x0036CE85, Value 2: 0x0036CE85, Product: 0x00000001 2870242462280 -- Value 1: 0x002058B1, Value 2: 0x002058B1, Product: 0x00000001 2870622537913 -- Value 1: 0x0024C973, Value 2: 0x0024C973, Product: 0x00000001 2871102933719 -- Value 1: 0x001E87F3, Value 2: 0x001E87F3, Product: 0x00000001 2871552375598 -- Value 1: 0x0027CEBA, Value 2: 0x0027CEBA, Product: 0x00000001 2871812717227 -- Value 1: 0x0024AE04, Value 2: 0x0024AE04, Product: 0x00000001 2872282601643 -- Value 1: 0x00221DD2, Value 2: 0x00221DD2, Product: 0x00000001 2872372874074 -- Value 1: 0x0029C2FE, Value 2: 0x0029C2FE, Product: 0x00000001 2872692032116 -- Value 1: 0x00208397, Value 2: 0x00208397, Product: 0x00000001 2873272921006 -- Value 1: 0x0021E73C, Value 2: 0x0021E73C, Product: 0x00000001 2873845292867 -- Value 1: 0x00603051, Value 2: 0x00603051, Product: 0x00000001 2874862314525 -- Value 1: 0x002A050B, Value 2: 0x002A050B, Product: 0x00000001 2875372219210 -- Value 1: 0x002BA722, Value 2: 0x002BA722, Product: 0x00000001 2877052391726 -- Value 1: 0x00228AF8, Value 2: 0x00228AF8, Product: 0x00000001 2878202263034 -- Value 1: 0x001FC811, Value 2: 0x001FC811, Product: 0x00000001 2878332555427 -- Value 1: 0x0028F3C0, Value 2: 0x0028F3C0, Product: 0x00000001 2900372703954 -- Value 1: 0x004C859E, Value 2: 0x004C859E, Product: 0x00000001 2901692110501 -- Value 1: 0x0050E6A9, Value 2: 0x0050E6A9, Product: 0x00000001 2901702469621 -- Value 1: 0x0058DDD1, Value 2: 0x0058DDD1, Product: 0x00000001 2902342940532 -- Value 1: 0x00515FFB, Value 2: 0x00515FFB, Product: 0x00000001 2902702448313 -- Value 1: 0x005A31A9, Value 2: 0x005A31A9, Product: 0x00000001 2903552333921 -- Value 1: 0x004CA89C, Value 2: 0x004CA89C, Product: 0x00000001 2903642306903 -- Value 1: 0x005441ED, Value 2: 0x005441ED, Product: 0x00000001 2903942107727 -- Value 1: 0x0052C331, Value 2: 0x0052C331, Product: 0x00000001 2904702916331 -- Value 1: 0x0054BB57, Value 2: 0x0054BB57, Product: 0x00000001 2904972477329 -- Value 1: 0x00533894, Value 2: 0x00533894, Product: 0x00000001 2905002528578 -- Value 1: 0x005B0C5F, Value 2: 0x005B0C5F, Product: 0x00000001 2905392110232 -- Value 1: 0x005186D1, Value 2: 0x005186D1, Product: 0x00000001 2905642639067 -- Value 1: 0x005989C9, Value 2: 0x005989C9, Product: 0x00000001 2907822331125 -- Value 1: 0x00505223, Value 2: 0x00505223, Product: 0x00000001 2909272673239 -- Value 1: 0x004DB66E, Value 2: 0x004DB66E, Product: 0x00000001 2910395823285 -- Value 1: 0x0003A97F, Value 2: 0x0003A97F, Product: 0x00000001 2910712040931 -- Value 1: 0x0041CF66, Value 2: 0x0041CF66, Product: 0x00000001 2913662221838 -- Value 1: 0x00406FC1, Value 2: 0x00406FC1, Product: 0x00000001 2915672971620 -- Value 1: 0x0040C210, Value 2: 0x0040C210, Product: 0x00000001 2916442318407 -- Value 1: 0x004B8F77, Value 2: 0x004B8F77, Product: 0x00000001 2916792772513 -- Value 1: 0x003FA4C5, Value 2: 0x003FA4C5, Product: 0x00000001 2916925941919 -- Value 1: 0x0000D6C6, Value 2: 0x0000D6C6, Product: 0x00000001 2917352972668 -- Value 1: 0x003F9932, Value 2: 0x003F9932, Product: 0x00000001 2917452281651 -- Value 1: 0x004113CE, Value 2: 0x004113CE, Product: 0x00000001 2917632768558 -- Value 1: 0x004B7440, Value 2: 0x004B7440, Product: 0x00000001 2918065492490 -- Value 1: 0x0005EF6D, Value 2: 0x0005EF6D, Product: 0x00000001 2918895242177 -- Value 1: 0x0005DFD3, Value 2: 0x0005DFD3, Product: 0x00000001 2921865943682 -- Value 1: 0x0031491F, Value 2: 0x0031491F, Product: 0x00000001 2921872417248 -- Value 1: 0x00710194, Value 2: 0x00710194, Product: 0x00000001 2923195797924 -- Value 1: 0x00370DAB, Value 2: 0x00370DAB, Product: 0x00000001 2928075824961 -- Value 1: 0x0036B7C8, Value 2: 0x0036B7C8, Product: 0x00000001 2930082270121 -- Value 1: 0x006057BE, Value 2: 0x006057BE, Product: 0x00000001 2930632930501 -- Value 1: 0x0060502C, Value 2: 0x0060502C, Product: 0x00000001 2933395093496 -- Value 1: 0x0021B4BF, Value 2: 0x0021B4BF, Product: 0x00000001 2933695287391 -- Value 1: 0x0027CF53, Value 2: 0x0027CF53, Product: 0x00000001 2934572937653 -- Value 1: 0x00627EC8, Value 2: 0x00627EC8, Product: 0x00000001 2935895130789 -- Value 1: 0x00211C5D, Value 2: 0x00211C5D, Product: 0x00000001 2936862153671 -- Value 1: 0x005CB9FB, Value 2: 0x005CB9FB, Product: 0x00000001 2937632631841 -- Value 1: 0x005F9C64, Value 2: 0x005F9C64, Product: 0x00000001 2937922124477 -- Value 1: 0x0067414F, Value 2: 0x0067414F, Product: 0x00000001 2938072761303 -- Value 1: 0x005FDAEC, Value 2: 0x005FDAEC, Product: 0x00000001 2938632733768 -- Value 1: 0x005CE518, Value 2: 0x005CE518, Product: 0x00000001 2939885176627 -- Value 1: 0x002A9A0C, Value 2: 0x002A9A0C, Product: 0x00000001 2940955180695 -- Value 1: 0x004E6A01, Value 2: 0x004E6A01, Product: 0x00000001 2941085091392 -- Value 1: 0x004CBC5E, Value 2: 0x004CBC5E, Product: 0x00000001 2941782364609 -- Value 1: 0x0019F814, Value 2: 0x0019F814, Product: 0x00000001 2941815389258 -- Value 1: 0x00589B71, Value 2: 0x00589B71, Product: 0x00000001 2941845979049 -- Value 1: 0x00589F6D, Value 2: 0x00589F6D, Product: 0x00000001 2941972473160 -- Value 1: 0x000F6164, Value 2: 0x000F6164, Product: 0x00000001 2942135885086 -- Value 1: 0x0052B3DC, Value 2: 0x0052B3DC, Product: 0x00000001 2942895768623 -- Value 1: 0x005A8399, Value 2: 0x005A8399, Product: 0x00000001 2945385732991 -- Value 1: 0x0051EC60, Value 2: 0x0051EC60, Product: 0x00000001 2945495968363 -- Value 1: 0x005ABA85, Value 2: 0x005ABA85, Product: 0x00000001 2945845828402 -- Value 1: 0x005AB2B7, Value 2: 0x005AB2B7, Product: 0x00000001 2946542236080 -- Value 1: 0x00181BA1, Value 2: 0x00181BA1, Product: 0x00000001 2947285190198 -- Value 1: 0x004E9114, Value 2: 0x004E9114, Product: 0x00000001 2948452214460 -- Value 1: 0x001B4820, Value 2: 0x001B4820, Product: 0x00000001 2948835629577 -- Value 1: 0x0059D3EC, Value 2: 0x0059D3EC, Product: 0x00000001 2948945359663 -- Value 1: 0x0059D79D, Value 2: 0x0059D79D, Product: 0x00000001 2949095925102 -- Value 1: 0x0053D4E5, Value 2: 0x0053D4E5, Product: 0x00000001 2949285865401 -- Value 1: 0x0053D4EE, Value 2: 0x0053D4EE, Product: 0x00000001 2949675876875 -- Value 1: 0x00586CB0, Value 2: 0x00586CB0, Product: 0x00000001 2950292016171 -- Value 1: 0x0007E34B, Value 2: 0x0007E34B, Product: 0x00000001 2950422797376 -- Value 1: 0x00065CB3, Value 2: 0x00065CB3, Product: 0x00000001 2951702386549 -- Value 1: 0x0007B831, Value 2: 0x0007B831, Product: 0x00000001 2951762280360 -- Value 1: 0x0004B2C9, Value 2: 0x0004B2C9, Product: 0x00000001 2951782213342 -- Value 1: 0x0000171E, Value 2: 0x0000171E, Product: 0x00000001 2952062482401 -- Value 1: 0x00020385, Value 2: 0x00020385, Product: 0x00000001 2952932012451 -- Value 1: 0x00020F18, Value 2: 0x00020F18, Product: 0x00000001 2953102851560 -- Value 1: 0x00037A99, Value 2: 0x00037A99, Product: 0x00000001 2958362233648 -- Value 1: 0x00014FAF, Value 2: 0x00014FAF, Product: 0x00000001 2959855181554 -- Value 1: 0x003E83B1, Value 2: 0x003E83B1, Product: 0x00000001 2965422971608 -- Value 1: 0x003177FD, Value 2: 0x003177FD, Product: 0x00000001 2965602791424 -- Value 1: 0x00317FA9, Value 2: 0x00317FA9, Product: 0x00000001 2965822026623 -- Value 1: 0x00361381, Value 2: 0x00361381, Product: 0x00000001 2966772016937 -- Value 1: 0x003684C4, Value 2: 0x003684C4, Product: 0x00000001 2970482307278 -- Value 1: 0x0024E10C, Value 2: 0x0024E10C, Product: 0x00000001 2971195841813 -- Value 1: 0x005BEF27, Value 2: 0x005BEF27, Product: 0x00000001 2971702472783 -- Value 1: 0x00203201, Value 2: 0x00203201, Product: 0x00000001 2976472574864 -- Value 1: 0x002A636A, Value 2: 0x002A636A, Product: 0x00000001 2976902320739 -- Value 1: 0x00243529, Value 2: 0x00243529, Product: 0x00000001 2979362716441 -- Value 1: 0x00279C7D, Value 2: 0x00279C7D, Product: 0x00000001 2979562626715 -- Value 1: 0x002788FF, Value 2: 0x002788FF, Product: 0x00000001 3010810171643 -- Value 1: 0x00252834, Value 2: 0x00252834, Product: 0x00000001 3011210485352 -- Value 1: 0x001EE2EE, Value 2: 0x001EE2EE, Product: 0x00000001 3015090720118 -- Value 1: 0x00271095, Value 2: 0x00271095, Product: 0x00000001 3017330781473 -- Value 1: 0x00255342, Value 2: 0x00255342, Product: 0x00000001 3018610356075 -- Value 1: 0x002460FA, Value 2: 0x002460FA, Product: 0x00000001 3019670716331 -- Value 1: 0x00247894, Value 2: 0x00247894, Product: 0x00000001 3035840277143 -- Value 1: 0x00040B97, Value 2: 0x00040B97, Product: 0x00000001 3036800174276 -- Value 1: 0x000261DD, Value 2: 0x000261DD, Product: 0x00000001 3038210575434 -- Value 1: 0x0001390E, Value 2: 0x0001390E, Product: 0x00000001 3039550257033 -- Value 1: 0x00046D58, Value 2: 0x00046D58, Product: 0x00000001 3039610656222 -- Value 1: 0x0005F804, Value 2: 0x0005F804, Product: 0x00000001 3057610243853 -- Value 1: 0x00656192, Value 2: 0x00656192, Product: 0x00000001 3064820635268 -- Value 1: 0x004D78A5, Value 2: 0x004D78A5, Product: 0x00000001 3064900747656 -- Value 1: 0x00507A21, Value 2: 0x00507A21, Product: 0x00000001 3069040066018 -- Value 1: 0x005246F5, Value 2: 0x005246F5, Product: 0x00000001 3069320577142 -- Value 1: 0x0050D3F5, Value 2: 0x0050D3F5, Product: 0x00000001 3071750447795 -- Value 1: 0x0040843C, Value 2: 0x0040843C, Product: 0x00000001 3072230922241 -- Value 1: 0x0047F2AC, Value 2: 0x0047F2AC, Product: 0x00000001 3072300947765 -- Value 1: 0x0040595F, Value 2: 0x0040595F, Product: 0x00000001 3073100587766 -- Value 1: 0x0040323D, Value 2: 0x0040323D, Product: 0x00000001 3073230934348 -- Value 1: 0x003EA3DC, Value 2: 0x003EA3DC, Product: 0x00000001 3075760697469 -- Value 1: 0x00411C91, Value 2: 0x00411C91, Product: 0x00000001 3079020145725 -- Value 1: 0x003E6CDD, Value 2: 0x003E6CDD, Product: 0x00000001 3079570737663 -- Value 1: 0x004189FC, Value 2: 0x004189FC, Product: 0x00000001 3108670220251 -- Value 1: 0x0036B7F2, Value 2: 0x0036B7F2, Product: 0x00000001 3109200201533 -- Value 1: 0x003540F1, Value 2: 0x003540F1, Product: 0x00000001 3114750301187 -- Value 1: 0x0025D3B2, Value 2: 0x0025D3B2, Product: 0x00000001 3116730922542 -- Value 1: 0x002A0A08, Value 2: 0x002A0A08, Product: 0x00000001 3118750026309 -- Value 1: 0x00245CA8, Value 2: 0x00245CA8, Product: 0x00000001 3123970412146 -- Value 1: 0x001A0470, Value 2: 0x001A0470, Product: 0x00000001 3130100286364 -- Value 1: 0x00052477, Value 2: 0x00052477, Product: 0x00000001 3131790147241 -- Value 1: 0x00036F05, Value 2: 0x00036F05, Product: 0x00000001 3132080375038 -- Value 1: 0x00002EE8, Value 2: 0x00002EE8, Product: 0x00000001 3146070006680 -- Value 1: 0x00704A26, Value 2: 0x00704A26, Product: 0x00000001 3151230336932 -- Value 1: 0x00607756, Value 2: 0x00607756, Product: 0x00000001 3160040526941 -- Value 1: 0x00516815, Value 2: 0x00516815, Product: 0x00000001 3160400151871 -- Value 1: 0x0052F279, Value 2: 0x0052F279, Product: 0x00000001 3165700926275 -- Value 1: 0x0051E143, Value 2: 0x0051E143, Product: 0x00000001 3172090552115 -- Value 1: 0x0047DEB5, Value 2: 0x0047DEB5, Product: 0x00000001 3179120315654 -- Value 1: 0x003E8015, Value 2: 0x003E8015, Product: 0x00000001 3201530876305 -- Value 1: 0x0032AE2E, Value 2: 0x0032AE2E, Product: 0x00000001 3206930747174 -- Value 1: 0x0031B01A, Value 2: 0x0031B01A, Product: 0x00000001 3207820067554 -- Value 1: 0x00318131, Value 2: 0x00318131, Product: 0x00000001 3210160701824 -- Value 1: 0x0025213F, Value 2: 0x0025213F, Product: 0x00000001 3230810674412 -- Value 1: 0x0001FD32, Value 2: 0x0001FD32, Product: 0x00000001 3231260214795 -- Value 1: 0x0001F54F, Value 2: 0x0001F54F, Product: 0x00000001 3233940554777 -- Value 1: 0x00019F79, Value 2: 0x00019F79, Product: 0x00000001 3254710482531 -- Value 1: 0x00675696, Value 2: 0x00675696, Product: 0x00000001 3262590604413 -- Value 1: 0x004DFA57, Value 2: 0x004DFA57, Product: 0x00000001 3268150165002 -- Value 1: 0x004D90AA, Value 2: 0x004D90AA, Product: 0x00000001 3306270627944 -- Value 1: 0x0031ABD4, Value 2: 0x0031ABD4, Product: 0x00000001 3313580133753 -- Value 1: 0x0027BCC4, Value 2: 0x0027BCC4, Product: 0x00000001 3314130469537 -- Value 1: 0x002AE18A, Value 2: 0x002AE18A, Product: 0x00000001 3348110624106 -- Value 1: 0x006D9BA8, Value 2: 0x006D9BA8, Product: 0x00000001 3351290655224 -- Value 1: 0x005BE85B, Value 2: 0x005BE85B, Product: 0x00000001 3354830335459 -- Value 1: 0x005CAF5E, Value 2: 0x005CAF5E, Product: 0x00000001 3357840436332 -- Value 1: 0x0060C67F, Value 2: 0x0060C67F, Product: 0x00000001 3362840001668 -- Value 1: 0x0052A90F, Value 2: 0x0052A90F, Product: 0x00000001 3366030000961 -- Value 1: 0x0054CBF4, Value 2: 0x0054CBF4, Product: 0x00000001 3369330506278 -- Value 1: 0x00524F40, Value 2: 0x00524F40, Product: 0x00000001 3375650164827 -- Value 1: 0x003F8694, Value 2: 0x003F8694, Product: 0x00000001 3377020167801 -- Value 1: 0x0040B74B, Value 2: 0x0040B74B, Product: 0x00000001 3406440187624 -- Value 1: 0x0031A511, Value 2: 0x0031A511, Product: 0x00000001 3415250349476 -- Value 1: 0x002ACB2E, Value 2: 0x002ACB2E, Product: 0x00000001 3415360916335 -- Value 1: 0x00240CD9, Value 2: 0x00240CD9, Product: 0x00000001 3433840024734 -- Value 1: 0x00019083, Value 2: 0x00019083, Product: 0x00000001 3436130831261 -- Value 1: 0x0006FB76, Value 2: 0x0006FB76, Product: 0x00000001 3437360234598 -- Value 1: 0x00024437, Value 2: 0x00024437, Product: 0x00000001 3464020448659 -- Value 1: 0x005A4787, Value 2: 0x005A4787, Product: 0x00000001 3466560314957 -- Value 1: 0x004EA6C7, Value 2: 0x004EA6C7, Product: 0x00000001 3467750660942 -- Value 1: 0x00549E4E, Value 2: 0x00549E4E, Product: 0x00000001 3471360782433 -- Value 1: 0x00480F6F, Value 2: 0x00480F6F, Product: 0x00000001 3473190172264 -- Value 1: 0x0047D4C9, Value 2: 0x0047D4C9, Product: 0x00000001 3506250287078 -- Value 1: 0x0031B05A, Value 2: 0x0031B05A, Product: 0x00000001 3506650567686 -- Value 1: 0x0031BC36, Value 2: 0x0031BC36, Product: 0x00000001 3506710967265 -- Value 1: 0x0031B48A, Value 2: 0x0031B48A, Product: 0x00000001 3506810107141 -- Value 1: 0x0031AC80, Value 2: 0x0031AC80, Product: 0x00000001 3507380537675 -- Value 1: 0x00318984, Value 2: 0x00318984, Product: 0x00000001 3511510091421 -- Value 1: 0x0024FA8A, Value 2: 0x0024FA8A, Product: 0x00000001[/tt] | November 22, 2005, 12:11 AM |
JoeTheOdd | SMF turnicated my list. Nice =). [tt]3517950411274 -- Value 1: 0x00255486, Value 2: 0x00255486, Product: 0x00000001 3531220285523 -- Value 1: 0x00005B79, Value 2: 0x00005B79, Product: 0x00000001 3538260664532 -- Value 1: 0x0002C0FB, Value 2: 0x0002C0FB, Product: 0x00000001 3550070373280 -- Value 1: 0x00654F40, Value 2: 0x00654F40, Product: 0x00000001 3558720175231 -- Value 1: 0x005CC791, Value 2: 0x005CC791, Product: 0x00000001 3565640129518 -- Value 1: 0x005889A7, Value 2: 0x005889A7, Product: 0x00000001 3606170157681 -- Value 1: 0x0031BD38, Value 2: 0x0031BD38, Product: 0x00000001 3606410297371 -- Value 1: 0x0031B18A, Value 2: 0x0031B18A, Product: 0x00000001 3606420097123 -- Value 1: 0x0031A5E9, Value 2: 0x0031A5E9, Product: 0x00000001 3606430277861 -- Value 1: 0x0031B574, Value 2: 0x0031B574, Product: 0x00000001 3606430637878 -- Value 1: 0x0031B1B4, Value 2: 0x0031B1B4, Product: 0x00000001 3606440097431 -- Value 1: 0x0031A1FB, Value 2: 0x0031A1FB, Product: 0x00000001 3606440687302 -- Value 1: 0x00319E27, Value 2: 0x00319E27, Product: 0x00000001 3606460007944 -- Value 1: 0x0031ADB5, Value 2: 0x0031ADB5, Product: 0x00000001 3606460447180 -- Value 1: 0x0031BD6B, Value 2: 0x0031BD6B, Product: 0x00000001 3606480467070 -- Value 1: 0x0031B1CA, Value 2: 0x0031B1CA, Product: 0x00000001 3606480467360 -- Value 1: 0x0031B5B2, Value 2: 0x0031B5B2, Product: 0x00000001 3606490027660 -- Value 1: 0x0031B58B, Value 2: 0x0031B58B, Product: 0x00000001 3606490107616 -- Value 1: 0x00319A29, Value 2: 0x00319A29, Product: 0x00000001 3606490707274 -- Value 1: 0x0031B1AD, Value 2: 0x0031B1AD, Product: 0x00000001 3606510497163 -- Value 1: 0x0031B5AE, Value 2: 0x0031B5AE, Product: 0x00000001 3606510557298 -- Value 1: 0x0031B976, Value 2: 0x0031B976, Product: 0x00000001 3606510817778 -- Value 1: 0x0031B1D8, Value 2: 0x0031B1D8, Product: 0x00000001 3606520547094 -- Value 1: 0x0031B975, Value 2: 0x0031B975, Product: 0x00000001 3606520857649 -- Value 1: 0x0031ADEF, Value 2: 0x0031ADEF, Product: 0x00000001 3606540357183 -- Value 1: 0x0031BD4F, Value 2: 0x0031BD4F, Product: 0x00000001 3606560817311 -- Value 1: 0x00319A6B, Value 2: 0x00319A6B, Product: 0x00000001 3606570827016 -- Value 1: 0x00319A6A, Value 2: 0x00319A6A, Product: 0x00000001 3606580307070 -- Value 1: 0x0031B184, Value 2: 0x0031B184, Product: 0x00000001 3606580457247 -- Value 1: 0x0031ADE2, Value 2: 0x0031ADE2, Product: 0x00000001 3606590327343 -- Value 1: 0x0031AD9D, Value 2: 0x0031AD9D, Product: 0x00000001 3606600097062 -- Value 1: 0x0031B587, Value 2: 0x0031B587, Product: 0x00000001 3606600117780 -- Value 1: 0x0031BD37, Value 2: 0x0031BD37, Product: 0x00000001 3606620387365 -- Value 1: 0x0031B56B, Value 2: 0x0031B56B, Product: 0x00000001 3606620777490 -- Value 1: 0x0031B989, Value 2: 0x0031B989, Product: 0x00000001 3606650547384 -- Value 1: 0x0031BD62, Value 2: 0x0031BD62, Product: 0x00000001 3606660717814 -- Value 1: 0x00319A37, Value 2: 0x00319A37, Product: 0x00000001 3606670537486 -- Value 1: 0x0031BD60, Value 2: 0x0031BD60, Product: 0x00000001 3606680517546 -- Value 1: 0x0031ADD8, Value 2: 0x0031ADD8, Product: 0x00000001 3606710447287 -- Value 1: 0x0031BD68, Value 2: 0x0031BD68, Product: 0x00000001 3606710657291 -- Value 1: 0x0031B994, Value 2: 0x0031B994, Product: 0x00000001 3606720227789 -- Value 1: 0x0031BD53, Value 2: 0x0031BD53, Product: 0x00000001 3606720827569 -- Value 1: 0x0031B5BF, Value 2: 0x0031B5BF, Product: 0x00000001 3606730297642 -- Value 1: 0x0031ADA4, Value 2: 0x0031ADA4, Product: 0x00000001 3606770277396 -- Value 1: 0x0031B96E, Value 2: 0x0031B96E, Product: 0x00000001 3606770567293 -- Value 1: 0x0031B978, Value 2: 0x0031B978, Product: 0x00000001 3606780347748 -- Value 1: 0x0031AD9C, Value 2: 0x0031AD9C, Product: 0x00000001 3606800277424 -- Value 1: 0x0031A5D3, Value 2: 0x0031A5D3, Product: 0x00000001 3606830477548 -- Value 1: 0x0031ADE0, Value 2: 0x0031ADE0, Product: 0x00000001 3606850047505 -- Value 1: 0x00319E12, Value 2: 0x00319E12, Product: 0x00000001 3606860107233 -- Value 1: 0x0031A1F3, Value 2: 0x0031A1F3, Product: 0x00000001 3606870267161 -- Value 1: 0x0031B570, Value 2: 0x0031B570, Product: 0x00000001 3606900117143 -- Value 1: 0x0031ADAD, Value 2: 0x0031ADAD, Product: 0x00000001 3606900377767 -- Value 1: 0x0031B569, Value 2: 0x0031B569, Product: 0x00000001 3606910167530 -- Value 1: 0x0031A1F4, Value 2: 0x0031A1F4, Product: 0x00000001 3606960437753 -- Value 1: 0x0031A9F5, Value 2: 0x0031A9F5, Product: 0x00000001 3606970077042 -- Value 1: 0x0031ADB4, Value 2: 0x0031ADB4, Product: 0x00000001 3607000337392 -- Value 1: 0x00319253, Value 2: 0x00319253, Product: 0x00000001 3607030737296 -- Value 1: 0x00319278, Value 2: 0x00319278, Product: 0x00000001 3607040337389 -- Value 1: 0x0031963F, Value 2: 0x0031963F, Product: 0x00000001 3607040447187 -- Value 1: 0x0031965D, Value 2: 0x0031965D, Product: 0x00000001 3607060097621 -- Value 1: 0x00317ED5, Value 2: 0x00317ED5, Product: 0x00000001 3607070877754 -- Value 1: 0x003182FA, Value 2: 0x003182FA, Product: 0x00000001 3607100297305 -- Value 1: 0x003176F3, Value 2: 0x003176F3, Product: 0x00000001 3607110327399 -- Value 1: 0x00319252, Value 2: 0x00319252, Product: 0x00000001 3607130717970 -- Value 1: 0x00318A9A, Value 2: 0x00318A9A, Product: 0x00000001 3607130827365 -- Value 1: 0x00318EAE, Value 2: 0x00318EAE, Product: 0x00000001 3607150557383 -- Value 1: 0x00319652, Value 2: 0x00319652, Product: 0x00000001 3607150697304 -- Value 1: 0x00317716, Value 2: 0x00317716, Product: 0x00000001 3607170137796 -- Value 1: 0x00319240, Value 2: 0x00319240, Product: 0x00000001 3607190657746 -- Value 1: 0x003186BF, Value 2: 0x003186BF, Product: 0x00000001 3607200817164 -- Value 1: 0x00318EB1, Value 2: 0x00318EB1, Product: 0x00000001 3607220337862 -- Value 1: 0x00318E5B, Value 2: 0x00318E5B, Product: 0x00000001 3607230497534 -- Value 1: 0x00317B18, Value 2: 0x00317B18, Product: 0x00000001 3607270637486 -- Value 1: 0x0031966E, Value 2: 0x0031966E, Product: 0x00000001 3607270777692 -- Value 1: 0x0031927C, Value 2: 0x0031927C, Product: 0x00000001 3607330207949 -- Value 1: 0x00318694, Value 2: 0x00318694, Product: 0x00000001 3607360857062 -- Value 1: 0x00318EB3, Value 2: 0x00318EB3, Product: 0x00000001 3607410767280 -- Value 1: 0x00319662, Value 2: 0x00319662, Product: 0x00000001 3607410827564 -- Value 1: 0x00318EB0, Value 2: 0x00318EB0, Product: 0x00000001 3607420057399 -- Value 1: 0x00319247, Value 2: 0x00319247, Product: 0x00000001 3607430957078 -- Value 1: 0x00318ABC, Value 2: 0x00318ABC, Product: 0x00000001 3607440317844 -- Value 1: 0x00318685, Value 2: 0x00318685, Product: 0x00000001 3607450487508 -- Value 1: 0x0031772A, Value 2: 0x0031772A, Product: 0x00000001 3607480637470 -- Value 1: 0x00318AA6, Value 2: 0x00318AA6, Product: 0x00000001 3607490347769 -- Value 1: 0x00318E5D, Value 2: 0x00318E5D, Product: 0x00000001 3607490657369 -- Value 1: 0x00318E8F, Value 2: 0x00318E8F, Product: 0x00000001 3607500387341 -- Value 1: 0x00318689, Value 2: 0x00318689, Product: 0x00000001 3607500847508 -- Value 1: 0x00317741, Value 2: 0x00317741, Product: 0x00000001 3607520147596 -- Value 1: 0x0031923D, Value 2: 0x0031923D, Product: 0x00000001 3607520807115 -- Value 1: 0x00317357, Value 2: 0x00317357, Product: 0x00000001 3607530357196 -- Value 1: 0x00319250, Value 2: 0x00319250, Product: 0x00000001 3607540067296 -- Value 1: 0x0031924D, Value 2: 0x0031924D, Product: 0x00000001 3607550337844 -- Value 1: 0x00318684, Value 2: 0x00318684, Product: 0x00000001 3607550617182 -- Value 1: 0x00319670, Value 2: 0x00319670, Product: 0x00000001 3607550667967 -- Value 1: 0x00318E86, Value 2: 0x00318E86, Product: 0x00000001 3607570157974 -- Value 1: 0x00318A82, Value 2: 0x00318A82, Product: 0x00000001 3607570577394 -- Value 1: 0x00319268, Value 2: 0x00319268, Product: 0x00000001 3607570617399 -- Value 1: 0x00319286, Value 2: 0x00319286, Product: 0x00000001 3607580227472 -- Value 1: 0x00318A7E, Value 2: 0x00318A7E, Product: 0x00000001 3607580507426 -- Value 1: 0x00317EF8, Value 2: 0x00317EF8, Product: 0x00000001 3607590727746 -- Value 1: 0x003186B5, Value 2: 0x003186B5, Product: 0x00000001 3607610067197 -- Value 1: 0x00319248, Value 2: 0x00319248, Product: 0x00000001 3607640937130 -- Value 1: 0x00317B23, Value 2: 0x00317B23, Product: 0x00000001 3607650417181 -- Value 1: 0x0031965C, Value 2: 0x0031965C, Product: 0x00000001 3607670447683 -- Value 1: 0x0031965A, Value 2: 0x0031965A, Product: 0x00000001 3607700927077 -- Value 1: 0x00318ABF, Value 2: 0x00318ABF, Product: 0x00000001 3607770037083 -- Value 1: 0x00319632, Value 2: 0x00319632, Product: 0x00000001 3607780217341 -- Value 1: 0x00318696, Value 2: 0x00318696, Product: 0x00000001 3607800567221 -- Value 1: 0x00317EF5, Value 2: 0x00317EF5, Product: 0x00000001 3607800667165 -- Value 1: 0x00318E8B, Value 2: 0x00318E8B, Product: 0x00000001 3607830677444 -- Value 1: 0x003186BC, Value 2: 0x003186BC, Product: 0x00000001 3607840357237 -- Value 1: 0x00317ACD, Value 2: 0x00317ACD, Product: 0x00000001 3607840457030 -- Value 1: 0x00317B13, Value 2: 0x00317B13, Product: 0x00000001 3607860317655 -- Value 1: 0x0031829F, Value 2: 0x0031829F, Product: 0x00000001 3607860527168 -- Value 1: 0x00318E93, Value 2: 0x00318E93, Product: 0x00000001 3607860747751 -- Value 1: 0x003182C7, Value 2: 0x003182C7, Product: 0x00000001 3607870167240 -- Value 1: 0x0031869A, Value 2: 0x0031869A, Product: 0x00000001 3607870507343 -- Value 1: 0x003186C2, Value 2: 0x003186C2, Product: 0x00000001 3607940637659 -- Value 1: 0x003182CF, Value 2: 0x003182CF, Product: 0x00000001 3607960147161 -- Value 1: 0x00318E6B, Value 2: 0x00318E6B, Product: 0x00000001 3607960227047 -- Value 1: 0x00318691, Value 2: 0x00318691, Product: 0x00000001 3609250141457 -- Value 1: 0x00355B02, Value 2: 0x00355B02, Product: 0x00000001 3611010820201 -- Value 1: 0x00267AC0, Value 2: 0x00267AC0, Product: 0x00000001 3618340146708 -- Value 1: 0x00245F5B, Value 2: 0x00245F5B, Product: 0x00000001 3633280724603 -- Value 1: 0x00018D74, Value 2: 0x00018D74, Product: 0x00000001 3650560972017 -- Value 1: 0x0066B421, Value 2: 0x0066B421, Product: 0x00000001 3656170346392 -- Value 1: 0x006106C4, Value 2: 0x006106C4, Product: 0x00000001 3657060592521 -- Value 1: 0x0066E6D3, Value 2: 0x0066E6D3, Product: 0x00000001 3658020207262 -- Value 1: 0x005FE9A3, Value 2: 0x005FE9A3, Product: 0x00000001 3661060518506 -- Value 1: 0x005AB1C1, Value 2: 0x005AB1C1, Product: 0x00000001 3667600078433 -- Value 1: 0x005A57C9, Value 2: 0x005A57C9, Product: 0x00000001 3667600811409 -- Value 1: 0x00530901, Value 2: 0x00530901, Product: 0x00000001 3700180347523 -- Value 1: 0x00315748, Value 2: 0x00315748, Product: 0x00000001 3700190377048 -- Value 1: 0x00315F19, Value 2: 0x00315F19, Product: 0x00000001 3700270397454 -- Value 1: 0x00315B2A, Value 2: 0x00315B2A, Product: 0x00000001 3700450697617 -- Value 1: 0x00314BBA, Value 2: 0x00314BBA, Product: 0x00000001 3700460437975 -- Value 1: 0x00316341, Value 2: 0x00316341, Product: 0x00000001 3700490417501 -- Value 1: 0x00314FBF, Value 2: 0x00314FBF, Product: 0x00000001 3700530687754 -- Value 1: 0x00315B60, Value 2: 0x00315B60, Product: 0x00000001 3700570454905 -- Value 1: 0x002FC918, Value 2: 0x002FC918, Product: 0x00000001 3700740477781 -- Value 1: 0x00316EE9, Value 2: 0x00316EE9, Product: 0x00000001 3700910177222 -- Value 1: 0x00315758, Value 2: 0x00315758, Product: 0x00000001 3700910427417 -- Value 1: 0x00314BD2, Value 2: 0x00314BD2, Product: 0x00000001 3700940457004 -- Value 1: 0x00314FB7, Value 2: 0x00314FB7, Product: 0x00000001 3705530347796 -- Value 1: 0x0031E00C, Value 2: 0x0031E00C, Product: 0x00000001 3705830647275 -- Value 1: 0x0031D860, Value 2: 0x0031D860, Product: 0x00000001 3706000087208 -- Value 1: 0x00319DB3, Value 2: 0x00319DB3, Product: 0x00000001 3706000817340 -- Value 1: 0x0031AD8D, Value 2: 0x0031AD8D, Product: 0x00000001 3706000937475 -- Value 1: 0x0031B16B, Value 2: 0x0031B16B, Product: 0x00000001 3706020837270 -- Value 1: 0x0031B173, Value 2: 0x0031B173, Product: 0x00000001 3706030077084 -- Value 1: 0x0031BCDA, Value 2: 0x0031BCDA, Product: 0x00000001 3706030087650 -- Value 1: 0x0031A96C, Value 2: 0x0031A96C, Product: 0x00000001 3706030097640 -- Value 1: 0x0031AD54, Value 2: 0x0031AD54, Product: 0x00000001 3706070117791 -- Value 1: 0x0031B8EC, Value 2: 0x0031B8EC, Product: 0x00000001 3706070247920 -- Value 1: 0x0031A56C, Value 2: 0x0031A56C, Product: 0x00000001 3706070717481 -- Value 1: 0x0031BD10, Value 2: 0x0031BD10, Product: 0x00000001 3706080507047 -- Value 1: 0x0031AD74, Value 2: 0x0031AD74, Product: 0x00000001 3706100267485 -- Value 1: 0x0031BCF1, Value 2: 0x0031BCF1, Product: 0x00000001 3706110037283 -- Value 1: 0x0031BCDC, Value 2: 0x0031BCDC, Product: 0x00000001 3706110257094 -- Value 1: 0x0031B908, Value 2: 0x0031B908, Product: 0x00000001 3706110457283 -- Value 1: 0x0031BD04, Value 2: 0x0031BD04, Product: 0x00000001 3706110497441 -- Value 1: 0x0031AD7A, Value 2: 0x0031AD7A, Product: 0x00000001 3706110557297 -- Value 1: 0x0031B912, Value 2: 0x0031B912, Product: 0x00000001 3706110787603 -- Value 1: 0x00319DBC, Value 2: 0x00319DBC, Product: 0x00000001 3706110977011 -- Value 1: 0x003199FA, Value 2: 0x003199FA, Product: 0x00000001 3706130447587 -- Value 1: 0x0031BD02, Value 2: 0x0031BD02, Product: 0x00000001 3706140707835 -- Value 1: 0x0031A1A1, Value 2: 0x0031A1A1, Product: 0x00000001 3706160637295 -- Value 1: 0x0031B933, Value 2: 0x0031B933, Product: 0x00000001 3706170227787 -- Value 1: 0x0031BCF2, Value 2: 0x0031BCF2, Product: 0x00000001 3706180177276 -- Value 1: 0x0031B134, Value 2: 0x0031B134, Product: 0x00000001 3706220917747 -- Value 1: 0x0031AD81, Value 2: 0x0031AD81, Product: 0x00000001 3706240857069 -- Value 1: 0x0031B561, Value 2: 0x0031B561, Product: 0x00000001 3706260387269 -- Value 1: 0x0031B503, Value 2: 0x0031B503, Product: 0x00000001 3706260447592 -- Value 1: 0x0031B91F, Value 2: 0x0031B91F, Product: 0x00000001 3706270507286 -- Value 1: 0x0031BCFC, Value 2: 0x0031BCFC, Product: 0x00000001 3706280357703 -- Value 1: 0x00319D98, Value 2: 0x00319D98, Product: 0x00000001 3706320627913 -- Value 1: 0x003199E1, Value 2: 0x003199E1, Product: 0x00000001 3706340597166 -- Value 1: 0x0031B53D, Value 2: 0x0031B53D, Product: 0x00000001 3706340957551 -- Value 1: 0x0031A99F, Value 2: 0x0031A99F, Product: 0x00000001 3706360237693 -- Value 1: 0x0031B90B, Value 2: 0x0031B90B, Product: 0x00000001 3706360857372 -- Value 1: 0x0031B177, Value 2: 0x0031B177, Product: 0x00000001 3706420767085 -- Value 1: 0x0031BD0D, Value 2: 0x0031BD0D, Product: 0x00000001 3706940267667 -- Value 1: 0x0031B50B, Value 2: 0x0031B50B, Product: 0x00000001 3707760447095 -- Value 1: 0x0031920F, Value 2: 0x0031920F, Product: 0x00000001 3712740428173 -- Value 1: 0x002D63C1, Value 2: 0x002D63C1, Product: 0x00000001 3714540933208 -- Value 1: 0x0028C447, Value 2: 0x0028C447, Product: 0x00000001 3733380346724 -- Value 1: 0x0004A1F8, Value 2: 0x0004A1F8, Product: 0x00000001 3750140509368 -- Value 1: 0x00689BDF, Value 2: 0x00689BDF, Product: 0x00000001 3756850156243 -- Value 1: 0x0060FAA4, Value 2: 0x0060FAA4, Product: 0x00000001 3758620747118 -- Value 1: 0x005FDDA5, Value 2: 0x005FDDA5, Product: 0x00000001 3760280726039 -- Value 1: 0x00515EA8, Value 2: 0x00515EA8, Product: 0x00000001 3761020820048 -- Value 1: 0x005450BB, Value 2: 0x005450BB, Product: 0x00000001 3764050257381 -- Value 1: 0x00508F94, Value 2: 0x00508F94, Product: 0x00000001 3764360358017 -- Value 1: 0x005A3831, Value 2: 0x005A3831, Product: 0x00000001 3766450286301 -- Value 1: 0x0051A8BA, Value 2: 0x0051A8BA, Product: 0x00000001 3773950442159 -- Value 1: 0x0047C99E, Value 2: 0x0047C99E, Product: 0x00000001 3806430657445 -- Value 1: 0x0031AE3E, Value 2: 0x0031AE3E, Product: 0x00000001 3806570257561 -- Value 1: 0x0031B5EA, Value 2: 0x0031B5EA, Product: 0x00000001 3812460724248 -- Value 1: 0x00204919, Value 2: 0x00204919, Product: 0x00000001 3813220047418 -- Value 1: 0x002194EB, Value 2: 0x002194EB, Product: 0x00000001 3831670267462 -- Value 1: 0x000379FA, Value 2: 0x000379FA, Product: 0x00000001 3853230255618 -- Value 1: 0x005B90BE, Value 2: 0x005B90BE, Product: 0x00000001 3860250654514 -- Value 1: 0x004E4A7C, Value 2: 0x004E4A7C, Product: 0x00000001 3860750224408 -- Value 1: 0x004E4E3C, Value 2: 0x004E4E3C, Product: 0x00000001 3866360306231 -- Value 1: 0x0051AD79, Value 2: 0x0051AD79, Product: 0x00000001 3871700034002 -- Value 1: 0x003EE4D5, Value 2: 0x003EE4D5, Product: 0x00000001 3902560000761 -- Value 1: 0x0035ADDB, Value 2: 0x0035ADDB, Product: 0x00000001 3903010123449 -- Value 1: 0x0037058E, Value 2: 0x0037058E, Product: 0x00000001 3903660573236 -- Value 1: 0x0036FA01, Value 2: 0x0036FA01, Product: 0x00000001 3906070777146 -- Value 1: 0x0031AE9C, Value 2: 0x0031AE9C, Product: 0x00000001 3907270077276 -- Value 1: 0x00318B42, Value 2: 0x00318B42, Product: 0x00000001 3950240263539 -- Value 1: 0x006535E9, Value 2: 0x006535E9, Product: 0x00000001 3963450466700 -- Value 1: 0x0050E6C4, Value 2: 0x0050E6C4, Product: 0x00000001 3966630555054 -- Value 1: 0x004D21DC, Value 2: 0x004D21DC, Product: 0x00000001 3970120244175 -- Value 1: 0x003F1FE3, Value 2: 0x003F1FE3, Product: 0x00000001 4004093603888 -- Value 1: 0x0031BBCB, Value 2: 0x0031BBCB, Product: 0x00000001 4008363954285 -- Value 1: 0x0036C441, Value 2: 0x0036C441, Product: 0x00000001 4014903908436 -- Value 1: 0x002D0CC1, Value 2: 0x002D0CC1, Product: 0x00000001 4018933409431 -- Value 1: 0x002BFA80, Value 2: 0x002BFA80, Product: 0x00000001 4069843349054 -- Value 1: 0x0059EFD5, Value 2: 0x0059EFD5, Product: 0x00000001 4076393338683 -- Value 1: 0x004BF9A5, Value 2: 0x004BF9A5, Product: 0x00000001 4077413428986 -- Value 1: 0x004BD2D6, Value 2: 0x004BD2D6, Product: 0x00000001 4102693943787 -- Value 1: 0x00316D79, Value 2: 0x00316D79, Product: 0x00000001 4102783843481 -- Value 1: 0x00316D82, Value 2: 0x00316D82, Product: 0x00000001 4102983523905 -- Value 1: 0x003156B2, Value 2: 0x003156B2, Product: 0x00000001 4102983833767 -- Value 1: 0x00315EAA, Value 2: 0x00315EAA, Product: 0x00000001 4104033993852 -- Value 1: 0x0031B0A3, Value 2: 0x0031B0A3, Product: 0x00000001 4104083043886 -- Value 1: 0x0031BB7A, Value 2: 0x0031BB7A, Product: 0x00000001 4104103983686 -- Value 1: 0x0031BB95, Value 2: 0x0031BB95, Product: 0x00000001 4104163883494 -- Value 1: 0x0031B7B5, Value 2: 0x0031B7B5, Product: 0x00000001 4104193893373 -- Value 1: 0x0031A8E3, Value 2: 0x0031A8E3, Product: 0x00000001 4104263893818 -- Value 1: 0x0031A110, Value 2: 0x0031A110, Product: 0x00000001 4104293533890 -- Value 1: 0x0031B761, Value 2: 0x0031B761, Product: 0x00000001 4104383883755 -- Value 1: 0x0031B0B2, Value 2: 0x0031B0B2, Product: 0x00000001 4104393683853 -- Value 1: 0x0031B095, Value 2: 0x0031B095, Product: 0x00000001 4104443943980 -- Value 1: 0x0031BB91, Value 2: 0x0031BB91, Product: 0x00000001 4104493683582 -- Value 1: 0x0031BB67, Value 2: 0x0031BB67, Product: 0x00000001 4104553983931 -- Value 1: 0x00319935, Value 2: 0x00319935, Product: 0x00000001 4104763983594 -- Value 1: 0x0031B7AB, Value 2: 0x0031B7AB, Product: 0x00000001 4104793783690 -- Value 1: 0x0031B775, Value 2: 0x0031B775, Product: 0x00000001 4104833803915 -- Value 1: 0x0031A10D, Value 2: 0x0031A10D, Product: 0x00000001 4104853083599 -- Value 1: 0x0031B78F, Value 2: 0x0031B78F, Product: 0x00000001 4104853123998 -- Value 1: 0x0031B785, Value 2: 0x0031B785, Product: 0x00000001 4104883543845 -- Value 1: 0x0031B472, Value 2: 0x0031B472, Product: 0x00000001 4104893813062 -- Value 1: 0x0031ACCB, Value 2: 0x0031ACCB, Product: 0x00000001 4104963783389 -- Value 1: 0x0031BB5A, Value 2: 0x0031BB5A, Product: 0x00000001 4104973393952 -- Value 1: 0x0031B074, Value 2: 0x0031B074, Product: 0x00000001 4104983303680 -- Value 1: 0x0031BB84, Value 2: 0x0031BB84, Product: 0x00000001 4104993353682 -- Value 1: 0x0031BB85, Value 2: 0x0031BB85, Product: 0x00000001 4104993693465 -- Value 1: 0x0031ACAD, Value 2: 0x0031ACAD, Product: 0x00000001 4105083613886 -- Value 1: 0x00319456, Value 2: 0x00319456, Product: 0x00000001 4105083823580 -- Value 1: 0x00319492, Value 2: 0x00319492, Product: 0x00000001 4105183803198 -- Value 1: 0x003190AA, Value 2: 0x003190AA, Product: 0x00000001 4105183893357 -- Value 1: 0x003189A2, Value 2: 0x003189A2, Product: 0x00000001 4105193983147 -- Value 1: 0x00318D81, Value 2: 0x00318D81, Product: 0x00000001 4105213983197 -- Value 1: 0x0031909C, Value 2: 0x0031909C, Product: 0x00000001 4105403793894 -- Value 1: 0x0031905C, Value 2: 0x0031905C, Product: 0x00000001 4105493193785 -- Value 1: 0x00319461, Value 2: 0x00319461, Product: 0x00000001 4105503803998 -- Value 1: 0x003190A7, Value 2: 0x003190A7, Product: 0x00000001 4105643993487 -- Value 1: 0x00319481, Value 2: 0x00319481, Product: 0x00000001 4105693493388 -- Value 1: 0x00319443, Value 2: 0x00319443, Product: 0x00000001 4105783093399 -- Value 1: 0x00319082, Value 2: 0x00319082, Product: 0x00000001 4105783343887 -- Value 1: 0x00319474, Value 2: 0x00319474, Product: 0x00000001 4105783893636 -- Value 1: 0x00317232, Value 2: 0x00317232, Product: 0x00000001 4105803523886 -- Value 1: 0x00319430, Value 2: 0x00319430, Product: 0x00000001 4105813673890 -- Value 1: 0x00319067, Value 2: 0x00319067, Product: 0x00000001 4105833303898 -- Value 1: 0x00319087, Value 2: 0x00319087, Product: 0x00000001 4105863843694 -- Value 1: 0x003190A5, Value 2: 0x003190A5, Product: 0x00000001 4105893143915 -- Value 1: 0x003179B3, Value 2: 0x003179B3, Product: 0x00000001 4105893813454 -- Value 1: 0x003189A3, Value 2: 0x003189A3, Product: 0x00000001 4105903743984 -- Value 1: 0x00319444, Value 2: 0x00319444, Product: 0x00000001 4105913973085 -- Value 1: 0x00319484, Value 2: 0x00319484, Product: 0x00000001 4105923003998 -- Value 1: 0x0031907C, Value 2: 0x0031907C, Product: 0x00000001 4105943153998 -- Value 1: 0x00319074, Value 2: 0x00319074, Product: 0x00000001 4112993680370 -- Value 1: 0x002091C5, Value 2: 0x002091C5, Product: 0x00000001 4116973475996 -- Value 1: 0x0025D089, Value 2: 0x0025D089, Product: 0x00000001 4118423829713 -- Value 1: 0x002BF25B, Value 2: 0x002BF25B, Product: 0x00000001 4118493372184 -- Value 1: 0x00247411, Value 2: 0x00247411, Product: 0x00000001 4138783434486 -- Value 1: 0x0008FD16, Value 2: 0x0008FD16, Product: 0x00000001 4160913449686 -- Value 1: 0x0058CAC2, Value 2: 0x0058CAC2, Product: 0x00000001 4162843860689 -- Value 1: 0x004E6B5B, Value 2: 0x004E6B5B, Product: 0x00000001 4167193158862 -- Value 1: 0x005B0D91, Value 2: 0x005B0D91, Product: 0x00000001 4169713789662 -- Value 1: 0x0059FB54, Value 2: 0x0059FB54, Product: 0x00000001 4202093983623 -- Value 1: 0x0031502D, Value 2: 0x0031502D, Product: 0x00000001 4202683883652 -- Value 1: 0x003163BE, Value 2: 0x003163BE, Product: 0x00000001 4202993223496 -- Value 1: 0x00316923, Value 2: 0x00316923, Product: 0x00000001 4204033993846 -- Value 1: 0x0031B5B7, Value 2: 0x0031B5B7, Product: 0x00000001 4204333873888 -- Value 1: 0x0031BB3C, Value 2: 0x0031BB3C, Product: 0x00000001 4204433483989 -- Value 1: 0x0031BAE9, Value 2: 0x0031BAE9, Product: 0x00000001 4204493803956 -- Value 1: 0x0031B1DF, Value 2: 0x0031B1DF, Product: 0x00000001 4204593983558 -- Value 1: 0x0031B1D5, Value 2: 0x0031B1D5, Product: 0x00000001 4204743883185 -- Value 1: 0x0031BB37, Value 2: 0x0031BB37, Product: 0x00000001 4204763943896 -- Value 1: 0x0031B747, Value 2: 0x0031B747, Product: 0x00000001 4204773883852 -- Value 1: 0x0031B1DD, Value 2: 0x0031B1DD, Product: 0x00000001 4204803963396 -- Value 1: 0x0031B749, Value 2: 0x0031B749, Product: 0x00000001 4204813493092 -- Value 1: 0x0031B6FF, Value 2: 0x0031B6FF, Product: 0x00000001 4204813693188 -- Value 1: 0x0031BAFB, Value 2: 0x0031BAFB, Product: 0x00000001 4204843183916 -- Value 1: 0x0031A1EB, Value 2: 0x0031A1EB, Product: 0x00000001 4204843773995 -- Value 1: 0x0031B70C, Value 2: 0x0031B70C, Product: 0x00000001 4204883153683 -- Value 1: 0x0031BB0C, Value 2: 0x0031BB0C, Product: 0x00000001 4204893743861 -- Value 1: 0x0031ADE3, Value 2: 0x0031ADE3, Product: 0x00000001 4204903883471 -- Value 1: 0x0031AA06, Value 2: 0x0031AA06, Product: 0x00000001 4204923393196 -- Value 1: 0x0031B732, Value 2: 0x0031B732, Product: 0x00000001 4204923403987 -- Value 1: 0x0031BAE8, Value 2: 0x0031BAE8, Product: 0x00000001 4204963823385 -- Value 1: 0x0031BB39, Value 2: 0x0031BB39, Product: 0x00000001 4204963973585 -- Value 1: 0x0031BB2F, Value 2: 0x0031BB2F, Product: 0x00000001 4204983213094 -- Value 1: 0x0031B742, Value 2: 0x0031B742, Product: 0x00000001 4204993183352 -- Value 1: 0x0031B18F, Value 2: 0x0031B18F, Product: 0x00000001 4204993583639 -- Value 1: 0x00319A47, Value 2: 0x00319A47, Product: 0x00000001 4205183283966 -- Value 1: 0x003186A0, Value 2: 0x003186A0, Product: 0x00000001 4205183963868 -- Value 1: 0x003186DC, Value 2: 0x003186DC, Product: 0x00000001 4205303993094 -- Value 1: 0x00319039, Value 2: 0x00319039, Product: 0x00000001 4205373993941 -- Value 1: 0x00318EAB, Value 2: 0x00318EAB, Product: 0x00000001 4205383483966 -- Value 1: 0x003186B4, Value 2: 0x003186B4, Product: 0x00000001 4205393563883 -- Value 1: 0x003193D5, Value 2: 0x003193D5, Product: 0x00000001 4205483853797 -- Value 1: 0x00319046, Value 2: 0x00319046, Product: 0x00000001 4205523083881 -- Value 1: 0x00319400, Value 2: 0x00319400, Product: 0x00000001 4205523993586 -- Value 1: 0x00319423, Value 2: 0x00319423, Product: 0x00000001 4205583973586 -- Value 1: 0x00319424, Value 2: 0x00319424, Product: 0x00000001 4205693353991 -- Value 1: 0x00319029, Value 2: 0x00319029, Product: 0x00000001 4205803833283 -- Value 1: 0x0031942B, Value 2: 0x0031942B, Product: 0x00000001 4205833823393 -- Value 1: 0x00319044, Value 2: 0x00319044, Product: 0x00000001 4205873953597 -- Value 1: 0x00319036, Value 2: 0x00319036, Product: 0x00000001 4205883773190 -- Value 1: 0x00319000, Value 2: 0x00319000, Product: 0x00000001 4205883973453 -- Value 1: 0x00318AC4, Value 2: 0x00318AC4, Product: 0x00000001 4205893293338 -- Value 1: 0x00317319, Value 2: 0x00317319, Product: 0x00000001 4205913813854 -- Value 1: 0x00318AC7, Value 2: 0x00318AC7, Product: 0x00000001 4205933993365 -- Value 1: 0x003186D7, Value 2: 0x003186D7, Product: 0x00000001 4205953813869 -- Value 1: 0x003186E3, Value 2: 0x003186E3, Product: 0x00000001 4205963923583 -- Value 1: 0x0031941F, Value 2: 0x0031941F, Product: 0x00000001 4205983583222 -- Value 1: 0x0031771E, Value 2: 0x0031771E, Product: 0x00000001 4262583108693 -- Value 1: 0x005A9C98, Value 2: 0x005A9C98, Product: 0x00000001 4263733268995 -- Value 1: 0x005A757C, Value 2: 0x005A757C, Product: 0x00000001 4268873609246 -- Value 1: 0x0059CDA8, Value 2: 0x0059CDA8, Product: 0x00000001 4269053959021 -- Value 1: 0x0059ED0A, Value 2: 0x0059ED0A, Product: 0x00000001 4269193175680 -- Value 1: 0x0053E9C1, Value 2: 0x0053E9C1, Product: 0x00000001 4269673588137 -- Value 1: 0x005B6FAA, Value 2: 0x005B6FAA, Product: 0x00000001 4271983183746 -- Value 1: 0x00403466, Value 2: 0x00403466, Product: 0x00000001 4276853970093 -- Value 1: 0x003FC104, Value 2: 0x003FC104, Product: 0x00000001 4277203783981 -- Value 1: 0x00412440, Value 2: 0x00412440, Product: 0x00000001 4279603906836 -- Value 1: 0x00491F79, Value 2: 0x00491F79, Product: 0x00000001 4304023693988 -- Value 1: 0x0031BA98, Value 2: 0x0031BA98, Product: 0x00000001 4304033283898 -- Value 1: 0x0031B6D9, Value 2: 0x0031B6D9, Product: 0x00000001 4304083583962 -- Value 1: 0x0031AD6A, Value 2: 0x0031AD6A, Product: 0x00000001 4304083943184 -- Value 1: 0x0031BAD0, Value 2: 0x0031BAD0, Product: 0x00000001 4304183443986 -- Value 1: 0x0031BA8A, Value 2: 0x0031BA8A, Product: 0x00000001 4304383593809 -- Value 1: 0x0031A59A, Value 2: 0x0031A59A, Product: 0x00000001 4304383903910 -- Value 1: 0x0031A1D0, Value 2: 0x0031A1D0, Product: 0x00000001 4304393183946 -- Value 1: 0x0031B513, Value 2: 0x0031B513, Product: 0x00000001 4304393783481 -- Value 1: 0x0031BA95, Value 2: 0x0031BA95, Product: 0x00000001 4304393883147 -- Value 1: 0x0031B563, Value 2: 0x0031B563, Product: 0x00000001 4304413483889 -- Value 1: 0x0031BA83, Value 2: 0x0031BA83, Product: 0x00000001 4304613183992 -- Value 1: 0x0031B6B9, Value 2: 0x0031B6B9, Product: 0x00000001 4304633953988 -- Value 1: 0x0031BACE, Value 2: 0x0031BACE, Product: 0x00000001 4304643883493 -- Value 1: 0x0031B6EB, Value 2: 0x0031B6EB, Product: 0x00000001 4304653923981 -- Value 1: 0x0031BAC8, Value 2: 0x0031BAC8, Product: 0x00000001 4304683893166 -- Value 1: 0x0031AD92, Value 2: 0x0031AD92, Product: 0x00000001 4304713843992 -- Value 1: 0x0031B6EE, Value 2: 0x0031B6EE, Product: 0x00000001 4304823683857 -- Value 1: 0x0031B157, Value 2: 0x0031B157, Product: 0x00000001 4304823803091 -- Value 1: 0x0031B6F1, Value 2: 0x0031B6F1, Product: 0x00000001 4304843193493 -- Value 1: 0x0031B6BC, Value 2: 0x0031B6BC, Product: 0x00000001 4304883313842 -- Value 1: 0x0031B526, Value 2: 0x0031B526, Product: 0x00000001 4304883503096 -- Value 1: 0x0031B698, Value 2: 0x0031B698, Product: 0x00000001 4304923793597 -- Value 1: 0x0031B6A6, Value 2: 0x0031B6A6, Product: 0x00000001 4304943093879 -- Value 1: 0x0031A94D, Value 2: 0x0031A94D, Product: 0x00000001 4304973813197 -- Value 1: 0x0031B6EC, Value 2: 0x0031B6EC, Product: 0x00000001 4304983853150 -- Value 1: 0x0031B17A, Value 2: 0x0031B17A, Product: 0x00000001 4305063893189 -- Value 1: 0x003193C5, Value 2: 0x003193C5, Product: 0x00000001 4305193383284 -- Value 1: 0x003193AD, Value 2: 0x003193AD, Product: 0x00000001 4305293743890 -- Value 1: 0x00318F9D, Value 2: 0x00318F9D, Product: 0x00000001 4305303983928 -- Value 1: 0x003176D0, Value 2: 0x003176D0, Product: 0x00000001 4305383383953 -- Value 1: 0x00318A2E, Value 2: 0x00318A2E, Product: 0x00000001 4305383453894 -- Value 1: 0x00318F92, Value 2: 0x00318F92, Product: 0x00000001 4305393803184 -- Value 1: 0x003193CB, Value 2: 0x003193CB, Product: 0x00000001 4305493783906 -- Value 1: 0x00317E9F, Value 2: 0x00317E9F, Product: 0x00000001 4305653923986 -- Value 1: 0x003193B8, Value 2: 0x003193B8, Product: 0x00000001 4305693793866 -- Value 1: 0x0031866F, Value 2: 0x0031866F, Product: 0x00000001 4305893383043 -- Value 1: 0x00318E17, Value 2: 0x00318E17, Product: 0x00000001 4305903083785 -- Value 1: 0x0031939A, Value 2: 0x0031939A, Product: 0x00000001 4305913803946 -- Value 1: 0x00318E4B, Value 2: 0x00318E4B, Product: 0x00000001 4305993803243 -- Value 1: 0x00318E53, Value 2: 0x00318E53, Product: 0x00000001 4309233083086 -- Value 1: 0x003257A4, Value 2: 0x003257A4, Product: 0x00000001 4309233833821 -- Value 1: 0x00323FA8, Value 2: 0x00323FA8, Product: 0x00000001 4309243083812 -- Value 1: 0x003233C6, Value 2: 0x003233C6, Product: 0x00000001 4309283153799 -- Value 1: 0x003253B4, Value 2: 0x003253B4, Product: 0x00000001 4309283383516 -- Value 1: 0x003233D4, Value 2: 0x003233D4, Product: 0x00000001 4309283933038 -- Value 1: 0x00323BB8, Value 2: 0x00323BB8, Product: 0x00000001 4309293473698 -- Value 1: 0x003253E7, Value 2: 0x003253E7, Product: 0x00000001 4309363693867 -- Value 1: 0x00324F0C, Value 2: 0x00324F0C, Product: 0x00000001 4309383843224 -- Value 1: 0x00323FAA, Value 2: 0x00323FAA, Product: 0x00000001 4309443823902 -- Value 1: 0x003237D3, Value 2: 0x003237D3, Product: 0x00000001 4309493473911 -- Value 1: 0x003233A3, Value 2: 0x003233A3, Product: 0x00000001 4309543923795 -- Value 1: 0x003253EF, Value 2: 0x003253EF, Product: 0x00000001 4309723693801 -- Value 1: 0x00323798, Value 2: 0x00323798, Product: 0x00000001 4309723953286 -- Value 1: 0x003257D1, Value 2: 0x003257D1, Product: 0x00000001 4309733783941 -- Value 1: 0x0032472F, Value 2: 0x0032472F, Product: 0x00000001 4309823003959 -- Value 1: 0x00324364, Value 2: 0x00324364, Product: 0x00000001 4309873293032 -- Value 1: 0x00323BAD, Value 2: 0x00323BAD, Product: 0x00000001 4309873783667 -- Value 1: 0x00324F03, Value 2: 0x00324F03, Product: 0x00000001 4309883403636 -- Value 1: 0x00323B72, Value 2: 0x00323B72, Product: 0x00000001 4309903003846 -- Value 1: 0x0032474A, Value 2: 0x0032474A, Product: 0x00000001 4309903113800 -- Value 1: 0x003237A0, Value 2: 0x003237A0, Product: 0x00000001 4309903553387 -- Value 1: 0x003257C1, Value 2: 0x003257C1, Product: 0x00000001 4309943423817 -- Value 1: 0x0032339E, Value 2: 0x0032339E, Product: 0x00000001 4309963223954 -- Value 1: 0x0032437C, Value 2: 0x0032437C, Product: 0x00000001 4309963863529 -- Value 1: 0x00323FA5, Value 2: 0x00323FA5, Product: 0x00000001 4309973123828 -- Value 1: 0x00323F77, Value 2: 0x00323F77, Product: 0x00000001 4310883070845 -- Value 1: 0x00204FE8, Value 2: 0x00204FE8, Product: 0x00000001 4353343299097 -- Value 1: 0x006830B3, Value 2: 0x006830B3, Product: 0x00000001 4362053388975 -- Value 1: 0x005A93C1, Value 2: 0x005A93C1, Product: 0x00000001 4363053198975 -- Value 1: 0x005A6C9D, Value 2: 0x005A6C9D, Product: 0x00000001 4366883203840 -- Value 1: 0x005087BC, Value 2: 0x005087BC, Product: 0x00000001 4372693852297 -- Value 1: 0x004231B3, Value 2: 0x004231B3, Product: 0x00000001 4375493028394 -- Value 1: 0x004B810F, Value 2: 0x004B810F, Product: 0x00000001 4379373851803 -- Value 1: 0x003E6CD4, Value 2: 0x003E6CD4, Product: 0x00000001 4402283803821 -- Value 1: 0x00314DDE, Value 2: 0x00314DDE, Product: 0x00000001 4402393833932 -- Value 1: 0x003149F7, Value 2: 0x003149F7, Product: 0x00000001 4402493883079 -- Value 1: 0x00315997, Value 2: 0x00315997, Product: 0x00000001 4402803583088 -- Value 1: 0x00316F14, Value 2: 0x00316F14, Product: 0x00000001 4404683987358 -- Value 1: 0x0037C9FC, Value 2: 0x0037C9FC, Product: 0x00000001 4405083693870 -- Value 1: 0x00318088, Value 2: 0x00318088, Product: 0x00000001 4415833662995 -- Value 1: 0x0023D6BD, Value 2: 0x0023D6BD, Product: 0x00000001 4433583480799 -- Value 1: 0x0001F6CE, Value 2: 0x0001F6CE, Product: 0x00000001 4457293751981 -- Value 1: 0x005C9DE1, Value 2: 0x005C9DE1, Product: 0x00000001 4459163185834 -- Value 1: 0x0063124A, Value 2: 0x0063124A, Product: 0x00000001 4463483828344 -- Value 1: 0x005A6BA6, Value 2: 0x005A6BA6, Product: 0x00000001 4466453879928 -- Value 1: 0x0059A07E, Value 2: 0x0059A07E, Product: 0x00000001 4468423909723 -- Value 1: 0x0059C6BD, Value 2: 0x0059C6BD, Product: 0x00000001 4474433818195 -- Value 1: 0x004BA97E, Value 2: 0x004BA97E, Product: 0x00000001 4478773008805 -- Value 1: 0x004C031C, Value 2: 0x004C031C, Product: 0x00000001 4504383083863 -- Value 1: 0x0031AAE0, Value 2: 0x0031AAE0, Product: 0x00000001 4504833893451 -- Value 1: 0x0031AF1D, Value 2: 0x0031AF1D, Product: 0x00000001 4530093593855 -- Value 1: 0x00034BFB, Value 2: 0x00034BFB, Product: 0x00000001 4560043819814 -- Value 1: 0x0058AA03, Value 2: 0x0058AA03, Product: 0x00000001 4561903964794 -- Value 1: 0x00540E4D, Value 2: 0x00540E4D, Product: 0x00000001 4563393485928 -- Value 1: 0x0052B7F9, Value 2: 0x0052B7F9, Product: 0x00000001 4567683499266 -- Value 1: 0x00598862, Value 2: 0x00598862, Product: 0x00000001 4567833279380 -- Value 1: 0x00598F68, Value 2: 0x00598F68, Product: 0x00000001 4604413493995 -- Value 1: 0x0031B88F, Value 2: 0x0031B88F, Product: 0x00000001 4605563887692 -- Value 1: 0x0037AC51, Value 2: 0x0037AC51, Product: 0x00000001 4618203642995 -- Value 1: 0x00247313, Value 2: 0x00247313, Product: 0x00000001 4655293916791 -- Value 1: 0x0066F9AD, Value 2: 0x0066F9AD, Product: 0x00000001 4655993361813 -- Value 1: 0x005C32E3, Value 2: 0x005C32E3, Product: 0x00000001 4661843082926 -- Value 1: 0x0050E439, Value 2: 0x0050E439, Product: 0x00000001 4664493238972 -- Value 1: 0x005AE3E3, Value 2: 0x005AE3E3, Product: 0x00000001 4668153789208 -- Value 1: 0x0059BF8C, Value 2: 0x0059BF8C, Product: 0x00000001 4668333128296 -- Value 1: 0x005B615C, Value 2: 0x005B615C, Product: 0x00000001 4669363939072 -- Value 1: 0x0059FA51, Value 2: 0x0059FA51, Product: 0x00000001 4759283901447 -- Value 1: 0x005D0280, Value 2: 0x005D0280, Product: 0x00000001 4760883854479 -- Value 1: 0x0054243A, Value 2: 0x0054243A, Product: 0x00000001 4761893481017 -- Value 1: 0x004C5409, Value 2: 0x004C5409, Product: 0x00000001 4765843339908 -- Value 1: 0x00592238, Value 2: 0x00592238, Product: 0x00000001 4768533409381 -- Value 1: 0x0059DE72, Value 2: 0x0059DE72, Product: 0x00000001 4774173298782 -- Value 1: 0x004BAD7C, Value 2: 0x004BAD7C, Product: 0x00000001 4774333998620 -- Value 1: 0x004B958E, Value 2: 0x004B958E, Product: 0x00000001 4774633888263 -- Value 1: 0x004BA538, Value 2: 0x004BA538, Product: 0x00000001 4803803592003 -- Value 1: 0x0032B798, Value 2: 0x0032B798, Product: 0x00000001 4804173263896 -- Value 1: 0x0031B9BC, Value 2: 0x0031B9BC, Product: 0x00000001 4804273083963 -- Value 1: 0x0031AE31, Value 2: 0x0031AE31, Product: 0x00000001 4815903280524 -- Value 1: 0x0020AEAE, Value 2: 0x0020AEAE, Product: 0x00000001 4817983525234 -- Value 1: 0x00258C88, Value 2: 0x00258C88, Product: 0x00000001 4836383922575 -- Value 1: 0x0005B868, Value 2: 0x0005B868, Product: 0x00000001 4848323183270 -- Value 1: 0x006F302B, Value 2: 0x006F302B, Product: 0x00000001 4861993064317 -- Value 1: 0x0053F78B, Value 2: 0x0053F78B, Product: 0x00000001 4865063834194 -- Value 1: 0x0054AB5F, Value 2: 0x0054AB5F, Product: 0x00000001 4865783184548 -- Value 1: 0x0054A748, Value 2: 0x0054A748, Product: 0x00000001 4867013038940 -- Value 1: 0x005B080A, Value 2: 0x005B080A, Product: 0x00000001 4867323299118 -- Value 1: 0x00596DD1, Value 2: 0x00596DD1, Product: 0x00000001 4868953263308 -- Value 1: 0x00509812, Value 2: 0x00509812, Product: 0x00000001 4873723872484 -- Value 1: 0x004211A3, Value 2: 0x004211A3, Product: 0x00000001 4903083562810 -- Value 1: 0x0032B41C, Value 2: 0x0032B41C, Product: 0x00000001 4904293763196 -- Value 1: 0x0031BA45, Value 2: 0x0031BA45, Product: 0x00000001 4904413873699 -- Value 1: 0x0031BA70, Value 2: 0x0031BA70, Product: 0x00000001 4904523183859 -- Value 1: 0x0031B26E, Value 2: 0x0031B26E, Product: 0x00000001 4905353643887 -- Value 1: 0x0031971E, Value 2: 0x0031971E, Product: 0x00000001 4905933943242 -- Value 1: 0x00318F72, Value 2: 0x00318F72, Product: 0x00000001 4909853674109 -- Value 1: 0x0036CF0E, Value 2: 0x0036CF0E, Product: 0x00000001 4915483135842 -- Value 1: 0x00255A4C, Value 2: 0x00255A4C, Product: 0x00000001 4918843525400 -- Value 1: 0x0025DF29, Value 2: 0x0025DF29, Product: 0x00000001 4931843842474 -- Value 1: 0x0004A75F, Value 2: 0x0004A75F, Product: 0x00000001 4933993473061 -- Value 1: 0x0003727F, Value 2: 0x0003727F, Product: 0x00000001 4954753186690 -- Value 1: 0x00672208, Value 2: 0x00672208, Product: 0x00000001 4959513973174 -- Value 1: 0x00601596, Value 2: 0x00601596, Product: 0x00000001 4960643558830 -- Value 1: 0x005A3981, Value 2: 0x005A3981, Product: 0x00000001 4961023368788 -- Value 1: 0x005A2DA1, Value 2: 0x005A2DA1, Product: 0x00000001 4962013868509 -- Value 1: 0x005A83D8, Value 2: 0x005A83D8, Product: 0x00000001 4962953210930 -- Value 1: 0x004E4ADF, Value 2: 0x004E4ADF, Product: 0x00000001 4964993030619 -- Value 1: 0x004EA0BF, Value 2: 0x004EA0BF, Product: 0x00000001 4966663259588 -- Value 1: 0x0059B87F, Value 2: 0x0059B87F, Product: 0x00000001 4967223694814 -- Value 1: 0x0054E234, Value 2: 0x0054E234, Product: 0x00000001 4967783685703 -- Value 1: 0x00535F82, Value 2: 0x00535F82, Product: 0x00000001 4968183775449 -- Value 1: 0x0053B57C, Value 2: 0x0053B57C, Product: 0x00000001 4968623608537 -- Value 1: 0x005B4AFB, Value 2: 0x005B4AFB, Product: 0x00000001[/tt] | November 22, 2005, 12:13 AM |
UserLoser. | [quote author=Joe link=topic=13318.msg134957#msg134957 date=1132619144] Noticed something, all Bnet valid CD Keys have product code of 00000001. Not all installer-valid keys do. Go me! [/quote] That's like so 8 years ago. Installer doesn't care about product code. And there is definately something wrong with that...all your "Value 1" are the same as your "Value 2" | November 22, 2005, 12:29 AM |
JoeTheOdd | Yeah, I fixed that. | November 22, 2005, 12:52 AM |
Myndfyr | Is value 1 always equal to value 2? At a glance it appears to. Or is this a bug in your output? | November 22, 2005, 12:57 AM |
Yegg | [quote author=MyndFyre link=topic=13318.msg134960#msg134960 date=1132621056] Is value 1 always equal to value 2? At a glance it appears to. Or is this a bug in your output? [/quote] I checked many of his values. It seems all of his value's for 1 are equal to value 2. I don't know if that's a bug or it's correct. This certainly isn't an area I'm experienced in. | November 22, 2005, 1:31 AM |
kamakazie | [quote author=MyndFyre link=topic=13318.msg134960#msg134960 date=1132621056] Is value 1 always equal to value 2? At a glance it appears to. Or is this a bug in your output? [/quote] No it's a bug. I have generated a csv file full of these cdkeys and their public/private/product values in decimal. One thing I noticed is the private values range from [0, 999], and the public values range from [1111, 7405972]. So brute force of the private value given the cdkey hash is extremely easy if the range holds true for all cdkeys. Edit: I have generated some scatter plots of the data. Public vs Private for Product Id = 1 [img]http://img507.imageshack.us/img507/7166/cdkey10bs.th.jpg[/img] There is a big ass line going down the middle. Interesting. Public vs Private for Product Id = 2 [img]http://img378.imageshack.us/img378/5091/cdkey21ls.th.jpg[/img] This is even more interesting. Might just be bad data though. | November 22, 2005, 2:26 AM |
UserLoser. | [quote author=MyndFyre link=topic=13318.msg134960#msg134960 date=1132621056] Is value 1 always equal to value 2? At a glance it appears to. Or is this a bug in your output? [/quote] I jsut said that | November 22, 2005, 5:18 AM |
JoeTheOdd | hm, generating all keys with ProductID of 1. Interesting results (see val1) [code][6:52:15 AM] 0000333999887 -- Value 1: 0x001C11DF, Value 2: 0x00000120, Product: 0x00000001 [6:52:15 AM] 0000333999898 -- Value 1: 0x001C0DF7, Value 2: 0x00000120, Product: 0x00000001 [6:52:15 AM] 0000333999986 -- Value 1: 0x001C11DF, Value 2: 0x0000012A, Product: 0x00000001 [6:52:15 AM] 0000333999997 -- Value 1: 0x001C0DF7, Value 2: 0x0000012A, Product: 0x00000001[/code] Two keys, one public value. Word. | November 22, 2005, 12:53 PM |
Myndfyr | [quote author=dxoigmn link=topic=13318.msg134968#msg134968 date=1132626362] I have generated a csv file full of these cdkeys[/quote] Any chance you could post the CSV file? We have some nice statistical analysis software here at school, and I'd love to run some regression series on them. | November 22, 2005, 8:44 PM |
Arta | A link to a spreadsheet would be rather more useful than 2 massive posts. Just so you know, the statistical approach has been attempted before, to no avail - I'll be interested to see your results anyway, though. | November 23, 2005, 1:39 AM |
kamakazie | [quote author=MyndFyre link=topic=13318.msg135035#msg135035 date=1132692243] [quote author=dxoigmn link=topic=13318.msg134968#msg134968 date=1132626362] I have generated a csv file full of these cdkeys[/quote] Any chance you could post the CSV file? We have some nice statistical analysis software here at school, and I'd love to run some regression series on them. [/quote] Here you go. I doubt anything good will come of it. Would be nice to have access to BNLS, log all the cdkeys and run an analysis on those. Although, I am sure this kind of thing has already be done (Arta's comment suggest that). | November 23, 2005, 4:53 AM |
Arta | Hmm, I doubt it's been done on BNLS. BNLS doesn't log keys! :) | November 23, 2005, 12:56 PM |
JoeTheOdd | [quote author=Arta[vL] link=topic=13318.msg135075#msg135075 date=1132709991] A link to a spreadsheet would be rather more useful than 2 massive posts. Just so you know, the statistical approach has been attempted before, to no avail - I'll be interested to see your results anyway, though. [/quote] I don't have Excell, nor OpenOffice, so eh? When I get home from school I'll make a text-file of them. | November 23, 2005, 1:13 PM |
LordNevar | It's been confirmed that it is a strict BNLS issue, and the change works in any manner of manipulating the last number of the assigned key. | November 23, 2005, 1:55 PM |
QwertyMonster | Thanks ringo ;) | November 23, 2005, 4:09 PM |
LordNevar | I have been doing alot of research on this with a massive list of working keys for battle.net, and I'm talking 10's of thousands of working keys. I have noticed something in there construction so far. This is just an observation not a confirmation of truth. This was done using the list provided by Joe, and Ringo, and also my personal lists, and some lists from other people. I did not test all these key's, nor want to spend the time too. So we'll take in affect that say 75% of them work. Ex: 0000600003862 <~~~ Joe's First Key [Verified] Now if I am correct this is how the basic structure of them is composed. This table will be listed by first to last digit of the respective key. 1.)The first number cannot be higher than (4), as far as I know. I do not have any key's that start with a 5. They range from 0-4. 2.)The second number can be as high as (9). 3.)Third number can go as high as (6). 4.)Forth number can be as high as (9). 5.)Fifth number can be as high as (9). 6.)Sixth number can be as high as (9). 7.)Seventh number can be as high as (5). 8.)Eighth number can be as high as (9). 9.)Ninth number can be as high as (9). 10.)Tenth number can be as high as (7). 11.)Eleventh number can be as high as (9). 12.)Twelth number can be as high as (9). 13.)Thirteenth can be any number you want it to be from 0-9 as long as the key is correct, cause regardless if you change the last number of any starcraft/battle.net cdkey you can log on with it. Unless of course your using BNLS witch will give you an invalid key. Note: If you change the last digit of any working stacraft/battle.net cdkey, if the key works or is muted or voided or inuse it will give you the same response for any number you assign to it. This is just what I have so far, I have not gotten into the barebones of it. If anyone can supply a key that disproves any of my statements above, please contact me so I can make adjustments to this. So far only creating keys in this sequence, I have managed to make 3 working key's out of 65 attempts at it, so I am obviously either very lucky or on the right track. | November 25, 2005, 12:14 PM |
Arta | You guys should figure out how the decode routine works if you want to do this properly. | November 26, 2005, 1:53 PM |
KkBlazekK | Pffft, everyone already knows that starcraft keys are really poorly encrypted love messages between Yoni and Skywing. | November 26, 2005, 3:54 PM |
MesiaH | [quote author=Blaze link=topic=13318.msg135380#msg135380 date=1133020446] Pffft, everyone already knows that starcraft keys are really poorly encrypted love messages between Yoni and Skywing. [/quote] For one, I didn't know cdkeys were encrypted at all.... For another, why would they use cdkeys as a means of sharing love? Isn't that why they made the Botnet? Anyways, on a more productive side of things, Arta is correct. To decipher and interperet the decoding technique will play a key role in analyzing how these keys are truely put together. However the server validates them, we will never know. But what we can do, is take a look at the key ideas, and use them to help analyze the decoding methods while reversing. I, personally, do not know what file would be decompiled to look for such data, But I have seen many examples of code to emulate this routine. To emulate such a complex matter, we can verify that we know how to "spoof" this routine. But this does not mean that we have "cracked" it full-proof. Any information on what should/could be reversed to help aid in this matter would be great. I'm not the greatest with asm, but with all this useful data, and active users on this topic, I think we are not too farfetched from our answer. So lets keep this going guys... Imagine, releasing our bots, without the need of a personal cdkey purchased from a store... Imagine, the ease of usage for our users, and users to come... This could be a good thing, as long as we keep it away from those vile fools who abuse such information. Keep up the good work. | November 26, 2005, 11:51 PM |
Kp | [quote author=Mesiah / haiseM link=topic=13318.msg135413#msg135413 date=1133049082]Imagine, releasing our bots, without the need of a personal cdkey purchased from a store... Imagine, the ease of usage for our users, and users to come... This could be a good thing, as long as we keep it away from those vile fools who abuse such information. Keep up the good work.[/quote] Do you really think that the information would be long withheld from abusers if it goes into a publicly released client? Also, remember what Blizzard did when bots emulating Diablo (a cdkey-free product) became too troublesome: confined all Diablo clients to a fairly useless subset of channels. Do you doubt that they'll do the same to Starcraft if it becomes possible for any average user to make up a working cdkey? As soon as keys can be generated, their anti-piracy measures and anti-abuser measures are rendered totally useless. Anyone can download an illegal copy of Starcraft, synthesize a key, and log on to play on battle.net. (Yes, people can do this already with third-party servers, but Blizzard seems to be much less interested in this - perhaps because there's no easy way for them to stop it.) I could go on about the other dangers associated with a publicly available algorithm for key generation, but I think you'll get the point. | November 27, 2005, 12:01 AM |
UserLoser. | Pattern matching probably won't get you really far. Do what Arta said first | November 27, 2005, 6:15 AM |
shadypalm88 | The last digit in a StarCraft CD key is a check digit: A value computed from the other 12 digits is equal to this value in valid keys. C(++) code that does this:[code]int accum, i; // Verification accum = 3; for (i = 0; i < (keyLen - 1); i++) { accum += ((cdkey[i] - '0') ^ (accum * 2)); } if ((accum % 10) != (cdkey[12] - '0')) return 0;[/code] So, seed the verification value with 3. For each of the digits in the key, except for the last one, add that digit's numeric value XOR the current verification value x 2 to the current verification value. The value modulo 10 (so that the check digit can be only one digit) should equal the last digit in the key. If not, the key is invalid. I guess you could just generate the first 12 digits and then calculate the check digit, but that's not very helpful. Shuffling happens next during the decode and is fairly self-explanatory; here's a small program that takes a key, shuffles it, and then returns to the original key:[code] // file: keyshuffle.c #include <string.h> #include <stdio.h> int main (int argc, char const* argv[]) { char* cdkey; int pos, i; char temp; if (argc < 2) { fprintf(stderr, "usage: %s {cd-key}\n", argv[0]); return 1; } cdkey = (char*) argv[1]; printf("Original = \"%s\"\n", cdkey); // Shuffling pos = 0x0B; for (i = 0xC2; i >= 7; i -= 0x11) { temp = cdkey[pos]; cdkey[pos] = cdkey[i % 0x0C]; cdkey[i % 0x0C] = temp; pos--; } printf("Shuffled = \"%s\"\n", cdkey); // Unshuffling pos = 0; for (i = 7; i <= 0xC2; i += 0x11) { temp = cdkey[i % 0x0C]; cdkey[i % 0x0C] = cdkey[pos]; cdkey[pos] = temp; pos++; } printf("Unshuffled = \"%s\"\n", cdkey); return 0; }[/code]The last step in the process follows; I can't think atm how you would take the known product value, public value (value1), and private value (value2) and reverse this step (and then unshuffle it) to produce an actual key. Maybe someone less mathematically ignorant than I am can shed light on this.[code]// Final Value for (i = (keyLen - 2); i >= 0; i--) { temp = toupper(cdkey[i]); cdkey[i] = temp; if (temp <= '7') { cdkey[i] ^= (char) (hashKey & 7); hashKey >>= 3; } else if (temp < 'A') { cdkey[i] ^= ((char) i & 1); } } // Final Calculations sscanf(cdkey, "%2ld%7ld%3ld", &product, &value1, &value2);[/code] | November 27, 2005, 5:57 PM |
JoeTheOdd | I haven't studied the method used here, but as far as I know once the key is decoded to its three values, its basically like a hashing method. You're going to have to bruteforce to get the original key back. | November 27, 2005, 7:22 PM |
Arta | If I remember rightly, the encode procedure is the same for encoding and decoding - it's an XOR cipher. | November 27, 2005, 10:23 PM |
shadypalm88 | [quote author=Arta[vL] link=topic=13318.msg135504#msg135504 date=1133130204] If I remember rightly, the encode procedure is the same for encoding and decoding - it's an XOR cipher. [/quote]Good call. encodekey.c [quote author=Terminal][color=lime]$[/color] gcc -Wall -o sckey encodekey.c [color=lime]$[/color] ./sckey 2379322577914 Product = 0x00000001 Public Value = 0x0025FF9B Private Value = 0x0000018C [color=lime]$[/color] ./sckey 0x0025FF9B 0x0000018C CD-Key = 2379322577914[/quote] | November 28, 2005, 12:18 AM |
Myndfyr | I believe you shouldn't use Len(key) - 1. That would be valid if you were using 0-based arrays, but since you're using i = 1 to ..., you'll probably want to go to Len(key). | November 28, 2005, 4:08 PM |
l2k-Shadow | Ringo: Code in my next post. @ MyndFyre: Actually his way is correct because you only calculate the first 12 digits and not the 13th one which is the digit you are trying to end up with. His mistake was elsewhere though as you see.. | November 28, 2005, 11:11 PM |
l2k-Shadow | Sorry about that I kinda skimmed through it and didn't notice what I did... anyway this works: [code] Public Function VerifyKey(CdKey As String) As Boolean ' Function ported to VB6 from C++ by l2k-Shadow Dim Value As Long, i As Integer Value = 3 For i = 1 To 12 Value = Value + (Mid$(CdKey, i, 1) Xor (Value * 2)) Next i If (Value Mod 10) = Right$(CdKey, 1) Then VerifyKey = True End Function [/code] | November 29, 2005, 12:13 AM |
l2k-Shadow | Well after about 20 minutes, here is a successful VB6 port of the whole file. | November 29, 2005, 1:51 AM |
Kp | [quote author=Ringo link=topic=13318.msg135640#msg135640 date=1133226784] idk where my friend got -30 from :P I take it c++ Integer's go higher than VB6's?[/quote] Probably it was supposed to be 0x30, the value of '0'. C++ integers generally go to the size of the machine word, or beyond. It's a VB defect that its integers are still stuck in the days of Win16. | November 29, 2005, 2:40 AM |
JoeTheOdd | I've got FinishSCKey memorized by heart. =p [code]Public Sub FinishSCKey(ByRef p_sKey As String) Dim I As Byte, Accum As Integer I = 3 For I = 1 To 12 Accum = Accum + (Val(Mid(p_sKey, I, 1)) Xor (Accum * 2)) Next I p_sKey = p_sKey & CStr(Accum Mod 10) End Sub[/code] Pretty encouraging that I started something here. Looks like we're making some good progress, little thanks to me, sad to say. All bow down to King Arta for showing us how to create SC keys. <3 | November 29, 2005, 3:18 AM |
l2k-Shadow | Well I don't know how it was shown to create keys... I created a simple generator according the current known research and I keep getting keys which pass BNCSUtil and BNLS check but then I get Invalid CD-Key and IPBanned from battle.net. | November 29, 2005, 4:59 AM |
UserLoser. | [quote author=Joe link=topic=13318.msg135660#msg135660 date=1133234284] I've got FinishSCKey memorized by heart. =p [code]Public Sub FinishSCKey(ByRef p_sKey As String) Dim I As Byte, Accum As Integer I = 3 For I = 1 To 12 Accum = Accum + (Val(Mid(p_sKey, I, 1)) Xor (Accum * 2)) Next I p_sKey = p_sKey & CStr(Accum Mod 10) End Sub[/code] Pretty encouraging that I started something here. Looks like we're making some good progress, little thanks to me, sad to say. All bow down to King Arta for showing us how to create SC keys. <3 [/quote] Making progress? You're going backwards. That function was written somewhere else back in like 1997. | November 29, 2005, 5:49 AM |
l2k-Shadow | [quote author=UserLoser link=topic=13318.msg135677#msg135677 date=1133243364] [quote author=Joe link=topic=13318.msg135660#msg135660 date=1133234284] I've got FinishSCKey memorized by heart. =p [code]Public Sub FinishSCKey(ByRef p_sKey As String) Dim I As Byte, Accum As Integer I = 3 For I = 1 To 12 Accum = Accum + (Val(Mid(p_sKey, I, 1)) Xor (Accum * 2)) Next I p_sKey = p_sKey & CStr(Accum Mod 10) End Sub[/code] Pretty encouraging that I started something here. Looks like we're making some good progress, little thanks to me, sad to say. All bow down to King Arta for showing us how to create SC keys. <3 [/quote] Making progress? You're going backwards. That function was written somewhere else back in like 1997. [/quote] Major burn. | November 29, 2005, 6:01 AM |
Arta | King Arta, that sounds good 8) Anyway, you've figured out how to encode keys. That's a good step. The hard part (the part no one's managed yet) is to figure out what computation you do to derive a private from a public. | November 29, 2005, 10:38 AM |
JoeTheOdd | From my lists, its looked like private keys never go above 0x000000FF. Perhaps thats a start? | November 29, 2005, 1:07 PM |
kamakazie | Do all those work on battle.net? If so: On average, how long does it take you to generate a cdkey? Edit: Also, what is "key-gaps"? | November 29, 2005, 6:19 PM |
Arta | Pocket? Can you post/pm code? How many invalid keys are you generating for each valid one? | November 29, 2005, 6:21 PM |
rabbit | [quote author=Arta[vL] link=topic=13318.msg135715#msg135715 date=1133288483] Pocket? Can you post/pm code? How many invalid keys are you generating for each valid one? [/quote]I think the invalid:valid is the key-gaps. | November 29, 2005, 11:22 PM |
JoeTheOdd | Ringo, is there anything you can't do? =p | November 30, 2005, 12:38 AM |
rabbit | Pull his lower lip over his head, down his back, around his feet, and back up to his face. | November 30, 2005, 1:22 AM |
HdxBmx27 | I have 'just' been given access to 2 labs of 30 computers. (512MB RAM, 3.5GHz CPUs, and NetSupport ;D ) Does anyone know or have noticed a pattern or bounds in the public/private keys? I'd rather not have to all 9989999001 possible combenations of public and private keys (1-9999999 public and 1-999 private) And as for the lip thing.. You never know FoFo.... ~-~(HDX)~-~ | November 30, 2005, 2:18 AM |
l2k-Shadow | May I ask what "pocket" is? Also I see that the product for those is 2 and not 1... and when using the encoding algorithm for those, it outputs an incorrect key. Any ideas? EDIT: Also, Arta, if I may ask, where do you conclude that there is an actual computation you can do to derive a private value from a public value? | November 30, 2005, 2:36 AM |
UserLoser. | This whole idea is very bad. This shouldn't be on a public forum like this...especially when it's populated by nothing but Battle.netters.....just letting you know ahead of time. | November 30, 2005, 3:20 AM |
Newby | [quote author=UserLoser link=topic=13318.msg135787#msg135787 date=1133320801] This whole idea is very bad. This shouldn't be on a public forum like this...especially when it's populated by nothing but Battle.netters.....just letting you know ahead of time. [/quote] To UserLoser: Are you excluding yourself from the Battle.netters? I'm curious. Who cares if they figure out how to differentiate real CD-Keys from fake CD-Keys? Does Battle.net REALLY mean that much to you? Do you REALLY think they're going to get anywhere, and if they do, and Battle.net ends up dying (which it probably won't, since they still have Diablo II/Warcraft III) what does it matter? | November 30, 2005, 3:56 AM |
UserLoser. | [quote author=Newby link=topic=13318.msg135792#msg135792 date=1133323008] [quote author=UserLoser link=topic=13318.msg135787#msg135787 date=1133320801] This whole idea is very bad. This shouldn't be on a public forum like this...especially when it's populated by nothing but Battle.netters.....just letting you know ahead of time. [/quote] To UserLoser: Are you excluding yourself from the Battle.netters? I'm curious. Who cares if they figure out how to differentiate real CD-Keys from fake CD-Keys? Does Battle.net REALLY mean that much to you? Do you REALLY think they're going to get anywhere, and if they do, and Battle.net ends up dying (which it probably won't, since they still have Diablo II/Warcraft III) what does it matter? [/quote] No I'm not excluding my self, but I'm not about to become one of the morons who ruin a free service like B.net for the rest of us. The whole point is all you stupid kiddies out there who sit there all day chatting on your Starcraft bots will be stuck in public channels like Diablo is. What's your problem anyways? You always have to come back with such a direct personal attack to me. You have nothing to contribute to this thread or this development forum as a whole. I already put my two cents in and I'm not about to help them figure out how to generate working CdKeys from what I know. Go to hell, get a job, get a girl, just get a life and don't reply to my posts anymore. | November 30, 2005, 4:21 AM |
JoeTheOdd | UserLoser, I hate to break it to you, but Battle.net is already dying. All we can do is speed its agonizing death. Another thing, how many random people who come to this website know how to program? I mean, sure, we know what this stuff means, but programmers are a small fraction of the world. Beyond that, how many of us would write a program (and release it) that spews out every single real key, so that a floodbot could easily use it. I don't know about you guys, but I wouldn't. | November 30, 2005, 4:31 AM |
l2k-Shadow | Also I'd like to point out, myself (and I'm sure quite others who are contributing to this research) are only doing this as an interest factor in our free time... we have nothing to gain or lose by this but it's an interesting topic to entertain us with. If it wasn't, then I'm sure it would not have been discussed for 4 pages of replies. | November 30, 2005, 5:02 AM |
Myndfyr | [quote author=Joe link=topic=13318.msg135797#msg135797 date=1133325119] UserLoser, I hate to break it to you, but Battle.net is already dying. All we can do is speed its agonizing death. [/quote] If its death is SO agonizing, then 1.) Blizzard would have just shut it down, and 2.) why don't you just go do something else? Why do you want to finish off something that's free and fun? | November 30, 2005, 6:39 AM |
JoeTheOdd | See the next paragraph. I hope the programmers of the world are more responsible than that. | November 30, 2005, 12:56 PM |
Arta | [quote author=UserLoser link=topic=13318.msg135787#msg135787 date=1133320801] This whole idea is very bad. This shouldn't be on a public forum like this...especially when it's populated by nothing but Battle.netters.....just letting you know ahead of time. [/quote] Userloser is exactly right. I'll pass on the advice Sky gave me when I was doing some of this stuff a few years back: if you figure it out, Blizzard will probably add the same restrictions to Starcraft that exist for Diablo 1. [quote author=l2k-Shadow link=topic=13318.msg135781#msg135781 date=1133318205] Also, Arta, if I may ask, where do you conclude that there is an actual computation you can do to derive a private value from a public value? [/quote] Because that's how the system works. We deduce that this is possible because it's the only way that Battle.net could verify your hashed cd key data. All the other data in the hash is passed in plaintext: the private is not (hence the name). Thus, in order to compute a hash and compare it to the hash provided by the client, Battle.net must be able to compute the value of the private *somehow*. If you think about it, and look at the other data available during the logon, it becomes clear that the key's private value is the only real candidate. I think that this is a worthwhile thing to be looking into, but I also think that there are ethical concerns that you should take into account. If you did figure out the public->private formula, or even if you just bruteforce all the valid keys (it would take a while, but I'm sure it's tractible - you can do it in constant time, I think: O(10^10)), you're going to be producing keys that other people have paid for, and using those keys wouldn't really be very polite. Additionally, it's likely that any successful attempt on your part would lead to the restriction of stacraft and broodwar clients on Battle.net. I think you should proceed carefully. | November 30, 2005, 4:21 PM |
Myndfyr | You can't "unhash." Hashing functions (at least the ones used by Battle.net) are one-way. Theoretically, you could hash multiple values and have the same hash value (this is called a collision, and it's how bruteforce hash-cracking works), but you'll never know with certainty which of the values was the one used to compute the initial hash. There are 2[sup]160[/sup] possible values for SHA-1, which means that ideally there are 2[sup]160[/sup] possible inputs that each produce distinct values. | November 30, 2005, 5:09 PM |
Myndfyr | Because you hash something and the output is always the same. A very trivial hashing function H(x) might only emit values 1-10 for any particular input. For example: H("a") = 1 H("b") = 2 H("c") = 3 ... H("j") = 10 H("k") = 1 But no matter what, H("a") is always equal to 1. So, Blizzard can verify whether I know my password without them actually knowing my password if I simply give them a hash of it. H("password") always equals H("password"). And, if they store H("password") on their server, they know the hash of my password, and then if we do H(client key + server key + H("password")) or some other type of similar order, then the hash will always be the same given that input. That's why the client and server keys are exchanged; the password hash itself is always known by both sides, and the client/server keys add a random element that would make someone sniffing packets do twice as much work just to bruteforce one password. | November 30, 2005, 6:11 PM |
l2k-Shadow | [quote author=Ringo link=topic=13318.msg135841#msg135841 date=1133369185] [quote author=Arta[vL] link=topic=13318.msg135836#msg135836 date=1133367707] All the other data in the hash is passed in plaintext: the private is not (hence the name). Thus, in order to compute a hash and compare it to the hash provided by the client, Battle.net must be able to compute the value of the private *somehow*. If you think about it, and look at the other data available during the logon, it becomes clear that the key's private value is the only real candidate. [/quote] I was thinking about this, and the best idea of how it was all going on bnet's end was that: when bnet gets your cdkey hash, it uses the product code in the packet to check for wrong product (and maybe the key lengh), and if that pass's, it uses then client token and the server token issued to unhash the cdkey hash data (maybe a quick function to get 1 DWORD of it?) to get the private value. Then uses the product value in the packet/unhash cdkey, to point to a data base/box, or somthing to check the cdkey in. When that thing gets the private value (witch would be a pointer to another data base maybe) which searchs a public value list for a match and return invalid if not found. Thats probly far from how it works, hah I have some pritty crazzy ideas of how things work :( [/quote] If I understand correctly, I don't think the server token/client token have anything to do with the cd-key... since the private value is always the same for every key, how would u use 2 random values to calculate it? -.- I think it's more to do with the public value itself OR public value + the CDKey hash. Now I think we should figure out if it uses only public value or the public value and CDKey hash... before trying to make any computations. | November 30, 2005, 6:41 PM |
l2k-Shadow | Right, sorry I misread Arta's reply post. | November 30, 2005, 6:48 PM |
kamakazie | [quote author=Arta[vL] link=topic=13318.msg135836#msg135836 date=1133367707] Because that's how the system works. We deduce that this is possible because it's the only way that Battle.net could verify your hashed cd key data. All the other data in the hash is passed in plaintext: the private is not (hence the name). Thus, in order to compute a hash and compare it to the hash provided by the client, Battle.net must be able to compute the value of the private *somehow*. If you think about it, and look at the other data available during the logon, it becomes clear that the key's private value is the only real candidate. [/quote] What is stopping Battle.net from looking up the public and product values in a database for the corresponding private value and comparing hashes that way? Would be one huge database, but it would also be very fast. Edit: If this is the case, then it is possible private values are completely random. | November 30, 2005, 6:52 PM |
Myndfyr | [quote author=l2k-Shadow link=topic=13318.msg135851#msg135851 date=1133376065] If I understand correctly, I don't think the server token/client token have anything to do with the cd-key... since the private value is always the same for every key, how would u use 2 random values to calculate it? -.- I think it's more to do with the public value itself OR public value + the CDKey hash. Now I think we should figure out if it uses only public value or the public value and CDKey hash... before trying to make any computations. [/quote] It doesn't necessarily. I was referring to the username/password authentication scheme where Battle.net requires a double-hash of data, the second time including the server and client tokens. Since he was asking about hashing in general, I thought I'd illustrate that example. | November 30, 2005, 7:20 PM |
Arta | [quote author=dxoigmn link=topic=13318.msg135854#msg135854 date=1133376720] What is stopping Battle.net from looking up the public and product values in a database for the corresponding private value and comparing hashes that way? Would be one huge database, but it would also be very fast. Edit: If this is the case, then it is possible private values are completely random. [/quote] I suppose that's plausible for Starcraft keys, but I think a computation would be quicker (and definitely more memory-efficient). Additionally, it would be completely implausible for Diablo II or Warcraft III keys, and I rather suspect that they all use the same system, but with different key formats/calculations. | December 1, 2005, 2:29 AM |
rabbit | Well, we know Warcraft II and StarCraft use the same system, or at least SC uses one derived from WC2, as we find that the reversed StarCraft has a case changing call...which makes not sense with a set of digits. I have some theories, but I want to do more research before I actually post anything. | December 1, 2005, 2:35 AM |
Myndfyr | [quote author=rabbit link=topic=13318.msg135881#msg135881 date=1133404515] Well, we know Warcraft II and StarCraft use the same system, or at least SC uses one derived from WC2, as we find that the reversed StarCraft has a case changing call...which makes not sense with a set of digits. I have some theories, but I want to do more research before I actually post anything. [/quote] How do you know this? Starcraft came out well before Warcraft II: Battle.net Edition and Diablo II, both of which use 16-character alphanumeric keys as opposed to Starcraft's 13-digit numeric-only key. | December 1, 2005, 4:18 AM |
rabbit | From what I've learned of assembly, and the code segments for decoding keys I've been shown (I still can't actually FIND them...), I've noticed both start off with a case change. [edit] Unless I'm mistaken, which I may very well be. I tend to suck at assembly. | December 1, 2005, 4:23 AM |
l2k-Shadow | I am working on encoding function for w2/d2 keys. So far they are well following the system for sc keys but i am stuck on the 'shuffling' part of it and can't seem to get it working. Thing is when you 'shuffle' the d2 key, it outputs less values then before the algorithm, that's what's fux0ring me up. Here's the decode: [code] Private Sub DecodeD2Key(ByVal CDKey As String, ByRef Product As Long, ByRef PublicValue As Long, ByRef PrivateValue As Long) Dim i&, r&, n&, n2&, v&, V2&, C&, c1&, c2&, keyvalue& Dim CodeValues$, tKey$(15), tStr$ CDKey = UCase$(CDKey) CodeValues = "246789BCDEFGHJKMNPRTVWXZ" r = 1 'Fill Array For i = 0 To 15 tKey(i) = Mid$(CDKey, i + 1, 1) Next i For i = 0 To 15 Step 2 c1 = InStr(CodeValues, tKey(i)) - 1 n = c1 * 3 c2 = InStr(CodeValues, tKey(i + 1)) - 1 n = c2 + n * 8 If n >= &H100 Then n = n - &H100 keyvalue = keyvalue Or r End If n2 = n n2 = n2 \ 16 tKey(i) = Hex$(n2) tKey(i + 1) = Hex$(n) r = r * 2 Next i 'Shuffling For i = 15 To 0 Step -1 C = Asc(tKey(i)) If i > 8 Then n = i - 9 Else n = &HF - (8 - i) End If n = n And &HF c2 = Asc(tKey(n)) tKey(i) = Chr$(c2) tKey(n) = Chr$(C) Next i 'Final Values V2 = &H13AC9741 For i = 15 To 0 Step -1 C = Asc(UCase$(tKey(i))) If C <= 55 Then tKey(i) = Chr$((((V2 And &HFF) And 7) Xor C)) V2 = V2 \ 8 ElseIf C < 65 Then tKey(i) = Chr$(((i And 1) Xor C)) End If Next i tStr = Join(tKey, vbNullString) Product = CLng("&H" & Left$(tStr, 2)) PublicValue = CLng("&H" & Mid$(tStr, 3, 6)) PrivateValue = CLng("&H" & Mid$(tStr, 9)) End Sub [/code] I got the encoding fine for the final values but I need a poke in the right direction as to how to 'unshuffle'. Any ideas plz? | December 1, 2005, 7:52 AM |
ThePro | I think you waste your time at all. If an original Starcraft CD has been created, the CD-Key which will land on the CD-Cover will be registred to bnet. Thats what I think, how Blizzard handle that, so it's impossible to calculate a working battle.net cd-key. | December 1, 2005, 2:48 PM |
Arta | Well, that's already been demonstrated not to be the case. | December 1, 2005, 3:51 PM |
Yegg | [quote author=ThePro link=topic=13318.msg135963#msg135963 date=1133448530] I think you waste your time at all. If an original Starcraft CD has been created, the CD-Key which will land on the CD-Cover will be registred to bnet. Thats what I think, how Blizzard handle that, so it's impossible to calculate a working battle.net cd-key. [/quote] Are you suggesting that a 13-digit variable (being the Starcraft key in this case) does not exist until it is put on a CD case and shipped from its warehouse? | December 1, 2005, 8:15 PM |
tA-Kane | [quote author=Yegg link=topic=13318.msg135984#msg135984 date=1133468123] [quote author=ThePro link=topic=13318.msg135963#msg135963 date=1133448530] I think you waste your time at all. If an original Starcraft CD has been created, the CD-Key which will land on the CD-Cover will be registred to bnet. Thats what I think, how Blizzard handle that, so it's impossible to calculate a working battle.net cd-key. [/quote] Are you suggesting that a 13-digit variable (being the Starcraft key in this case) does not exist until it is put on a CD case and shipped from its warehouse? [/quote]That's what I have believed for a very long while. though, it may be entirely false. Blizzard could have only the algorithm to verify that keys are valid instead of a database of which keys have been generated and distributed by them. It would be interesting to create a database of keys which are valid for install, but whose public values are known to not contain a matching valid private value which allows it onto Battle.net. Then, re-check the database every few months to see if any of them have changed from invalid to valid (even if being valid, theyv'e already been muted or jailed or whatever). | December 1, 2005, 8:25 PM |
Adron | [quote author=Ringo link=topic=13318.msg135991#msg135991 date=1133471461] [EDIT]: Removed post contents and PM'ed to arta :) (Could be classed as harmfull infomation) [/quote] Hmmm? Sounds like something interesting? | December 1, 2005, 9:43 PM |
Topaz | That's very possible, Kane; But if they do use an algorithm, then it's easy to generate working keys. After all, more than a million copies of Starcraft have been sold. | December 1, 2005, 11:34 PM |
Arta | I have replied :P Sorry, it's been a busy week. Feel free to repost my comments if you want. | December 3, 2005, 3:13 PM |
Kp | [quote author=Ringo link=topic=13318.msg136202#msg136202 date=1133621821]Maybe, it was mainly a observation to go with the data-base idea :P Arta hasnt replyed -- so im asumeing its nothing important, or an observation of somthing that was already known. On the data-base subject: If there was nothing more than a algorithm to generate valids cdkeys, it would mean blizzard possibly activated millions of valid cdkeys when they created the algorithm for SC keys, before they had even released a single copy of the game. And if there was just a algorithm, there would have to be some kind of data base to keep record of banned, muted and inuse keys. A 'CDKey' data base could do all of this, with out over confusing things and becoming messy. But lets say theres nothing more than a algorithm, how would blizzard beable to check if the cdkey is banned, void or inuse?[/quote] There's no reason they'd need to turn on all valid keys when they first ship. Suppose they have some function f such that f(public) = private. The server uses this function to check whether a key could possibly be valid. The server then has a second listing of what potentially valid keys are actually valid. For instance, they might say that only keys which have a public value in [2000,2000000) are valid, even though f can compute (and therefore be used to check) the validity of all keys, regardless of their public value. This listing of keys can be maintained much more cheaply than a full database, since it is just a set of ranges, not an enumeration of every key in the range. Such a scheme would also encourage the use of sequential public values for CDs stamped at the same time, since you then create only one range on the server. This in turn leads to several ways that they could keep the listing of banned/jailed/muted keys cheaply. For instance, a balanced binary tree where the key's public value is the key to the node and the action (jail, mute, ban) is the value of the node. If a key's value is not found in the tree, the default action is 'none': user has done nothing prohibited, so allow a full logon. This is just what I've come up with offhand. Blizzard had days, weeks, or maybe even months to pick out how they wanted to implement cdkey storage, and they still have the flexibility to change the underlying data structures since they never share the database or associated checking code. Also - why're you posting public messages telling Arta when you've replied to him? He can see it in the forum header, and the rest of us gain nothing from knowing which of you is waiting on the other to reply next. | December 3, 2005, 5:26 PM |
Arta | A calculation would be faster than a database for determining the correctness of the private. A binary tree would be a nice way to hold a list of banned/muted/inuse keys in memory. | December 3, 2005, 7:12 PM |
tA-Kane | [quote author=Kp link=topic=13318.msg136212#msg136212 date=1133630770] [quote author=Ringo link=topic=13318.msg136202#msg136202 date=1133621821]Maybe, it was mainly a observation to go with the data-base idea :P Arta hasnt replyed -- so im asumeing its nothing important, or an observation of somthing that was already known. On the data-base subject: If there was nothing more than a algorithm to generate valids cdkeys, it would mean blizzard possibly activated millions of valid cdkeys when they created the algorithm for SC keys, before they had even released a single copy of the game. And if there was just a algorithm, there would have to be some kind of data base to keep record of banned, muted and inuse keys. A 'CDKey' data base could do all of this, with out over confusing things and becoming messy. But lets say theres nothing more than a algorithm, how would blizzard beable to check if the cdkey is banned, void or inuse?[/quote] There's no reason they'd need to turn on all valid keys when they first ship. Suppose they have some function f such that f(public) = private. The server uses this function to check whether a key could possibly be valid. The server then has a second listing of what potentially valid keys are actually valid. For instance, they might say that only keys which have a public value in [2000,2000000) are valid, even though f can compute (and therefore be used to check) the validity of all keys, regardless of their public value. This listing of keys can be maintained much more cheaply than a full database, since it is just a set of ranges, not an enumeration of every key in the range. Such a scheme would also encourage the use of sequential public values for CDs stamped at the same time, since you then create only one range on the server. This in turn leads to several ways that they could keep the listing of banned/jailed/muted keys cheaply. For instance, a balanced binary tree where the key's public value is the key to the node and the action (jail, mute, ban) is the value of the node. If a key's value is not found in the tree, the default action is 'none': user has done nothing prohibited, so allow a full logon. This is just what I've come up with offhand. Blizzard had days, weeks, or maybe even months to pick out how they wanted to implement cdkey storage, and they still have the flexibility to change the underlying data structures since they never share the database or associated checking code.[/quote]Using a balanced AVL tree (see: here) for that is a pretty neat concept, but why not just use something a little easier to sync with other servers on the same gateway? Eg, SQL? And yes, Ringo... a binary tree will work better & faster in C++ (actually, I'd venture a guess that anything would work better & faster in C++ than in VB). | December 3, 2005, 7:37 PM |
Kp | [quote author=tA-Kane link=topic=13318.msg136225#msg136225 date=1133638656]Using a balanced AVL tree (see: here) for that is a pretty neat concept, but why not just use something a little easier to sync with other servers on the same gateway? Eg, SQL? And yes, Ringo... a binary tree will work better & faster in C++ (actually, I'd venture a guess that anything would work better & faster in C++ than in VB).[/quote] SQL sounds like a perfectly workable solution as well, though keeping it in a local data structure could give better search performance (assuming a good data structure is used in both cases, so SQL has the necessary overhead of querying the remote server). Automatic synchronization would be a definite plus for having it centralized, but they can reduce network load and code complexity by keeping it local. It's all about trade-offs. :) [quote author=Ringo link=topic=13318.msg136236#msg136236 date=1133643919]*wunders how smart blizzard were in 97* ::)[/quote] For the purpose of keeping the list of disallowed keys, it doesn't matter how smart they were when they implemented it. As I noted above, they don't grant outside access to it, so they're theoretically free to change the internal structure whenever they want. | December 3, 2005, 10:14 PM |
Arta | For the record, I think they were considerably smarter in '97 than they are now. I think a lot of the people behind battle.net left. | December 4, 2005, 12:47 AM |
rabbit | Has anyone looked at Blizzard's site recently? Most of their news is "New Job Opening" stuff... | December 4, 2005, 1:32 AM |
Quarantine | D2 team broke off into many projects like Hellgate: London. Don't know about SC Team. What makes this hard is since they left no one knows where shit is in the code (which may contribute to some bugs that have happened) | December 4, 2005, 3:38 AM |
rabbit | All of those are 7xx7xxxxxxxx*...hrm? | December 5, 2005, 1:47 AM |
FrOzeN | With a little closer look they all are 7x17xx3xx4xxx* [EDIT] Looking some more any that have the second digit a '3' have the twelfth as a '9', and any with the second digit a '8' or '9' have the twelfth a '4'. | December 5, 2005, 2:14 AM |
rabbit | A small block in particular, [quote]7917843934646 7917873924743 7917883324245 7917883674340 7917893754140[/quote] All 79177x3x4x4* Grah? | December 5, 2005, 3:44 AM |
Spht | [quote author=Ringo link=topic=13318.msg136371#msg136371 date=1133729871] Uh, i just figgered somthing out, and noticed there can be 7XXXXXXXXXXXX* keys as well[/quote] Congrats. Keep it up. [quote author=FrOzeN link=topic=13318.msg136406#msg136406 date=1133748880] With a little closer look they all are 7x17xx3xx4xxx* [EDIT] Looking some more any that have the second digit a '3' have the twelfth as a '9', and any with the second digit a '8' or '9' have the twelfth a '4'. [/quote] So...? | December 5, 2005, 3:50 AM |
FrOzeN | [quote author=Spht link=topic=13318.msg136424#msg136424 date=1133754635] [quote author=Ringo link=topic=13318.msg136371#msg136371 date=1133729871] Uh, i just figgered somthing out, and noticed there can be 7XXXXXXXXXXXX* keys as well[/quote] Congrats. Keep it up. [quote author=FrOzeN link=topic=13318.msg136406#msg136406 date=1133748880] With a little closer look they all are 7x17xx3xx4xxx* [EDIT] Looking some more any that have the second digit a '3' have the twelfth as a '9', and any with the second digit a '8' or '9' have the twelfth a '4'. [/quote] So...? [/quote] I was just elaborating on what rabbit said. The stuff in the edit was just a assumption which spiked a bit of curiosity on the list. | December 5, 2005, 4:08 AM |
GoaL | Here's what you may think is a stupid question, but why doesn't someone just for the hell of it, make a program that trys out 0000000000000 - 9999999999999 on the Starcraft Installer. Of course they wouldn't ALL be working on battle.net. But couldn't you then take that list and get better information from that. My personal idea is to do that, take that list, create a key tester and proxie scanner, then have the key tester update it's proxie list every 10 key tries, and have the proxie scanner append the proxie list with every new proxie, and let it run 24/7/365 on my windows server. If anyone would like to code this sort of program I would be more then happy to run it on my server. I do believe it would get better results then all of this guessing, it would give you a better portion of data to research on. | December 5, 2005, 11:53 AM |
laurion | [quote author=GoaL link=topic=13318.msg136451#msg136451 date=1133783604] Here's what you may think is a stupid question, but why doesn't someone just for the hell of it, make a program that trys out 0000000000000 - 9999999999999 on the Starcraft Installer. Of course they wouldn't ALL be working on battle.net. But couldn't you then take that list and get better information from that. My personal idea is to do that, take that list, create a key tester and proxie scanner, then have the key tester update it's proxie list every 10 key tries, and have the proxie scanner append the proxie list with every new proxie, and let it run 24/7/365 on my windows server. If anyone would like to code this sort of program I would be more then happy to run it on my server. I do believe it would get better results then all of this guessing, it would give you a better portion of data to research on. [/quote] Joe's sckmg. | December 5, 2005, 12:08 PM |
JoeTheOdd | [quote author=Tazo link=topic=13318.msg136452#msg136452 date=1133784493] [quote author=GoaL link=topic=13318.msg136451#msg136451 date=1133783604] Here's what you may think is a stupid question, but why doesn't someone just for the hell of it, make a program that trys out 0000000000000 - 9999999999999 on the Starcraft Installer. Of course they wouldn't ALL be working on battle.net. But couldn't you then take that list and get better information from that. My personal idea is to do that, take that list, create a key tester and proxie scanner, then have the key tester update it's proxie list every 10 key tries, and have the proxie scanner append the proxie list with every new proxie, and let it run 24/7/365 on my windows server. If anyone would like to code this sort of program I would be more then happy to run it on my server. I do believe it would get better results then all of this guessing, it would give you a better portion of data to research on. [/quote] Joe's sckmg. [/quote] =). I'll probablly port that to VC++ either in class today or when I get home. | December 5, 2005, 1:09 PM |
Arta | [quote author=GoaL link=topic=13318.msg136451#msg136451 date=1133783604] Here's what you may think is a stupid question, but why doesn't someone just for the hell of it, make a program that trys out 0000000000000 - 9999999999999 on the Starcraft Installer. Of course they wouldn't ALL be working on battle.net. But couldn't you then take that list and get better information from that. My personal idea is to do that, take that list, create a key tester and proxie scanner, then have the key tester update it's proxie list every 10 key tries, and have the proxie scanner append the proxie list with every new proxie, and let it run 24/7/365 on my windows server. If anyone would like to code this sort of program I would be more then happy to run it on my server. I do believe it would get better results then all of this guessing, it would give you a better portion of data to research on. [/quote] The means by which the installer validates keys is well understood. There's no particular need to try a bruteforce in that range, because we already know which keys will pass the installer and which won't. Bruteforcing all valid keys using a connection to Battle.net would take a very long time: there are 10^9, or 1,000,000,000 possible combinations (not 10^10 as stated earlier! Oops.) This would take a very long time to test, and I daresay that someone at Blizzard might notice. Figuring out the algorithm is (a) more interesting, and (b) more useful. That said, I rather agree that all this guessing isn't very useful unless these observations are placed in the perspective of some theory and tested. | December 5, 2005, 3:48 PM |
GoaL | So we already know the exact check the installer uses, then why not as I said run 0000000000000-9999999999999 through it, someone give me a list and i'll start testing lol?. I'm sure once i have a list of a few million real keys. It would be alot easier for research. | December 6, 2005, 4:03 AM |
GoaL | I just had a program made in C++ that takes 0000000000000-9999999999999 and throws them through to make sure they are valid (only to install with), then output's to a key file. I cannot say who made it, but 20 hours and it will list every key. Anyone like to comment on this, and tell me what they think I should do? | December 6, 2005, 10:15 AM |
FrOzeN | About 3 hours ago I tried the same thing with my code being: [code]#include <iostream.h> #include <stdio.h> int main () { FILE * pFile; long i; cout << "Press enter to start." << endl; cin.get(); cout << "Making CdKey list..." << endl; pFile = fopen ("cdkeylist.txt","w"); for (i = 0; i < 9999999999999; i++) { fprintf (pFile, "%013d\n", i); } fclose (pFile); cout << "\nFinished."; cin.get(); return 0; }[/code] Though I remembered after that a Long isn't 'that' long and there's no basic cd-key validation or anything. Seems kind of stupid idea. Here's what my file looked like after 2 and a 1/2 hours when I decided to close it: [img]http://img214.imageshack.us/img214/3542/cdkeylist3eg.jpg[/img] I had just posted a topic about it on StealthBot.net here, oh well. [EDIT] I realise this may be irrelevant, if so delete it. | December 6, 2005, 10:32 AM |
LordNevar | There's quite a few programs out there that will generate every possible set of 13 digit numbers in a specific range. Which is pointless cause that is not what is trying to be done here. That would take way too long, and would take way too many resources to check all those possibilities. Sure it can be done but with alot of work and time consumption. Also let me see you check that many key's against B.net without them catching on..... The whole point of what is trying to be done is to figure out how it is being done. Not let's make a list and just find them all with the process of elimination. There's a specific combination for every key string, and yes Ringo and some others are noticing it. Every set of numbers is staged with the same number marking a dividing spot in the key string. This number is used to calculate the ending number in a certain multiple and is also used to derive the outcome of the public key, and the private key. Although this is the case, actually generating the right key group is still not worth it. True you will find valid key's, but you will also find that they are valid cause they are purchased copies and belong to other people. After alot of research and trial and error, I have come to a base conclusion, that as someone stated before a key is only valid when it is put on the case. In my results from testing this is very possible. I took a generated list of keys that I did not have in any prior lists, and ran a test on them for a week. Out of each one of the 200 keys tested approximately (71) were invalid, (14) were voided, (23) were muted, (45) were banned, and (47) of them fell in use by different people. Either coicindental or not still doesn't deafeat the fact that even if I am wrong which is still very plausible, you are still going to end up with someone elses key. You need to look at all the possible outcomes of keys, and all the people that actually own a copy. True the odds of you always finding a key inuse is slim but it is still possible. Now I tested a small list of 200 and of those 200 (129) were used at one point or at the present. This list was only tested on the west realm. | December 6, 2005, 1:09 PM |
JoeTheOdd | Frozen, unsigned long long. As Arta said, the installer verification is very well understood. The code disassembled right from the installer is.. [code] mov eax, 3 mov esi, ecx mov ebp, edx xor ecx, ecx Top: movsx edx, byte ptr [ecx+esi] sub edx, 30h lea edi, [eax+eax] xor edx, edi add eax, edx inc ecx cmp ecx, 0Ch jl short Top xor edx, edx mov ecx, 0Ah div ecx movsx eax, byte ptr [esi+0Ch] movsx edx, dl add edx, 30h cmp eax, edx jnz bottom mov eax, 1 retn 8 bottom: xor eax, eax retn 8[/code] In C++, its.. [code]bool verifyStarcraftCDKey(char *cdkey) { int accum = 3; for(int i = 0; i < 13; i++) accum += ((cdkey[i] - '0') ^ (accum * 2)); return ((accum % 10) == (cdkey[13] - '0')); }[/code] In SCKMG, I've modified this function to checksum the first 12 digits of the CD-Key and return the last one. That way instead of verifing ten, we generate one, and end up running ten times as fast. | December 6, 2005, 1:14 PM |
kamakazie | Argh. As someone already pointed out, stop looking at encoded cdkeys. You're not going to get anywhere. You guys should be look at the public and private value relationship *after* decoding the cdkeys. A good experiment to run is try to find all public values that map to the same private value (i.e. public values ranging [0, 9999999] and a private value of 1). Note: this would require hammering the battle.net servers but seems doable with enough proxies. | December 6, 2005, 5:26 PM |
Arta | You won't get anywhere significant, nor will you arrive at a decent understanding of the mechanisms involved, without concentrating your efforts on decoded keys. | December 7, 2005, 12:27 AM |
GoaL | Well, my way of thinking through it, is: If I have every key in a list, then I could do equations, and I would have the result, like ... 1x + 2 = 6, I have the end result, which makes figuring out the equation a bit easier, and maybe I read it wrong but I believe one of the posts said something along the lines as I only have 0000000000000-9999999999999, I do not, they are all being ran through the installer's check. Then that list I will use MANY proxies and check 1000 out of each range , 1*,2*, etc. | December 7, 2005, 3:50 AM |
GoaL | The list is finished, it is only 1.39 GB. I have uploaded it to a site, if anyone want's it, let me know. I do believe I can get a good number of keys ringo, I get a few thousand proxies per scan, and I and another person are working on a key tester in C++, I am going to incoporate the key tester with the proxie scanner, so they work together, then allow that to run 24/7 on my windows server. | December 7, 2005, 4:10 AM |
Arta | lol :) | December 7, 2005, 5:11 AM |
GoaL | Of the entire list, or of 1000 of each range? | December 7, 2005, 11:30 AM |
JoeTheOdd | [quote author=GoaL link=topic=13318.msg136693#msg136693 date=1133955046] Of the entire list, or of 1000 of each range? [/quote]I don't claim to be an expert mathematician, but anyone knows that percents stay the same no matter how many things there is total. Ringo, if they pound the server with, say, 1000 keys per second, they could be done in about I week, methinks. Probably a lot faster. As for wrong products, is there any way to have an invalid product other than the product of 1? | December 7, 2005, 1:11 PM |
GoaL | Hmmm, best I can do is about 1000 proxies, but I'm waiting on my tester in c++ to be finished because VB can't handel 1.39GB. | December 7, 2005, 1:23 PM |
tA-Kane | The forum's reply with quote is broken for me. :( VB doesn't support 1.39GB files? That surprises me. I wouldn't be surprised if it didn't support 2.0GB files, though... or even 1.99GB. I wonder what its limit is, then? | December 7, 2005, 1:30 PM |
UserLoser. | [quote author=Ringo link=topic=13318.msg136724#msg136724 date=1133975035] [quote author=Joe link=topic=13318.msg136698#msg136698 date=1133961062] I don't claim to be an expert mathematician, but anyone knows that percents stay the same no matter how many things there is total.[/quote] Nore do i :P I have a calculator. [quote="Joe"] Ringo, if they pound the server with, say, 1000 keys per second, they could be done in about I week, methinks. Probably a lot faster.[/quote] Thats a big if :P [quote author=GoaL link=topic=13318.msg136693#msg136693 date=1133955046] Of the entire list, or of 1000 of each range? [/quote] The whole list. 980,000,000,000 wrong product 19,980,000,000 invalid 20,000,000 valid I think that makes 98% wrong product, 1.998% invalid and 0.002% valid? [/quote] Hmm...my list now consists of ~36000 Starcraft CdKeys...where only so far 11000 or so of them are sequential (based on public value) :P Here's 20 of my CdKeys, maybe it could help you guys: 3300650087719 (1-03230230-669) 3300040017812 (1-03230231-080) 3300870047616 (1-03230232-965) 1316200251637 (1-03230233-764) 1316570261337 (1-03230234-037) 3300300097518 (1-03230235-348) 1316150261038 (1-03230236-407) 1316540201039 (1-03230237-001) 2162582601910 (1-03230238-591) 3300390027718 (1-03230239-673) 3300950727612 (1-03230240-863) 3300040787317 (1-03230241-029) 1316010511431 (1-03230242-540) 2162132191911 (1-03230243-098) 1316170551535 (1-03230244-454) 3300200787117 (1-03230245-209) 1316450541531 (1-03230246-155) 1316340551330 (1-03230247-634) 3300680707216 (1-03230248-321) 2162892171613 (1-03230249-966) I'm suprised none of you pattern finding people figured out the pattern with the private value on the original CdKey. It's nothing really special, but eh. xxxxAxxxBxCxx. ABC are all based on the private value. For example, any key that has private of 999 will have A=8, B=8, C=9, 998 will have A=8, B=9, C=9 and so on as my example list shows: 0129893391921 (1-03297129-998) 0226883991973 (1-03237388-998) 0226893891968 (1-03236399-998) 2414895791939 (1-00076469-998) 0409891597988 (1-03299449-998) 0629873891932 (1-03296696-998) 0729843691998 (1-03298265-998) 0825813990909 (1-03300880-998) 4101803792967 (1-03305471-998) 2826835493962 (1-03253842-998) 2629855593968 (1-03295354-998) 2820815393925 (1-03237830-998) 2626865993946 (1-03251687-998) 2826825293969 (1-03253823-998) 0820893791949 (1-03254869-998) 0920823591989 (1-03259953-998) 0920893191979 (1-03257909-998) 0970873794980 (1-06759976-998) 2716875893913 (1-00254796-998) 2329835393943 (1-03297632-998) 2326815993960 (1-03253380-998) 2326845193992 (1-03258615-998) 2327845193995 (1-03248615-998) 2329815393901 (1-03293630-998) 2920815793948 (1-03231970-998) 2926845693933 (1-03256965-998) 2927835293946 (1-03241922-998) 2927865693936 (1-03246967-998) 4004853193921 (1-03251514-998) 4005853693941 (1-03247564-998) 4102803793932 (1-03230471-998) 4202803793902 (1-03233771-998) 4304863093919 (1-03252607-998) 4405863393947 (1-03247137-998) 4502843293939 (1-03230025-998) 4504843393916 (1-03252035-998) 4505833093900 (1-03243002-998) 4604863793900 (1-03253377-998) 0009871987992 (1-03298086-999) 0029873981927 (1-03297086-999) 2857875782974 (1-04342876-999) 4204843183916 (1-03252715-999) 4661843082926 (1-05301305-999) 0629873281991 (1-03298326-999) 0729843381992 (1-03298235-999) 0825873980913 (1-03301886-999) 2961881983992 (1-03308988-999) 2827815783958 (1-03240870-999) 2420855983953 (1-03230484-999) 0326853881993 (1-03238394-999) 0809841087987 (1-03299805-999) 0909871887956 (1-03295996-999) 0926893381907 (1-03230929-999) 2129865483962 (1-03295447-999) 2904811989985 (1-05849980-999) 2227895483953 (1-03240259-999) 2220825283997 (1-03238723-999) 2720885383975 (1-03232728-999) 2826845583970 (1-03252855-999) 2827845283907 (1-03245825-999) 2926875083968 (1-03253906-999) 4302853583961 (1-03235654-999) 4404833683905 (1-03253162-999) 4604853583922 (1-03251354-999) 4605833483962 (1-03245342-999) 4704843483950 (1-03256245-999) 4705813183948 (1-03247210-999) 4705843383914 (1-03242235-999) | December 7, 2005, 10:02 PM |
LordNevar | [quote author=Ringo link=topic=13318.msg136748#msg136748 date=1133993728] [quote author=UserLoser link=topic=13318.msg136746#msg136746 date=1133992958] I'm suprised none of you pattern finding people figured out the pattern with the private value on the original CdKey. It's nothing really special, but eh. xxxxAxxxBxCxx. ABC are all based on the private value. For example, any key that has private of 999 will have A=8, B=8, C=9, 998 will have A=8, B=9, C=9 and so on as my example list shows: [/quote] What makes you think i hadnt? :) [/quote] Agreed ;) | December 8, 2005, 12:59 AM |
GoaL | Well, VB i'm sure can handel it, but ... not as well as i would like. If anyone has a cdkey tester in C++, please tell me. The one that was getting made, well... most likely isn't. Can't someone find a pattern finding program, or make one, then run the list through it? (the way i put it sounds so childish... but yeah ... you know what i mean) | December 8, 2005, 6:19 AM |
Kp | The problem with trying to determine the algorithm from examining the patterns is that you have no constraints on the nature of the algorithm. In particular, you don't know the order of the algorithm, whether it has logarithms or trigonometric functions involved, or the values of the multipliers in the equation. Since the only goal for this algorithm is that it be reasonably efficient to compute on the server, Blizzard could've chosen any equation they wanted to relate public and private values. | December 8, 2005, 7:28 AM |
laurion | which makes a pattern finding program nonexistant, or impossible to make. If it did exist, I'm sure that everyone would have 5000 keys or whatever.. | December 8, 2005, 8:16 PM |
Arta | Extremely difficult. Not impossible. A discernable pattern may exist. | December 9, 2005, 2:42 AM |
LordNevar | Let's see who else noticed that his 998-999 all begin with even numbers, and the rest begin with odd and even. That the 11th digit is always the second number in the private value. Also take notice on some of the private values on the odd number keys, you will notice something changes with the 11th digit in some of the keys. This DOES NOT happen with real Even working Keys. This only happens with odd keys. I have not noticed a difference in working and non odd keys. | December 11, 2005, 3:09 AM |
JoeTheOdd | When SCKMG generated all valid (by installer check) CD-Keys, the resulting file was about 4GB. | December 13, 2005, 5:00 AM |
LordNevar | After further testing I have noticed something with all private values of 998, not only do all keys with a private value of 998 begin with even numbers, the 10th digit is always 1. I have tested this with 200 working bnet keys with a private value of 998, and every key has had the 1. I have not found any other key with something other than a 1 to work. Note: The public value must be within a certain range. Any public value outside this range will be invalid. | December 13, 2005, 12:52 PM |
UserLoser. | [quote author=LordNevar link=topic=13318.msg137385#msg137385 date=1134478343] After further testing I have noticed something with all private values of 998, not only do all keys with a private value of 998 begin with even numbers, the 10th digit is always 1. I have tested this with 200 working bnet keys with a private value of 998, and every key has had the 1. I have not found any other key with something other than a 1 to work. Note: The public value must be within a certain range. Any public value outside this range will be invalid. [/quote] 10th digit of 2826835493962 isn't 1. | December 13, 2005, 9:23 PM |
LordNevar | Didn't say it was improbable that it couldn't be something other than a 1, I just happened to notice that the 10th digit on the one's I had were 1. Although yours is a 3, it would be interesting to know if you have any with an even number there instead of an odd with the same public and private range. | December 14, 2005, 12:35 AM |
QwertyMonster | On the subject of 'odd and even' numbers, maybe all valid ones have an odd number for the 10th digit? I haven't tested this, i'm only suggesting.. Anybody care to test this? | December 14, 2005, 4:05 PM |
shadypalm88 | [quote author=Saphire link=topic=13318.msg137602#msg137602 date=1134576323] On the subject of 'odd and even' numbers, maybe all valid ones have an odd number for the 10th digit? I haven't tested this, i'm only suggesting.. Anybody care to test this? [/quote]Why are you looking at the digits of the encoded key? | December 14, 2005, 4:41 PM |
QwertyMonster | Umm, i didn't say i was. I was just commenting on UserLoser's and LordNevar's post.. :-\ | December 14, 2005, 4:44 PM |
JoeTheOdd | I got bored. Hopefully this helps someone. Merry Christmas! [code]/* * StarCraft CD-Key Generator * Author: Joe[e2] * References: iago[x86]'s JavaOp1 * Date: 26 December 2005 * Merry Christmas! * * Checks if the CD-Key is valid using the installers algorithm, and then * checks the product value to make sure it's 0x1. */ public class Main { public static void main(String args[]) { String cdkey = ""; int invalid = 0; Math.random(); // It always returns 0 the first time, because it just creates the generator. while(true) { cdkey = installerFinish(makeRandomKey()); if(isValid(cdkey)) { System.out.println("Starcraft CD-Key: " + cdkey); System.out.println("[DEBUG] Invalid CD-Keys: " + String.valueOf(invalid)); System.exit(0); } else { invalid++; } } } /** * Checks if a CD-Key is valid * @param cdkey: 13-digit CD-Key * @return: Validity */ static boolean isValid(String cdkey) { if(cdkey == null) { // CD-Key is missing return false; } if(cdkey.length() != 13) { // CD-Key is invalid length return false; } if(installerVerify(cdkey) == false) { // CD-Key checksum doesn't match check digit return false; } if(getProductValue(cdkey) != 1) { // CD-Key has invalid product value return false; } // CD-Key is valid length, checksum matches, and has correct product value return true; } /** * Create a random CD-Key * @return: a 12-character string of random integers * NOTE: Pass this to installerFinish() to create the actual key! */ static String makeRandomKey() { String ret = ""; for(int i = 0; i < 12; i++) { ret += String.valueOf(String.valueOf((char)(Math.random() * 10 + 0x30))); } return ret; } /** * Verifies a StarCraft CD-Key identical to the installer's method * @param cdkey: The CD-Key to verify * @return: Validity. */ static boolean installerVerify(String cdkey) { int accum = 3; for(int i = 0; i < (cdkey.length() - 1); i++) { accum += ((cdkey.charAt(i) - '0') ^ (accum * 2)); } return ((accum % 10) == (cdkey.charAt(12) - '0')); } /** * Finishes a 12-digit CD-Key. * @param cdkey: 12-digit key to checksum and finish * @return: 13-digit key */ static String installerFinish(String cdkey) { int accum = 3; for(int i=0; i < (cdkey.length() - 1); i++) { accum += ((cdkey.charAt(i) - '0') ^ (accum * 2)); } return cdkey + String.valueOf(accum % 10); } /** * Retreives the product value of a CD-Key * @param cdkey: The CD-Key to get the product value from * @return: The product value of the CD-Key */ static int getProductValue(String cdkey) { return Integer.parseInt(cdkey.substring(0, 2)); } }[/code] | December 27, 2005, 12:30 AM |
l2k-Shadow | Just so you know, there are also valid keys with product value of 2. https://davnit.net/bnet/vL/index.php?topic=13318.msg135710#msg135710 EDIT: Also I notice you're not even decoding the key. You have to actually decode the key to get the first 2 places of the key to determine the product value. Or is there something I'm missing? | December 27, 2005, 11:16 PM |
JoeTheOdd | Yeah, I didn't realize that until after I wrote that. =p | December 29, 2005, 1:44 PM |
GoaL | I have a program under development that is about 65% done, it is in C++ http://www.grimhosting.com/grim`mass - Check it out. I'm going to put the list of 1.39GB of keys I have (after using the check the installer uses and running 0000000000000-9999999999999 through it) and let it just run, it auto-refreshes proxies and i'm going to have a scanner running 24/7 outputting the the bot's proxie file. I'll post the results here. | December 31, 2005, 3:15 PM |
JoeTheOdd | [quote author=GoaL link=topic=13318.msg139944#msg139944 date=1136042125] I have a program under development that is about 65% done, it is in C++ http://www.grimhosting.com/grim`mass - Check it out. I'm going to put the list of 1.39GB of keys I have (after using the check the installer uses and running 0000000000000-9999999999999 through it) and let it just run, it auto-refreshes proxies and i'm going to have a scanner running 24/7 outputting the the bot's proxie file. I'll post the results here. [/quote] On a Linux box, that 1.39GB list can be created by using the command "sckmg > /home/joe/keys.txt", after downloading and building sckmg. | December 31, 2005, 9:37 PM |
Trejo | [quote author=GoaL link=topic=13318.msg139944#msg139944 date=1136042125] I have a program under development that is about 65% done, it is in C++ http://www.grimhosting.com/grim`mass - Check it out. I'm going to put the list of 1.39GB of keys I have (after using the check the installer uses and running 0000000000000-9999999999999 through it) and let it just run, it auto-refreshes proxies and i'm going to have a scanner running 24/7 outputting the the bot's proxie file. I'll post the results here. [/quote] That's really not a good plan. It'll probably take you a few years or so to complete... | December 31, 2005, 11:12 PM |
GoaL | It's not just a list from 0000000000000-9999999999999 it's all them run through the check the installer uses then discarding the ones that don't meet the check. So how do you figure that so joe? | January 1, 2006, 2:15 PM |
Arta | Many of them will have the wrong product value. This has already been discussed. If you want to do this, you should create valid decoded keys and then encode them for testing. | January 1, 2006, 4:40 PM |
Lenny | I haven't gone through all the pages, but the only feasable way I see this problem can be approached is statistically. No one is going to find the something that generates keys at a 100% success rate. But I'm not sure why this post was ignored. IMO, this is very useful. [quote author=dxoigmn link=topic=13318.msg134968#msg134968 date=1132626362] [quote author=MyndFyre link=topic=13318.msg134960#msg134960 date=1132621056] Is value 1 always equal to value 2? At a glance it appears to. Or is this a bug in your output? [/quote] No it's a bug. I have generated a csv file full of these cdkeys and their public/private/product values in decimal. One thing I noticed is the private values range from [0, 999], and the public values range from [1111, 7405972]. So brute force of the private value given the cdkey hash is extremely easy if the range holds true for all cdkeys. Edit: I have generated some scatter plots of the data. Public vs Private for Product Id = 1 [img]http://img507.imageshack.us/img507/7166/cdkey10bs.th.jpg[/img] There is a big ass line going down the middle. Interesting. Public vs Private for Product Id = 2 [img]http://img378.imageshack.us/img378/5091/cdkey21ls.th.jpg[/img] This is even more interesting. Might just be bad data though. [/quote] Let's assume if dxoigmn had the entire population to graph that it would follow the pattern in the second graph giving it solid lines. Now if the public and private values fell on those lines, wouldn't it have a much higher chance of being valid than it falling somewhere else? So this might be worthwhile to check on a decoded key (I haven't worked on anything Bnet in a very long time, so I won't be testing this): -If it's one of the 10 public values seen in the second graph -Because for each public value, there are 200 private values (integers only), check if the associated private value falls in the 300-400 range or the 600-700 range Now one of you has generated a list of decoded CDkeys that can verify or prove this inference wrong, since the population in that list is bound to include invalid bnet keys. If you were to graph it and the same pattern arose, then what I have said is useless.... One problem I already see if all valid keys were to follow that pattern, there would only be at most 200,000 valid keys in existence on Bnet. But maybe we don't have the entire population. It's very possible that Bnet uses multiple CDkey algorithms. Or (if 9 million copies of SC were sold according to wikipedia), Bnet has been banning 45 people for every one CDkey ;D, which people wouldn't really notice. | January 2, 2006, 8:39 PM |
UserLoser | What program was used to create those graphs? I have 35151 CdKeys that should be graphed...could be helpful ;). A few thousand are sequential via public value...And I even have keys with public values 2-9..that's interesting, eh? :) | January 3, 2006, 7:43 AM |
PaiD | UL: I thought you where against this? | January 3, 2006, 2:02 PM |
GoaL | So wait, if I was to input my 1.39GB of keys into that.... wouldn't the graph that gives me/everyone be like the exact values needed? | January 3, 2006, 4:15 PM |
kamakazie | [quote author=UserLoser link=topic=13318.msg140228#msg140228 date=1136274184] What program was used to create those graphs? I have 35151 CdKeys that should be graphed...could be helpful ;). A few thousand are sequential via public value...And I even have keys with public values 2-9..that's interesting, eh? :) [/quote] excel | January 3, 2006, 4:26 PM |
GoaL | Figures, has to be one I don't have. >:( | January 3, 2006, 4:34 PM |
Lenny | Could someone generate a small list (500 or so) of cdkeys with their public and private values (with a product ID of 2) based off the installer check only? This way I can determine if the trends in dxoigmn graph are useful or not... | January 3, 2006, 8:03 PM |
GoaL | How bout all of them? 0000000000000-9999999999999 with installer check? :-D ? | January 3, 2006, 8:07 PM |
UserLoser | [quote author=Lenny link=topic=13318.msg140283#msg140283 date=1136318617] Could someone generate a small list (500 or so) of cdkeys with their public and private values (with a product ID of 2) based off the installer check only? This way I can determine if the trends in dxoigmn graph are useful or not... [/quote] How about 900? Check PM. | January 3, 2006, 9:18 PM |
kamakazie | [quote author=Lenny link=topic=13318.msg140283#msg140283 date=1136318617] Could someone generate a small list (500 or so) of cdkeys with their public and private values (with a product ID of 2) based off the installer check only? This way I can determine if the trends in dxoigmn graph are useful or not... [/quote] Not going to do you any good. | January 3, 2006, 9:21 PM |
Lenny | Here is the figure generated from the data UL sent me (thanks UL). As you can see, the graph shows that the private values range from 0-1000 when invalid keys are included. From I have now, it's fair to conclude that if the private value does not fall in the 300-400 range or the 600-700 range, it's not valid to Bnet. Also, to correct my earlier post, I have found that there is a unique public value assigned to every cdkey (or at least there is for the csv file dxoigmn posted) (thanks dxoigmn). But this unique public value only spans certain ranges, the lines in dxoigmn's figure are actually blocks which represent those number ranges. Because the resolution of the x axis is so high, they only appear to be lines. My figure shows one of those 20 blocks. | January 3, 2006, 10:05 PM |
JoeTheOdd | GoaL, I hate to break it to you, but I'm not stupid. If you would be so kind as to look at SCKMG, you'd realize that I've already done exactly what you're telling me I should be doing. | January 3, 2006, 10:28 PM |
Lenny | Out of curiosity, what product has a product value of 2 anyway? | January 3, 2006, 11:42 PM |
MysT_DooM | 0001600833174 has a product value of 2 questionΨ is it true that there are 2 keys for every public / private value? | January 4, 2006, 4:10 AM |
UserLoser | [quote author=Lenny link=topic=13318.msg140297#msg140297 date=1136325911] Here is the figure generated from the data UL sent me (thanks UL). As you can see, the graph shows that the private values range from 0-1000 when invalid keys are included. From I have now, it's fair to conclude that if the private value does not fall in the 300-400 range or the 600-700 range, it's not valid to Bnet. Also, to correct my earlier post, I have found that there is a unique public value assigned to every cdkey (or at least there is for the csv file dxoigmn posted) (thanks dxoigmn). But this unique public value only spans certain ranges, the lines in dxoigmn's figure are actually blocks which represent those number ranges. Because the resolution of the x axis is so high, they only appear to be lines. My figure shows one of those 20 blocks. [/quote] Hmm? My list has a CdKey for every private value, so that draws a line through the idea about 300-400 and 600-700 range, unless I am misunderstanding what you mean. Also it ranges 0-999. All those CdKeys should be valid, too. | January 4, 2006, 6:19 AM |
laurion | something about that last post tells me ringo has a lot of cdkeys :P | January 4, 2006, 5:34 PM |
LoRd | There is no sister key. | January 4, 2006, 5:37 PM |
LoRd | [quote author=Ringo link=topic=13318.msg140485#msg140485 date=1136396750] [quote author=Lord[nK] link=topic=13318.msg140481#msg140481 date=1136396223] There is no sister key. [/quote] Really? [tt] [color=teal]3000617[/color] [color=Orange]708[/color] [color=Red]02[/color] [color=yellow]0703720295112[/color] [color=teal]3000617[/color] [color=Orange]782[/color] [color=Red]01[/color] [color=yellow]3703720235814[/color] [color=teal]3000618[/color] [color=Orange]136[/color] [color=Red]02[/color] [color=yellow]0703480275315[/color] [color=teal]3000618[/color] [color=Orange]503[/color] [color=Red]01[/color] [color=yellow]3703080225010[/color] [color=teal]3000619[/color] [color=Orange]051[/color] [color=Red]02[/color] [color=yellow]0703590205518[/color] [color=teal]3000619[/color] [color=Orange]234[/color] [color=Red]01[/color] [color=yellow]3703790255316[/color] [/tt] [/quote] Those keys have no direct relation with each other than the fact that they share the same public values thus it is not a brother/sister relationship. Here's a question: Have all the keys that you've found to have a product ID of 0x02 been obtained through bruteforce? | January 4, 2006, 6:11 PM |
LoRd | [quote author=Ringo link=topic=13318.msg140488#msg140488 date=1136399003] [quote="Lord[nK]"] Here's a question: Have all the keys that you've found to have a product ID of 0x02 been obtained through bruteforce? [/quote] Yes, about 1% of all valid keys so far. (about 200k+) [/quote] I've never seen a valid StarCraft key with a product value of 0x02 in all my years of work with Battle.net-related projects (has anyone else?) which is why I find this odd. I wonder if these keys are even in production? | January 4, 2006, 6:26 PM |
GoaL | Ok, a few things. First, you all will think I am a complete newb, but I'd like to think I'm not, but can someone explain to me what exactly the public / private / product values are, and what they are for? Also, if you were to take all the possible keys (like a list ran threw the installer) Then put them into a skatter plot, but arranging them by the 3 things that determine them, the numbers are so great and random, wouldn't that just give you like a non-ending dot-to-dot? | January 4, 2006, 6:33 PM |
UserLoser | [quote author=Lord[nK] link=topic=13318.msg140489#msg140489 date=1136399205] [quote author=Ringo link=topic=13318.msg140488#msg140488 date=1136399003] [quote="Lord[nK]"] Here's a question: Have all the keys that you've found to have a product ID of 0x02 been obtained through bruteforce? [/quote] Yes, about 1% of all valid keys so far. (about 200k+) [/quote] I've never seen a valid StarCraft key with a product value of 0x02 in all my years of work with Battle.net-related projects (has anyone else?) which is why I find this odd. I wonder if these keys are even in production? [/quote] I have seen many. I have many. | January 4, 2006, 9:09 PM |
Arta | [quote author=Ringo link=topic=13318.msg140485#msg140485 date=1136396750] [quote author=Lord[nK] link=topic=13318.msg140481#msg140481 date=1136396223] There is no sister key. [/quote] Really? [tt] [color=teal]3000617[/color] [color=Orange]708[/color] [color=Red]02[/color] [color=yellow]0703720295112[/color] [color=teal]3000617[/color] [color=Orange]782[/color] [color=Red]01[/color] [color=yellow]3703720235814[/color] [color=teal]3000618[/color] [color=Orange]136[/color] [color=Red]02[/color] [color=yellow]0703480275315[/color] [color=teal]3000618[/color] [color=Orange]503[/color] [color=Red]01[/color] [color=yellow]3703080225010[/color] [color=teal]3000619[/color] [color=Orange]051[/color] [color=Red]02[/color] [color=yellow]0703590205518[/color] [color=teal]3000619[/color] [color=Orange]234[/color] [color=Red]01[/color] [color=yellow]3703790255316[/color] [/tt] [/quote] Actually, this is a significant find. It's good evidence that the public->private algorithm is product-dependent, even when using the same key schema. | January 5, 2006, 5:06 AM |
Lenny | Well now that we know that a unique product/public value exists for EVERY SINGLE cdkey that is valid on Bnet we can also guess why this is so. 9 million copies of Starcraft were sold, and for each product value only 10 million keys are available. Once Blizzard realized they were nearing their limit they decided to start using product 2 to increase their cdkey supply to 20 million, more than enough to answer demand. This would explain why product 2 values are much harder to find. Also given this info, the worst success rate you could possibly ever have for ANY cdkey generator would be 1 cdkey for every 1000 keys. | January 5, 2006, 5:44 AM |
GoaL | I've discovered something, I was told product values are only 01 and 02, But I have a key (2159492072321). Once valid, but I got it muted or banned, i forget. But it does not contain 01 or 02. Explain? | January 7, 2006, 9:22 AM |
l2k-Shadow | Key: 2159492072321 Product Value: 01 Public Value: 193039 Private Value: 136 You must decode the CD-Key to generate its product, public, and private values. | January 7, 2006, 3:40 PM |
MysT_DooM | What would be the code for opening a file of cdkeys then taking the data from that file and putting it through the decode function and then printing that data out into another file.. this is what i got so far [code] Private Sub Command1_Click() cd.ShowOpen msg = cd.FileName If msg = "" Then MsgBox "Pick A File to Decode": Exit Sub Me.Cls Me.Command1.Enabled = False Me.Caption = "Loading..." Gen = True Open cd.FileName For Append As #1 Top: Dim Decode As String Decode = Left(ScKeyDecode(cd.FileName), 12) cd.ShowSave msg = cd.FileName Open cd.FileName For Append As #2 Print #2, Decode Close #2 End Sub [/code] | January 8, 2006, 7:01 PM |
l2k-Shadow | I'm in a good mood today so I'll code it for you since I can't make much sense out of your code: [code] 'Written by l2k-Shadow Option Base 0 Option Explicit Option Compare Text Public Sub Keys() Dim InFile As String, tStr As String CD.ShowOpen InFile = CD.FileName If InFile <> vbNullString Then Dim FF As Integer, FF2 As Integer, Product As Long, PublicValue As Long, PrivateValue As Long FF = FreeFile Open App.Path & "\OutFile.txt" For Output As #FF FF2 = FreeFile Open InFile For Input As #FF2 Do Until EOF(FF2) Line Input #FF2, tStr If tStr <> vbNullString Then Call DecodeSCKey(tStr, Product, PublicValue, PrivateValue) Print #FF, Product & Space(3) & PublicValue & Space(3) & PrivateValue End If Loop Close #FF2 Close #FF End If MsgBox "Finished!" End Sub Public Sub DecodeSCKey(ByVal CDKey As String, ByRef Product As Long, ByRef PublicValue As Long, ByRef PrivateValue As Long) Dim tKey(12) As String, tStr As String, tLng As Long, hashKey As Long, pos As Integer, i As Integer 'Fill array For i = 0 To 12 tKey(i) = Mid$(CDKey, i + 1, 1) Next i 'Verify Key tLng = 3 For i = 0 To 11 tLng = tLng + (tKey(i) Xor (tLng * 2)) Next i If tKey(12) = (tLng Mod 10) Then 'Shuffling pos = &HB For i = &HC2 To 7 Step -&H11 tStr = tKey(pos) tLng = i Mod &HC tKey(pos) = tKey(tLng) tKey(tLng) = tStr pos = pos - 1 Next i 'Final Values hashKey = &H13AC9741 For i = 11 To 0 Step -1 tStr = tKey(i) If Asc(tStr) <= 55 Then tKey(i) = (((hashKey And &HFF) And 7) Xor tStr) hashKey = hashKey \ 8 ElseIf Asc(tStr) < 65 Then tKey(i) = ((i And 1) Xor tStr) End If Next i tStr = Join(tKey, vbNullString) Product = CLng("&H" & Left$(tStr, 2)) PublicValue = CLng(Mid$(tStr, 3, 7)) PrivateValue = CLng(Mid$(tStr, 10)) End If End Sub [/code] Hope it helps. | January 8, 2006, 11:05 PM |
rabbit | Hrm..is it just me, or are these values a little wanky? [img]http://www.liquid-server.org/images/weird.png[/img] [edit] Reconstructing, by using the private and public values decoded, change that first key to 3940140577719, which is decodes correctly. Reconstructing the second key, it becomes 2848162025364. The third becomes 0598383798773. The fourth becomes 3327490657450. The reconstructed keys have the proper product codes. Hrm. | January 8, 2006, 11:55 PM |
UserLoser | What are you talking about | January 9, 2006, 12:40 AM |
rabbit | I have a list of keys and some of them work on Battle.Net, but have weird product values (0x32, for example), and when I run their public and privates to generate the key, I got a different key. It just seems odd.. | January 9, 2006, 1:07 AM |
Lenny | I would either check your decoding and encoding. The first thing Battle.net does when they receive your decoded key is verify the correct product value... | January 9, 2006, 1:47 AM |
l2k-Shadow | Not to mention those are not valid Battle.net keys.. probably why you're getting fucked values. | January 9, 2006, 2:36 AM |
kamakazie | [quote author=rabbit link=topic=13318.msg141133#msg141133 date=1136768836] I have a list of keys and some of them work on Battle.Net, but have weird product values (0x32, for example), and when I run their public and privates to generate the key, I got a different key. It just seems odd.. [/quote] Something is wrong with the way you're encoding the cdkey from the product/public/private values (either you're not supply the same values, or the actual algorithm has a bug). If I wasn't so lazy, I could probably pinpoint exactly where the flaw in your code is by just the samples you posted. I'll leave that as an excercise for you. Edit: Oh see, you're just using the public and private values and a static value of 1 for the product. Of course changing the product value will completely change the encoded cdkey. Someone should verify that those keys (with the weird product ids) do work on battle.net. | January 9, 2006, 3:44 AM |
UserLoser | [quote author=dxoigmn link=topic=13318.msg141159#msg141159 date=1136778281] [quote author=rabbit link=topic=13318.msg141133#msg141133 date=1136768836] I have a list of keys and some of them work on Battle.Net, but have weird product values (0x32, for example), and when I run their public and privates to generate the key, I got a different key. It just seems odd.. [/quote] Something is wrong with the way you're encoding the cdkey from the product/public/private values (either you're not supply the same values, or the actual algorithm has a bug). If I wasn't so lazy, I could probably pinpoint exactly where the flaw in your code is by just the samples you posted. I'll leave that as an excercise for you. Edit: Oh see, you're just using the public and private values and a static value of 1 for the product. Of course changing the product value will completely change the encoded cdkey. Someone should verify that those keys (with the weird product ids) do work on battle.net. [/quote] They do work, yet don't. You get the bad product code response back. | January 9, 2006, 5:43 AM |
rabbit | Hm...I'll recheck that then, I swear they worked. Anyway, I'm using the program posted earlier: [code]#include <string.h> #include <stdio.h> #include <stdlib.h> #include <ctype.h> void decode(char* cdkey); void encode(char* public_s, char* private_s); int main (int argc, char* argv[]) { switch (argc) { case 2: decode(argv[1]); break; case 3: encode(argv[1], argv[2]); break; default: fprintf(stderr, "usage:\n\t%s {cd key}\n-or-\n\t%s {public value} " "{private value}\n", argv[0], argv[0]); return 1; } return 0; } void decode(char* cdkey) { int accum, pos, i; char temp; int hashKey = 0x13AC9741; unsigned long value1, value2, product; int keyLen = 13; // Verification accum = 3; for (i = 0; i < (keyLen - 1); i++) { accum += ((tolower(cdkey[i]) - '0') ^ (accum * 2)); } if ((accum % 10) != (cdkey[12] - '0')) { printf("Error: Verification failed.\n"); return; } // Shuffling pos = 0x0B; for (i = 0xC2; i >= 7; i -= 0x11) { temp = cdkey[pos]; cdkey[pos] = cdkey[i % 0x0C]; cdkey[i % 0x0C] = temp; pos--; } // Final Value for (i = (keyLen - 2); i >= 0; i--) { temp = toupper(cdkey[i]); cdkey[i] = temp; if (temp <= '7') { cdkey[i] ^= (char) (hashKey & 7); hashKey >>= 3; } else if (temp < 'A') { cdkey[i] ^= ((char) i & 1); } } // Final Calculations sscanf(cdkey, "%2ld%7ld%3ld", &product, &value1, &value2); printf("Product = 0x%08lX (%08d)\n", product, product); printf("Public Value = 0x%08lX (%08d)\n", value1, value1); printf("Private Value = 0x%08lX (%08d)\n", value2, value2); } void encode(char* public_s, char* private_s) { char cdkey[14] = "\0"; unsigned long public, private; int pos, i; char temp; int keyLen = 13; int hashKey = 0x13AC9741; int accum; public = strtoul(public_s, NULL, 0); private = strtoul(private_s, NULL, 0); sprintf(cdkey, "%02u%07lu%03lu", (unsigned) 1, public, private); // Final Value for (i = (keyLen - 2); i >= 0; i--) { temp = toupper(cdkey[i]); cdkey[i] = temp; if (temp <= '7') { cdkey[i] ^= (char) (hashKey & 7); hashKey >>= 3; } else if (temp < 'A') { cdkey[i] ^= ((char) i & 1); } } // Unshuffling pos = 0; for (i = 7; i <= 0xC2; i += 0x11) { temp = cdkey[i % 0x0C]; cdkey[i % 0x0C] = cdkey[pos]; cdkey[pos] = temp; pos++; } // Calculate check digit accum = 3; for (i = 0; i < (keyLen - 1); i++) { accum += ((tolower(cdkey[i]) - '0') ^ (accum * 2)); } cdkey[12] = (char) (accum % 10) + '0'; printf("CD-Key = %s\n", cdkey); } [/code]by I-forget-who. | January 9, 2006, 1:49 PM |
Lenny | This really depends on your definition of working key ;D Bad product keys should be lower than invalid keys because they couldn't even pass the product check that the server first does (as already stated in my last message). Battle.net doesn't ipban for these keys because it's not even a threat to their system. With invalid keys, you still have at least 1 in a 1000 chance of getting a valid. Mayhaps we can assume the actual cdkey check is fairly complex if they're willing to check the product code before they start anything at all... | January 9, 2006, 5:11 PM |
Kp | [quote author=Lenny link=topic=13318.msg141201#msg141201 date=1136826671] This really depends on your definition of working key ;D Bad product keys should be lower than invalid keys because they couldn't even pass the product check that the server first does (as already stated in my last message). Battle.net doesn't ipban for these keys because it's not even a threat to their system. With invalid keys, you still have at least 1 in a 1000 chance of getting a valid. Mayhaps we can assume the actual cdkey check is fairly complex if they're willing to check the product code before they start anything at all... [/quote] Possibly, but I don't think that's a safe assumption. It's a fairly common programming optimization that you check the easy stuff first, and checking that the product code is 1 (or maybe 2) is a very easy check. :) | January 10, 2006, 2:57 AM |
rabbit | Pfft..yeah right, that takes like.... 8 whole cycles. Fuck me if I'll do THAT! But on a more serious note, I kept meaning to test those keys out again, but I realized I just didn't care that much. | January 10, 2006, 3:36 AM |
Trejo | [quote author=Afflicted link=topic=13318.msg141479#msg141479 date=1137038491] I Decoded 1000 Keys... All using the same Public Values. The Public Value being: 3240285 The CDKey Range being: 3307x609x7x13 (x = Random... For randomizing Private Values.) The Product Value being: 01 The Private Value being: Random There are 499 Invalid, 500 Wrong Product and 1 Valid (Muted or Voided or Working) Therefore, Your odds are now 1 in 500. After you remove all the keys with the product of: 01 < * Which raises the question: Where does the value 5460083 come from... I know its a valid public value..... but what relationship does it have with the key.... its like a sister key of the "Product Value"..... Help me out here? Note: Delete the Wrong Product values and encode all the values to get the 1 in 500 Odds.[/quote] You know the 3 x's are based on the private value, right? Where did you get the other 10 digits from? | January 12, 2006, 4:06 AM |
Lenny | And also there's 1000 possible keys associated with a specific product/public value pair. So your chances are still 1/1000..... | January 12, 2006, 5:55 AM |
~Mike~ | Well after I decode my keys, i think i'm gettin an extra digit for my private value. i.e 2571472281941 1 2205677 5991 Where i thinks it is adding the 1 to end of private value from the 13th #. Any solutions? | January 16, 2006, 2:24 AM |
rabbit | If it's always a 1, ignore it. | January 16, 2006, 3:14 AM |
~Mike~ | Well, if the CD ends in 2 it puts 2 at end of private value, is it just a bad decode function? | January 16, 2006, 3:52 AM |
JoeTheOdd | Rabbit, your code automatically encodes keys with a product ID of 1, where the key in question has a product ID of 2. Might wanna fix that. | January 16, 2006, 4:22 AM |
rabbit | Meh. I got that code from earlier in the thread. | January 16, 2006, 4:30 AM |
~Mike~ | So how would i implement the encode function after decoding. I mean I read earlier that its the same, but the code must be different. like would u reverse the operations taken? | January 16, 2006, 5:56 AM |
rabbit | Yep. Any xor operation can be reversed by doing...the same operation. | January 16, 2006, 6:23 PM |
~Mike~ | So lets say for sake of argument, the decode function is : [code] Public Sub DecodeSCKey(ByVal CDKey As String, ByRef Product As Long, ByRef PublicValue As Long, ByRef PrivateValue As Long) Dim tKey(12) As String, tStr As String, tLng As Long, hashKey As Long, pos As Integer, i As Integer 'Fill array For i = 0 To 12 tKey(i) = Mid$(CDKey, i + 1, 1) Next i 'Verify Key tLng = 3 For i = 0 To 11 tLng = tLng + (tKey(i) Xor (tLng * 2)) Next i If tKey(12) = (tLng Mod 10) Then 'Shuffling pos = &HB For i = &HC2 To 7 Step -&H11 tStr = tKey(pos) tLng = i Mod &HC tKey(pos) = tKey(tLng) tKey(tLng) = tStr pos = pos - 1 Next i 'Final Values hashKey = &H13AC9741 For i = 11 To 0 Step -1 tStr = tKey(i) If Asc(tStr) <= 55 Then tKey(i) = (((hashKey And &HFF) And 7) Xor tStr) hashKey = hashKey \ 8 ElseIf Asc(tStr) < 65 Then tKey(i) = ((i And 1) Xor tStr) End If Next i tStr = Join(tKey, vbNullString) Product = CLng("&H" & Left$(tStr, 2)) PublicValue = CLng(Mid$(tStr, 3, 7)) PrivateValue = CLng(Mid$(tStr, 10)) End If End Sub [/code] I'm having trouble reversing that code. | January 17, 2006, 5:35 AM |
Null | hmm they gonna love you around here | January 17, 2006, 7:48 AM |
JoeTheOdd | [quote author=effect link=topic=13318.msg142130#msg142130 date=1137484094] hmm they gonna love you around here [/quote] At least he's doing something with his life, more than trolling. | January 17, 2006, 1:17 PM |
l2k-Shadow | [quote author=~Mike~ link=topic=13318.msg142121#msg142121 date=1137476124] So lets say for sake of argument, the decode function is : [code] Public Sub DecodeSCKey(ByVal CDKey As String, ByRef Product As Long, ByRef PublicValue As Long, ByRef PrivateValue As Long) Dim tKey(12) As String, tStr As String, tLng As Long, hashKey As Long, pos As Integer, i As Integer 'Fill array For i = 0 To 12 tKey(i) = Mid$(CDKey, i + 1, 1) Next i 'Verify Key tLng = 3 For i = 0 To 11 tLng = tLng + (tKey(i) Xor (tLng * 2)) Next i If tKey(12) = (tLng Mod 10) Then 'Shuffling pos = &HB For i = &HC2 To 7 Step -&H11 tStr = tKey(pos) tLng = i Mod &HC tKey(pos) = tKey(tLng) tKey(tLng) = tStr pos = pos - 1 Next i 'Final Values hashKey = &H13AC9741 For i = 11 To 0 Step -1 tStr = tKey(i) If Asc(tStr) <= 55 Then tKey(i) = (((hashKey And &HFF) And 7) Xor tStr) hashKey = hashKey \ 8 ElseIf Asc(tStr) < 65 Then tKey(i) = ((i And 1) Xor tStr) End If Next i tStr = Join(tKey, vbNullString) Product = CLng("&H" & Left$(tStr, 2)) PublicValue = CLng(Mid$(tStr, 3, 7)) PrivateValue = CLng(Mid$(tStr, 10)) End If End Sub [/code] I'm having trouble reversing that code. [/quote] I have already ported the C++ code into VB6.. Here | January 17, 2006, 1:27 PM |
shout | [quote author=~Mike~ link=topic=13318.msg142121#msg142121 date=1137476124] I'm having trouble reversing that code. [/quote] You're not going to be reversing anything from that. | January 17, 2006, 1:30 PM |
JoeTheOdd | [quote author=Shout link=topic=13318.msg142151#msg142151 date=1137504647] [quote author=~Mike~ link=topic=13318.msg142121#msg142121 date=1137476124] I'm having trouble reversing that code. [/quote] You're not going to be reversing anything from that. [/quote] He means literally reversing, not reverse engineering: he wants to encode. PS: Get on AIM, shout. | January 17, 2006, 1:33 PM |
shout | [quote author=Joe link=topic=13318.msg142153#msg142153 date=1137504796] PS: Get on AIM, shout. [/quote] I'm at school. | January 17, 2006, 6:47 PM |
rabbit | [quote author=~Mike~ link=topic=13318.msg142121#msg142121 date=1137476124] I'm having trouble reversing that code. [/quote]Make it go backwards. | January 18, 2006, 3:44 AM |
MysT_DooM | [color=Red]$ $[/color] 2410232920389 01 4319580 733 2661822870735 01 3302597 976 4504383083863 01 3255008 289 4801843752850 01 3306824 984 1463010740306 01 4363562 535 1114440170132 01 3310007 116 3004330937306 01 3271180 632 3937360771038 01 0442965 606 0010183599892 01 0838558 088 0012181999890 01 2878088 088 Ok look under the $ signs as you can see the middle digit in every private value is 11th digit in the cdkey. Does anyone see any other similarites or something else related. | January 18, 2006, 5:49 PM |
kamakazie | [quote author=MysT_DooM link=topic=13318.msg142316#msg142316 date=1137606566] [color=Red]$ $[/color] 2410232920389 01 4319580 733 2661822870735 01 3302597 976 4504383083863 01 3255008 289 4801843752850 01 3306824 984 1463010740306 01 4363562 535 1114440170132 01 3310007 116 3004330937306 01 3271180 632 3937360771038 01 0442965 606 0010183599892 01 0838558 088 0012181999890 01 2878088 088 Ok look under the $ signs as you can see the middle digit in every private value is 11th digit in the cdkey. Does anyone see any other similarites or something else related. [/quote] What is your point? What we're trying to establish is the relationship between the private, public and product values (i.e. there exists some function F such that F(public, product) = private). The encoded form of the cdkey does not matter what-so-ever. | January 18, 2006, 9:51 PM |
Lenny | :o It doesn't matter? F(public,product) = encoded...Wouldn't that be just as useful? There more than a few ways to look for patterns. There are 4 values, encoded, product, public and private. Patterns found between any 3 of those 4 values would be very useful. The only reason the encoded isn't the best choice is because many of the patterns are only as a result of the 'encode' function. We already have part of the actual algorithm (known as decode cdkey). But that doesn't mean the encoded value is useless. The pattern that Myst_DooM has found is not a result of decoding. You can check this yourself...And it's a rather frequent pattern in valid cdkeys (however there are a few exceptions). | January 19, 2006, 3:24 AM |
kamakazie | [quote author=Lenny link=topic=13318.msg142404#msg142404 date=1137641077] :o It doesn't matter? F(public,product) = encoded...Wouldn't that be just as useful? There more than a few ways to look for patterns. There are 4 values, encoded, product, public and private. Patterns found between any 3 of those 4 values would be very useful. The only reason the encoded isn't the best choice is because many of the patterns are only as a result of the 'encode' function. We already have part of the actual algorithm (known as decode cdkey). But that doesn't mean the encoded value is useless. The pattern that Myst_DooM has found is not a result of decoding. You can check this yourself...And it's a rather frequent pattern in valid cdkeys (however there are a few exceptions). [/quote] No that is not useful. If any of you actually took the time to see what the decoding process does, then you'd realize what I am saying. Notice that when the cdkey is shuffled, that digit doesn't really move (nor does the last digit because it is a check digit): [code] Regular: 0123456789ABC Shuffled: 60293B1754A8C [/code] The only reason that digit will change is in the xor stage. The pattern he found is a result of decoding. My advice, ignore any encoded form of the cdkey, and just look for relationships between private and public values of the same product. | January 19, 2006, 5:05 AM |
Lenny | [quote] The only reason that digit will change is in the xor stage. The pattern he found is a result of decoding. My advice, ignore any encoded form of the cdkey, and just look for relationships between private and public values of the same product. [/quote] I'm not following. You're agreeing that the xor will change the 11th digit of the encoded key (or decoded since as you already said, the shuffling actually shuffles it back to the same place). Also, you can verify this yourself via the encode function. For a product/public value pair, you can generate 1000 possible keys (only 1 being valid). But of those 1000, not all follow the pattern. Now if it were a result of the decode, wouldn't all 1000 keys follow this pattern? | January 19, 2006, 5:49 AM |
Arta | Patterns in 'encoded', or between the encoded and decoded forms, are completely irrelevant. | January 19, 2006, 10:50 AM |
Lenny | Not if the pattern or trend is only apparent in valid keys and not a result of the actual decode. Or are you still trying to find the definite algorithm for key generation (ie the F(public,product)=private)? Because that's not feasable and would be exponentially more difficult if there were multiple algorithms involved (which is very possible). | January 19, 2006, 3:47 PM |
Arta | [quote author=Lenny link=topic=13318.msg142459#msg142459 date=1137685656] Not if the pattern or trend is only apparent in valid keys and not a result of the actual decode. [/quote] I don't really know what you mean. To look for patterns between the encoded/decoded forms is completely pointless. We understand how one produces an encoded key, and how one produces a decoded key. No additional information is present in either form. The decoded version contains the data that Battle.net processes; therefore, it is data that is closest to the algorithms of interest. To look for patterns that exist as a result of an algorithm we already understand is a complete waste of time. [quote author=Lenny link=topic=13318.msg142459#msg142459 date=1137685656] Or are you still trying to find the definite algorithm for key generation (ie the F(public,product)=private)? [/quote] Of course. That's the only algorithm of interest here. [quote author=Lenny link=topic=13318.msg142459#msg142459 date=1137685656] Because that's not feasable and would be exponentially more difficult if there were multiple algorithms involved (which is very possible). [/quote] It has been my assertion all along that this task is very difficult. It is not, however, impossible -- especially if Blizzard's algorithm is based on some other, existing, algorithm. Given Blizzard's history, this is plausible. Either way, a mathematically gifted person may well notice some pattern between public, product and private values that could yield a working theory on the relationship between these numbers. Like I said, it's certainly difficult, but not impossible. | January 21, 2006, 1:20 AM |
Lenny | It's simple process of elimination, nothing more. You simply look for trends that ARE NOT a result of the decoding/encoding which is already known. Any pattern which is found to be apparently only in valid keys while not in invalid keys (which were generated via encode or decoding) is valuable simply because you''re narrowing your set of possible keys. Now ask yourself, is this a pattern generated by all keys which are encoded correctly? Also, the problem with finding the actual algorithm are arbitrary functions which would prevent any 'mathematically gifted' person from simply finding the actual algorithm. Example: if(key < 5) key = sqrt(43); else if(sqrt(key) < e) key = ln(643); There's no mathematical basis for such operations which could easily be in several parts of the algorithm. I doubt blizzard would need any outside sources to implement this algorithm. It's not difficult to create it (cracking it is a different story). And if such a 'common' algorithm used existed, it would work in such which knowing what operations are done still makes it unfeasable to break (ie encryption). | January 21, 2006, 8:16 AM |
PaiD | [quote]It has been my assertion all along that this task is very difficult. It is not, however, impossible -- especially if Blizzard's algorithm is based on some other, existing, algorithm. Given Blizzard's history, this is plausible. Either way, a mathematically gifted person may well notice some pattern between public, product and private values that could yield a working theory on the relationship between these numbers.[/quote] Someone get Yoni over here :) | January 21, 2006, 8:33 AM |
JoeTheOdd | [quote author=Savior link=topic=13318.msg142623#msg142623 date=1137832399] [quote]It has been my assertion all along that this task is very difficult. It is not, however, impossible -- especially if Blizzard's algorithm is based on some other, existing, algorithm. Given Blizzard's history, this is plausible. Either way, a mathematically gifted person may well notice some pattern between public, product and private values that could yield a working theory on the relationship between these numbers.[/quote] Someone get Yoni over here :) [/quote] ROFL. | January 21, 2006, 9:30 AM |
Arta | [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] It's simple process of elimination, nothing more. You simply look for trends that ARE NOT a result of the decoding/encoding which is already known. Any pattern which is found to be apparently only in valid keys while not in invalid keys (which were generated via encode or decoding) is valuable simply because you''re narrowing your set of possible keys. [/quote] Any patterns you see in an encoded key are likely to have been produced by the encoding process. The observation of such patterns is thus not useful. The observation of patterns in keys' decoded form is all that is of interest. The encoded form contains no more information that the decoded form, and the relationship between the encoded and decoded forms is understood, so there is no benefit in further analysis on that front. I understand why it's appealing -- compared to the other avenues of investigation, it's very easy -- but it is not worth pursuing. [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] Now ask yourself, is this a pattern generated by all keys which are encoded correctly? [/quote] Any trend in an encoded key that is produced by all valid keys would have an analagous trend in the decoded form. It's that trend that is worth investigating. [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] Also, the problem with finding the actual algorithm are arbitrary functions which would prevent any 'mathematically gifted' person from simply finding the actual algorithm. Example: if(key < 5) key = sqrt(43); else if(sqrt(key) < e) key = ln(643); There's no mathematical basis for such operations which could easily be in several parts of the algorithm. [/quote] That's plausible, but not confirmed. I agree that this task is very difficult, and is perhaps impossible, and I have made that quite clear in my posts from the beginning of this thread. I spent quite some time studying CD keys a few years ago, and concluded that I was unlikely to find anything useful. There are really only two ways that the algorithm could be discovered: 1: It's based on an existing known algorithm with recognisable behaviour; 2: It's very simple. If it's very simple, then the analysis of a large enough set of keys by an appropriately skilled person could yield useful results. As I said before, if it is neither of these things, then the task is likely impossible. [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] I doubt blizzard would need any outside sources to implement this algorithm. [/quote] That's a matter of opinion :) | January 21, 2006, 2:27 PM |
UserLoser | IMO, the best set of data known/we have to work with: Cd-Key (Product-Public-Private) 1125310113636 (1-0000002-660) 1125400163437 (1-0000003-147) 1125370153335 (1-0000004-634) 3133400395019 (1-0000005-418) 1125650153437 (1-0000006-344) | January 21, 2006, 5:22 PM |
Lenny | [quote author=Arta[vL] link=topic=13318.msg142638#msg142638 date=1137853661] [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] It's simple process of elimination, nothing more. You simply look for trends that ARE NOT a result of the decoding/encoding which is already known. Any pattern which is found to be apparently only in valid keys while not in invalid keys (which were generated via encode or decoding) is valuable simply because you''re narrowing your set of possible keys. [/quote] Any patterns you see in an encoded key are likely to have been produced by the encoding process. The observation of such patterns is thus not useful. The observation of patterns in keys' decoded form is all that is of interest. The encoded form contains no more information that the decoded form, and the relationship between the encoded and decoded forms is understood, so there is no benefit in further analysis on that front. I understand why it's appealing -- compared to the other avenues of investigation, it's very easy -- but it is not worth pursuing. [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] Now ask yourself, is this a pattern generated by all keys which are encoded correctly? [/quote] Any trend in an encoded key that is produced by all valid keys would have an analagous trend in the decoded form. It's that trend that is worth investigating. [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] Also, the problem with finding the actual algorithm are arbitrary functions which would prevent any 'mathematically gifted' person from simply finding the actual algorithm. Example: if(key < 5) key = sqrt(43); else if(sqrt(key) < e) key = ln(643); There's no mathematical basis for such operations which could easily be in several parts of the algorithm. [/quote] That's plausible, but not confirmed. I agree that this task is very difficult, and is perhaps impossible, and I have made that quite clear in my posts from the beginning of this thread. I spent quite some time studying CD keys a few years ago, and concluded that I was unlikely to find anything useful. There are really only two ways that the algorithm could be discovered: 1: It's based on an existing known algorithm with recognisable behaviour; 2: It's very simple. If it's very simple, then the analysis of a large enough set of keys by an appropriately skilled person could yield useful results. As I said before, if it is neither of these things, then the task is likely impossible. [quote author=Lenny link=topic=13318.msg142621#msg142621 date=1137831407] I doubt blizzard would need any outside sources to implement this algorithm. [/quote] That's a matter of opinion :) [/quote] But you're on the assumption that decoding a key places it in a simpler form. Decoding places the key in another 12 digit form. The largest importance of decoding keys in this situation is the filtering of only those which produce a product value of 01 or 02. As you already said, any patterns are LIKELY to be produced as a result of decoding/encoding, but not necessarily. And this is why comparing patterns in either the decoded or encoded form is difficult. And finding patterns in either form which are apparent in valid keys (but not a result of encoding/decoding) is useful. The analgous trend may not be as easy to recognize in decoded form (or vis versa) because there is a xor operation done between the two forms. Therefore, seeing one trend in the encoded form does not mean it will appear as simplisticly in the decoded form. | January 21, 2006, 6:37 PM |
kamakazie | [quote author=UserLoser link=topic=13318.msg142665#msg142665 date=1137864172] IMO, the best set of data known/we have to work with: Cd-Key (Product-Public-Private) 1125310113636 (1-0000002-660) 1125400163437 (1-0000003-147) 1125370153335 (1-0000004-634) 3133400395019 (1-0000005-418) 1125650153437 (1-0000006-344) [/quote] What I would like to see ie either (a) all private values that map to a single public value, or (b) all the public values that map to a single private value. The former seems easier, while the latter more difficult. The only way to do this is a brute force approach. | January 21, 2006, 7:48 PM |
Arta | [quote author=Lenny link=topic=13318.msg142680#msg142680 date=1137868659] But you're on the assumption that decoding a key places it in a simpler form. [/quote] It does. Decoding produces the values that are used in the computation. [quote author=Lenny link=topic=13318.msg142680#msg142680 date=1137868659] As you already said, any patterns are LIKELY to be produced as a result of decoding/encoding, but not necessarily. And this is why comparing patterns in either the decoded or encoded form is difficult. And finding patterns in either form which are apparent in valid keys (but not a result of encoding/decoding) is useful. The analgous trend may not be as easy to recognize in decoded form (or vis versa) because there is a xor operation done between the two forms. Therefore, seeing one trend in the encoded form does not mean it will appear as simplisticly in the decoded form. [/quote] Any pattern present in an encoded form would be the encoding of a pattern present in the decoded form. Looking for patterns in the encoded form serves only to increase the complexity of the problem: you are then required to make sure that your trend is meaningful, and not simply an artefact of encoding. What's the point in doing that when the trend will also be present in the decoded form? I see no reason why an encoded trend should be easier to spot than a decoded trend. I'm not going to discuss this further as I've explained it numerous times and you are apparently unwilling to reconsider your position. | January 21, 2006, 9:19 PM |
Lenny | [quote author=Arta[vL] link=topic=13318.msg142701#msg142701 date=1137878383] [quote author=Lenny link=topic=13318.msg142680#msg142680 date=1137868659] But you're on the assumption that decoding a key places it in a simpler form. [/quote] It does. Decoding produces the values that are used in the computation. [quote author=Lenny link=topic=13318.msg142680#msg142680 date=1137868659] As you already said, any patterns are LIKELY to be produced as a result of decoding/encoding, but not necessarily. And this is why comparing patterns in either the decoded or encoded form is difficult. And finding patterns in either form which are apparent in valid keys (but not a result of encoding/decoding) is useful. The analgous trend may not be as easy to recognize in decoded form (or vis versa) because there is a xor operation done between the two forms. Therefore, seeing one trend in the encoded form does not mean it will appear as simplisticly in the decoded form. [/quote] Any pattern present in an encoded form would be the encoding of a pattern present in the decoded form. Looking for patterns in the encoded form serves only to increase the complexity of the problem: you are then required to make sure that your trend is meaningful, and not simply an artefact of encoding. What's the point in doing that when the trend will also be present in the decoded form? I see no reason why an encoded trend should be easier to spot than a decoded trend. I'm not going to discuss this further as I've explained it numerous times and you are apparently unwilling to reconsider your position. [/quote] Well you can't make the claim that it is a simplification with out actual knowledge of how the 'valid key' algorithm works. The public value could be easily xor'ed back, and from that value, be used to find the private. The last xor in the decode could even be xor obfuscation. And yes, any pattern in the encode will be in the decode, but as I've said earlier it may not be as simple to see. To see it by a visual comparison of numbers would require someone to be able to mentally 'xor' numbers as easily as most can mentally perform addition and subtraction. I agree there's no reason for this argument to continue. But as a note, Ringo is an example of proof of concept. As far as I have seen, he has been generating cdkeys with the best success rate here. And as he has already said, he has accomplished this by observing many of the trends in encoded keys. | January 21, 2006, 10:05 PM |
Yegg | Wow, very good job Ringo. I didn't feel like testing all of them, but I tested 5 and they were perfeclty normal, unused keys. I do believe this is an incredible breakthrough for cdkey generating. | January 22, 2006, 2:04 AM |
Skywing | Surprising that they repealed the ban on cdkeys outside of the released ranges and allowed keys like those to work once more. Or, I suppose it would make sense that if they are using product 2, all of the product 1 keys that will fit in the obfuscated form are used up by now. | January 22, 2006, 2:08 AM |
Yegg | [quote author=moh.vze.com link=topic=13318.msg142722#msg142722 date=1137896820] I think arta[vL] should just release the source to the keygen he made a few years ago so this topic will come to an end -.- [/quote] Then others wouldn't be learning anything. | January 22, 2006, 2:29 AM |
MysT_DooM | My new method of generating that i've been messing around with Generate Private values Print them with Public Value Ranges Encode Test ----------- Ex) Let Priv = 000 001 002 [...] 997 998 999 so Print #1, 2063951 & Priv Print #1, 2063952 & Priv Print #1, 2063953 & Priv Print #1, 2063954 & Priv Print #1, 2063955 & Priv Print #1, 2063956 & Priv Print #1, 2063957 & Priv etc... I still havent figured out how to run all the generated keys back into the encode function or have not figured out how to make Priv everysingle 3 digit number as above...but soon i will figure it out... so thats the idea, what yall think. Spht edit: removed 900 lines of junk. | January 22, 2006, 2:34 AM |
Lenny | [quote author=Skywing link=topic=13318.msg142721#msg142721 date=1137895734] Surprising that they repealed the ban on cdkeys outside of the released ranges and allowed keys like those to work once more. Or, I suppose it would make sense that if they are using product 2, all of the product 1 keys that will fit in the obfuscated form are used up by now. [/quote] Well if the number of copies of Starcraft that Blizzard claims were sold are correct, they should have recently reached the limit. | January 22, 2006, 3:03 AM |
warz | so these work on bnet? | January 22, 2006, 3:12 AM |
Lenny | You've tested all 1000 private values for each of those? | January 22, 2006, 7:37 AM |
l2k-Shadow | That's all awesome but it still doesn't seem to get us anywhere closer to figuring out the Private = F(Product, Public) function. | January 22, 2006, 4:12 PM |
replaced | [quote author=Ringo link=topic=13318.msg142751#msg142751 date=1137924145] [quote author=Lenny link=topic=13318.msg142745#msg142745 date=1137915463] You've tested all 1000 private values for each of those? [/quote] Yep, i found another one as well :o Very interesting :) This will be my last contribution to this topic :P [/quote] And you posted again. Afflicted also has no idea about cdkeys. | January 24, 2006, 3:48 PM |
JoeTheOdd | [quote author=replaced link=topic=13318.msg142948#msg142948 date=1138117735] [quote author=Ringo link=topic=13318.msg142751#msg142751 date=1137924145] [quote author=Lenny link=topic=13318.msg142745#msg142745 date=1137915463] You've tested all 1000 private values for each of those? [/quote] Yep, i found another one as well :o Very interesting :) This will be my last contribution to this topic :P [/quote] And you posted again. Afflicted also has no idea about cdkeys. [/quote] Question, what does telling someone they're wrong, and telling someone else that they are stupid contribute to this topic? Also, Ringo, way to slaughter the tables. I had to use both monitors to view that bad boy. =p | January 24, 2006, 10:14 PM |
Afflicted | Very nice, useful... Thanks a lot! Ill post my image of 20k voids in 32* public values when I get a chance to do it. | January 25, 2006, 3:29 PM |
iago | I admit I haven't read even nearly all of this thread, but somebody should grab the program called THC-Shagg and try that. It's designed to brute-force patterns in numbers, like credit card numbers. Perhaps it would be helpful? <edit> I ran it through Shagg with the default settings and the keys from the first 2 pages, and it found nothing. There are a lot of numbers to tweak, and I'm not going to pretend I understand the program. If anybody can use it to their advantage, I'd be interested to know. | January 27, 2006, 1:05 AM |
MyStiCaL | 4:30 PM Alaska Time @ uswest.battle.net, Battle.net disconnected alot of users also Jailing/Voiding there keys, After a short peroid of time, about an hour, they un-jailed the keys.. and we were able to login normally. As a repesenitive stated, they were testing somthing.. | February 3, 2006, 5:42 AM |
MysT_DooM | Wonder what they were testing...maybe something to prevent mass loading or something of that nature. | February 3, 2006, 5:12 PM |
rabbit | Or they found this thread... | February 3, 2006, 11:44 PM |
MysT_DooM | Has any1 had any success in getting the first digit of the private value using the product and public yet?? Where are you guys at in that respect... i've figured out how to get the second but it only works for 95% of public keys...but it still drops 1000 keys to 840...so its better then nothing. anyways where u guys at , at this moment. | February 4, 2006, 10:36 PM |
l2k-Shadow | [quote author=MysT_DooM link=topic=13318.msg144622#msg144622 date=1139092585] Has any1 had any success in getting the first digit of the private value using the product and public yet?? Where are you guys at in that respect... i've figured out how to get the second but it only works for 95% of public keys...but it still drops 1000 keys to 840...so its better then nothing. anyways where u guys at , at this moment. [/quote] Would you mind sharing? | February 4, 2006, 11:22 PM |
MysT_DooM | um sure whynot it only works for 90% of keys and is only a filter.. [code] temp = Mid$(ScKeyDecode(CDKey), 11, 1) temp2 = Mid$(ScKeyEncode(CDKey), 11, 1) If temp = temp2 Then Print #1, ScKeyEncode(CDKey) End If If temp <> temp2 Then End If [/code] plop that bad boy into vb , load up a list of 1000 keys created off one public value and it'll drop it down to 840.... as i stated b4 it works on 90% of the keys, which is why i made it one of my filters which can be used or can not be used.... so wat does every1 else have? | February 5, 2006, 3:34 AM |
LoRd | wow... this topic has gone incredibly far down hill. | February 5, 2006, 3:41 AM |
MysT_DooM | how bout some input to roll it back up the hill have you figured out how to get the first digit of a private value yet? or any of them? | February 5, 2006, 3:43 AM |
tA-Kane | [quote author=MysT_DooM link=topic=13318.msg144657#msg144657 date=1139110479] um sure whynot it only works for 90% of keys and is only a filter.. [code] temp = Mid$(ScKeyDecode(CDKey), 11, 1) temp2 = Mid$(ScKeyEncode(CDKey), 11, 1) If temp = temp2 Then Print #1, ScKeyEncode(CDKey) End If If temp <> temp2 Then End If [/code] plop that bad boy into vb , load up a list of 1000 keys created off one public value and it'll drop it down to 840.... as i stated b4 it works on 90% of the keys, which is why i made it one of my filters which can be used or can not be used.... so wat does every1 else have? [/quote] In case you haven't noticed, 1000-840 is 260. 260 is roughly 25% of 1000. If you think of the private value as having four digits (eg, 1 through 1000 instead of 0 through 999), then that's pretty good. Although, that could very well change the private value which you are trying to get (eg, 799+1=800, so then no digits match)... unless the public/private checking algorithm was origionally designed for 4-digit length private values? It's probably just a coincidence though. | February 5, 2006, 7:44 AM |
MysT_DooM | i was talkin about public ranges, and how it works for 90% of them, i wasnt talking about the 1000 made keys, rather i was talking about each public range. | February 5, 2006, 4:32 PM |
PaiD | Look at what has happened :'( http://www.bnetweb.com/e107_plugins/forum/forum_viewtopic.php?10612 | February 6, 2006, 4:58 AM |
MyStiCaL | [quote author=Savior link=topic=13318.msg144775#msg144775 date=1139201895] Look at what has happened :'( http://www.bnetweb.com/e107_plugins/forum/forum_viewtopic.php?10612 [/quote] For those of you that don't have a bnetweb login... this is the topic... LOL!!! Key Machine Created By: Thieves (USEAST) (USWEST) (EUROPE) Current Version = BETAv1.5 (Feb 05, 2006) Download Here Program Password = ¿Question? ______________________________________ OP GBR @EUROPE FOR LIVE SUPPORT ---------------------------------------------------------------------- What is it? Key Machine is a program which Mass Generates Cd Keys that are Valid on Battle Net. ---------------------------------------------------------------------- How? Key Machine generates based on similarities of working Battle Net Cd Keys and is also based on a little bit of the Cd Key Algorithm (Of what is known). Method Two generates everysingle cdkey of a given public value range, thus giving you always 1/1000 working keys. Using Filters can take any list mostly down to 1/840. Diablo 2 Generating is currently still under construction. ---------------------------------------------------------------------- How many Cd Keys does Key Machine generate? As many as you want. ---------------------------------------------------------------------- [BETA v1.5] -Diablo 2 Support Added -Filter Options -New Method of Generating -other stuff to lazy to mention but equally important -First Public Beta testers testing [BETA v1.4] -Added data for basis of generating -Created Icon [BETA v1.3] -Decode Cdkey Option -Encode Cdkey Option -User Specified Generating -Fixed Bug in Chat Closing area [BETA v1.2] -Password Verification Added -User Specified Generating Available [BETA v1.0] -Added Chat Area -Trimmed Game Area [BETA] - 3 Games - Unfinished "Fun" Section - Generates 1000 cdkeys per button - This is just a beta version so a majority of similarties of working keys and the algorithm is left out but will be added in official Version 1. - But you still have a better chance of getting keys with Key Machine rather then those "others" which still generate random 13 digits. [Future (Version 1)] - More Games - Fun Section will be complete - User specified generating; meaning you can specify the amount of keys to be generated, i.e 1000, or 10000 or even 100000000000000. - Current knowledge of valid cdkeys and algorithm will be added into the generating. - And a lot more surprises... [Future Future Ideas] - Double your list - Automatic Cd Key Validator (Therefore no more mass testing after you finished generating keys) - Fun Section might have E-Books, Music, Worm/Virus Generator<- most likly not. - A lot more current games. and more multiplayer games. - And some other nuts _____________________________________________ Please leave some feedback and enjoy. thx for ur time.. | February 6, 2006, 7:00 AM |
BaDDBLooD | [quote author=MyStiCaL link=topic=13318.msg144790#msg144790 date=1139209206] [quote author=Savior link=topic=13318.msg144775#msg144775 date=1139201895] Look at what has happened :'( http://www.bnetweb.com/e107_plugins/forum/forum_viewtopic.php?10612 [/quote] For those of you that don't have a bnetweb login... this is the topic... LOL!!! Key Machine Created By: Thieves (USEAST) (USWEST) (EUROPE) Current Version = BETAv1.5 (Feb 05, 2006) Download Here Program Password = ¿Question? ______________________________________ OP GBR @EUROPE FOR LIVE SUPPORT ---------------------------------------------------------------------- What is it? Key Machine is a program which Mass Generates Cd Keys that are Valid on Battle Net. ---------------------------------------------------------------------- How? Key Machine generates based on similarities of working Battle Net Cd Keys and is also based on a little bit of the Cd Key Algorithm (Of what is known). Method Two generates everysingle cdkey of a given public value range, thus giving you always 1/1000 working keys. Using Filters can take any list mostly down to 1/840. Diablo 2 Generating is currently still under construction. ---------------------------------------------------------------------- How many Cd Keys does Key Machine generate? As many as you want. ---------------------------------------------------------------------- [BETA v1.5] -Diablo 2 Support Added -Filter Options -New Method of Generating -other stuff to lazy to mention but equally important -First Public Beta testers testing [BETA v1.4] -Added data for basis of generating -Created Icon [BETA v1.3] -Decode Cdkey Option -Encode Cdkey Option -User Specified Generating -Fixed Bug in Chat Closing area [BETA v1.2] -Password Verification Added -User Specified Generating Available [BETA v1.0] -Added Chat Area -Trimmed Game Area [BETA] - 3 Games - Unfinished "Fun" Section - Generates 1000 cdkeys per button - This is just a beta version so a majority of similarties of working keys and the algorithm is left out but will be added in official Version 1. - But you still have a better chance of getting keys with Key Machine rather then those "others" which still generate random 13 digits. [Future (Version 1)] - More Games - Fun Section will be complete - User specified generating; meaning you can specify the amount of keys to be generated, i.e 1000, or 10000 or even 100000000000000. - Current knowledge of valid cdkeys and algorithm will be added into the generating. - And a lot more surprises... [Future Future Ideas] - Double your list - Automatic Cd Key Validator (Therefore no more mass testing after you finished generating keys) - Fun Section might have E-Books, Music, Worm/Virus Generator<- most likly not. - A lot more current games. and more multiplayer games. - And some other nuts _____________________________________________ Please leave some feedback and enjoy. thx for ur time.. [/quote] Sigh, the beginning of the end has arrived. :'( | February 6, 2006, 7:24 AM |
HeRo | almost each command button you press generates run-times | February 6, 2006, 8:55 AM |
MysT_DooM | Can you tell me some of the errors via pm, so far your the only one who has had or reported runtime errors. | February 6, 2006, 3:08 PM |
MysT_DooM | btw badblood, its not gona be a beginning to the end of SC because im not gona make it like my key scanner/bruter. that will always be kept private. So dont wry bout that. :) Edit: Hero- in method 1 those boxes next to buttons is where u put the amount of how much u want to generate i.e 100, 1000, 23523, etc.. I shuda wrote a direction readme and tip section, also use filters especially the product filter to remove wrong product keys if ur using method 1. | February 6, 2006, 3:11 PM |
MyStiCaL | MysT_DooM = Thieves? | February 6, 2006, 11:04 PM |
MysT_DooM | yup Edit: Tryin to get this topic back on the right track, any1 know of a certain area specifically in the math area to concentrate to figure out this tricky product public formula.. its crzy hard o.O Ringo god dangit more tipsss | February 7, 2006, 5:23 AM |
rabbit | I'm sure you'll find a relation with a large enough data set and a few years with number theory. | February 8, 2006, 12:46 AM |
LordNevar | [quote author=Ringo link=topic=13318.msg145334#msg145334 date=1139535178] Is this a temp thing? (or just me?) Product 2 SC CDkeys got disabled from JSTR today. This morning work, tonight not work -.- I kinda hope same happens to SC, even tho i have mb's of product 2 keys :) [/quote] It wouldn't surprise me with all the bannings that have been going on over the last year or so. I wouldn't be surprised if they recirculated all those keys again. | February 10, 2006, 1:47 AM |
PaiD | I have now removed the Key Machine from the forums on Bnetweb.com due to it being dangerous to the Battle.Net Community. | February 10, 2006, 6:46 PM |
Skywing | Unfortunately, that does not undo damage already done. Perhaps in the future, you will consider using more discretion in such matters. | February 10, 2006, 7:05 PM |
PaiD | Skywing: Are you talking to me? (Not tring to be smart) If so, I wasnt aware that I did anything wrong=/ | February 10, 2006, 7:55 PM |
Yegg | [quote author=Savior link=topic=13318.msg145434#msg145434 date=1139601337] Skywing: Are you talking to me? (Not tring to be smart) If so, I wasnt aware that I did anything wrong=/ [/quote] IIRC, the public developement of Battle.net applications is illegal. Actually, any developement. However no one will know about your private applications. | February 10, 2006, 8:04 PM |
Lenny | Methinks the program which was mentioned somewhere in the last page did not really affect anything...1/840 isn't much of an improvement from 1/1000. And if it works an estimated 90% of the time, is it even a filter? Example: If there's an unknown number from 1-10, I don't think it's logical to say 'if I eliminate one of the possible numbers, there's a 90% chance that the number I eliminated isn't the unknown number' But I must say there were a few interesting posts which may have been a bit more useful had there not been some quick moderation (or editing by the original poster). But that's why it's smart to have logs of these things :) | February 10, 2006, 8:46 PM |
PaiD | I am not the person who posted that. I am not Myst_Doom (Thieves on Bnetweb). I am an Admin there and deleted the posts. | February 10, 2006, 8:47 PM |
Lenny | I'm not sure if you were speaking to Skywing or yours truly. But I was referring to this forum ;D | February 10, 2006, 8:49 PM |
UserLoser | [quote author=UserLoser. link=topic=13318.msg135787#msg135787 date=1133320801] This whole idea is very bad. This shouldn't be on a public forum like this...especially when it's populated by nothing but Battle.netters.....just letting you know ahead of time. [/quote] | February 10, 2006, 9:26 PM |
dx | And once again, UserLoser smites down the lamers! [quote author=MysT_DooM link=topic=13318.msg145449#msg145449 date=1139605296] hmm guess i shud just keep the things I make to myself :-\ [/quote] That would be sufficent enough, however, I can't comprehend how someone with such impeccable grammar such as yourself can write any functional program? | February 10, 2006, 9:29 PM |
MysT_DooM | With magic fairy dust from the far lands of Narnia. anyway wat dos ones typin on the internet haveing anything to so with thiere coding... Theres specific styles of wrting at certains times, i have a certain style for when on the internet, have another when writing a formal paper, and another when coding :P | February 10, 2006, 9:38 PM |
dx | [me=dx]blinks[/me] If you have hard time spelling your words correctly I have a feeling it would rub off on other things (coding) | February 10, 2006, 9:43 PM |
JoeTheOdd | Wow, this topic pretty much croaked.. | February 10, 2006, 10:38 PM |
l2k-Shadow | [quote author=Yegg link=topic=13318.msg145474#msg145474 date=1139611619] [quote author=Joe link=topic=13318.msg145467#msg145467 date=1139611132] Wow, this topic pretty much croaked.. [/quote] Wow, I think I'll make an unimportant post to inform you that you have more unnecessary posts than everyone on these forums combined per day. [/quote] That's a good comeback, but yeah this topic has gone to crap... and the public release of a key generator just makes me want to make one out of spite and release it open source. | February 11, 2006, 12:12 AM |
l2k-Shadow | [quote author=Ringo link=topic=13318.msg145509#msg145509 date=1139624430] [quote author=Skywing link=topic=13318.msg145428#msg145428 date=1139598354] Unfortunately, that does not undo damage already done. Perhaps in the future, you will consider using more discretion in such matters. [/quote] Well, a few cdkeys iv used for my mod bots have been muted after my channel was loaded, and iv been told alot of people lost alot of cdkeys when loading, so blizzard are only now becoming aware of the problem. I think some people have flooded blizz tech and droped some reps as well, so that might have somthing to do with it. To many people are downloading open source bots and modifying them inorder to find cdkeys, some more successful than others, i mean just check my sig for a ne_sucks example -.- [/quote] yeah your sig really makes a statement about the intelligence of people on battle.net I love it when people are trying to act l33t and yet have no idea what the fuck they are talking about. lol | February 11, 2006, 3:10 AM |
l2k-Shadow | [quote author=MysT_DooM link=topic=13318.msg145520#msg145520 date=1139632884] i say we bury this topic and send it to forum heaven :P [/quote] well we still haven't come closer to the issue that's on-topic, Private = F(Product, Public) | February 11, 2006, 4:45 AM |
UserLoser | [quote author=Ringo link=topic=13318.msg145509#msg145509 date=1139624430] [quote author=Skywing link=topic=13318.msg145428#msg145428 date=1139598354] Unfortunately, that does not undo damage already done. Perhaps in the future, you will consider using more discretion in such matters. [/quote] Well, a few cdkeys iv used for my mod bots have been muted after my channel was loaded, and iv been told alot of people lost alot of cdkeys when loading, so blizzard are only now becoming aware of the problem. I think some people have flooded blizz tech and droped some reps as well, so that might have somthing to do with it. To many people are downloading open source bots and modifying them inorder to find cdkeys, some more successful than others, i mean just check my sig for a ne_sucks example -.- [/quote] I don't think flooding a channel would drop one of Blizzard's clients ;) | February 11, 2006, 6:32 AM |
MyStiCaL | [quote author=Ringo link=topic=13318.msg145509#msg145509 date=1139624430] [quote author=Skywing link=topic=13318.msg145428#msg145428 date=1139598354] Unfortunately, that does not undo damage already done. Perhaps in the future, you will consider using more discretion in such matters. [/quote] Well, a few cdkeys iv used for my mod bots have been muted after my channel was loaded, and iv been told alot of people lost alot of cdkeys when loading, so blizzard are only now becoming aware of the problem. I think some people have flooded blizz tech and droped some reps as well, so that might have somthing to do with it. [/quote] well, I've been in blizzard tech support during both a load and/or a flood, reps rule the floods easy along with loads.... I don't think it bothers them also there probley connected more advancedly then ourselfs.. which makes me wonder what kinda screen there looking at hmm.... ;) | February 11, 2006, 1:13 PM |
rabbit | I do believe this should be either split or trashed..it's just...degenerated so far.... | February 11, 2006, 2:45 PM |
MyStiCaL | well jesus, I think that outta freeze up the flooder before a bot, or Specially a client, o.o If you happened to see one or hear about this flood again, lemme know i'd like to see 'how it does what it does' always good just if so it so does happen to drop people, it can help me learn more about on how to protect against it. ;) Go go new topic, Flood Protect 101, j/p But actually in mine, i made it so if a certain amount of users tried to join at once, say 50+ within a certain time period, and the names are idenitical then don't even bother adding them indo the listview nor responding to joins, rejoins. ___ Well, we come to find SC Keys are a bit hard, I wonder what would happen when someone decides to start working on the d2/w2 Or Damn even the WAR3 thats what 25 characters.... sheeshz ___ On Topic. MysT_DooM, as your cdkey creator or w/e you say your using parts as stated from here i think? some of the things people did post in here are wrong, such as there are keys that start with n-e number in the front, and end, I have about 45k Voided/Jailed/Banned keys, I've tried to use the help from what others posted here to see if the most easy explaination could be the right one, well infact not... besides generating a bunch of random keys through and around a hot spot thus coming up with still a whole lot of Invalid keys.. I think UserLoser is hiding something that he doesn't want to share. -_- | February 11, 2006, 3:00 PM |
MysT_DooM | [quote] MysT_DooM, as your cdkey creator or w/e you say your using parts as stated from here i think? some of the things people did post in here are wrong, such as there are keys that start with n-e number in the front, and end, I have about 45k Voided/Jailed/Banned keys, I've tried to use the help from what others posted here to see if the most easy explaination could be the right one, well infact not... besides generating a bunch of random keys through and around a hot spot thus coming up with still a whole lot of Invalid keys.. [/quote] Nah mystical the only thing taken from here was the knowledge of the keys starting with 0,1,2,3,4,7 only. All my other help came from a another individual :P hmm his names rhymes with dingo ;) anywayz l2k-shadow is it a good idea to talk about the formula to get the private value. cuz then it would be definatly gg to sc. Also concerning flood mystical if u want to see one just msg Nes or watever names his on, his flood is pretty good. Also concerning D2, i've started it and its like woah..hex\numeric 0-9 A-F it would take a shit long time to brute one public value [code] np6zdr7kbpfcnjje 06 9476D0 F48D117A [/code] 8 digit private value with hex/numeric :O any1 calculate the possiblities i.e sc is 1/1000... Ringo u told me b4 but i forgot wat was it again | February 11, 2006, 4:01 PM |
LoRd | [quote author=rabbit link=topic=13318.msg145548#msg145548 date=1139669153] I do believe this should be either split or trashed..it's just...degenerated so far.... [/quote] Trashed—there's little in this thread that had not already been part of the public domain. | February 11, 2006, 5:07 PM |
LoRd | [quote author=UserLoser link=topic=13318.msg145525#msg145525 date=1139639559] [quote author=Ringo link=topic=13318.msg145509#msg145509 date=1139624430] [quote author=Skywing link=topic=13318.msg145428#msg145428 date=1139598354] Unfortunately, that does not undo damage already done. Perhaps in the future, you will consider using more discretion in such matters. [/quote] Well, a few cdkeys iv used for my mod bots have been muted after my channel was loaded, and iv been told alot of people lost alot of cdkeys when loading, so blizzard are only now becoming aware of the problem. I think some people have flooded blizz tech and droped some reps as well, so that might have somthing to do with it. To many people are downloading open source bots and modifying them inorder to find cdkeys, some more successful than others, i mean just check my sig for a ne_sucks example -.- [/quote] I don't think flooding a channel would drop one of Blizzard's clients ;) [/quote] I've accomplished it before. | February 11, 2006, 5:10 PM |
Kp | [quote author=Yegg link=topic=13318.msg145554#msg145554 date=1139670266] [quote author=rabbit link=topic=13318.msg145548#msg145548 date=1139669153] I do believe this should be either split or trashed..it's just...degenerated so far.... [/quote] Or perhaps someone should just lock the thread. I think this is a good post for others to learn from, minus about 250 posts. [/quote] I considered that, but the thread's such a mess that it'll take a while to sort out. If it doesn't improve shortly, I'll lock it and then begin pulling the pieces apart. I'll unlock the worthy thread(s) when I'm done. The lock is just to provide exclusive access so people don't go updating the thread while I'm working on it. :) The forum members could do quite a lot toward keeping such threads on topic by ignoring attempts to take it off topic. Any such attempt can be easily split/deleted, but when you start responding to trolls, it gets messy fast. | February 11, 2006, 5:11 PM |
Ringo | Iv just deleted every post i made in this whole topic, so that should save you some time :P My posts accounted for 3 pages of mumbojumbo, sry :'( | February 11, 2006, 5:37 PM |
Spht | [quote author=Ringo link=topic=13318.msg145570#msg145570 date=1139679473] Iv just deleted every post i made in this whole topic, so that should save you some time :P My posts accounted for 3 pages of mumbojumbo, sry :'( [/quote] Now, if only everyone else could do the same... | February 11, 2006, 5:41 PM |
PaiD | [quote author=Ringo link=topic=13318.msg145570#msg145570 date=1139679473] Iv just deleted every post i made in this whole topic, so that should save you some time :P My posts accounted for 3 pages of mumbojumbo, sry :'( [/quote] Not true. Alot of your posts where good =/ | February 11, 2006, 7:20 PM |
Ringo | [quote author=Savior link=topic=13318.msg145581#msg145581 date=1139685615] Not true. Alot of your posts where good =/ [/quote] Maybe, but the out come isnt :( Its been total SC Key fest lately :P On battle.net thats all i seem to ever here, from random people asking about it, to flood messages ordering i give them to the loader ;) The only reall good out come has been the chance to make my ops bot indestructible. ::) | February 11, 2006, 8:35 PM |
rabbit | Well, at least there was some GENERAL benefit (as long as your ops bot happens to be public, that is). | February 11, 2006, 9:31 PM |
JoeTheOdd | Hey guys, instead of discussing in which way it would be best for this topic to die, lets turn this around and actually get something acomplished. Please. | February 11, 2006, 10:37 PM |
rabbit | It wasn't accomplishing much in the first place, so why not trash it completely and start over with some useful information? | February 11, 2006, 11:06 PM |
Yegg | How about this. Everyone delete their posts that they made after Kp said what he said. And I'll delete mine tomorrow so that everyone has enough time to read this. We are trying to stop this topic from growing, why do you guys insist on trolling it alive? | February 12, 2006, 12:55 AM |
Kp | [quote author=Yegg link=topic=13318.msg145620#msg145620 date=1139705719] How about this. Everyone delete their posts that they made after Kp said what he said. And I'll delete mine tomorrow so that everyone has enough time to read this. We are trying to stop this topic from growing, why do you guys insist on trolling it alive? [/quote] What would that accomplish? I stepped in because the thread was becoming a mess, not to cause people to start arbitrarily deleting posts. | February 12, 2006, 2:06 AM |
MyStiCaL | [quote author=MysT_DooM link=topic=13318.msg145560#msg145560 date=1139673717] Nah mystical the only thing taken from here was the knowledge of the keys starting with 0,1,2,3,4,7 only. All my other help came from a another individual :P hmm his names rhymes with dingo ;) Also concerning flood mystical if u want to see one just msg Nes or watever names his on, his flood is pretty good. [/quote] That's where its wrong, I have Keys that start with 6-8 and 9 also, the others i believe LordNevar said about it was like certain keys in differnt lines only go up to a certain high number which is also incorrect! | February 12, 2006, 2:34 AM |
Ringo | [quote author=Kp link=topic=13318.msg145624#msg145624 date=1139709981] [quote author=Yegg link=topic=13318.msg145620#msg145620 date=1139705719] How about this. Everyone delete their posts that they made after Kp said what he said. And I'll delete mine tomorrow so that everyone has enough time to read this. We are trying to stop this topic from growing, why do you guys insist on trolling it alive? [/quote] What would that accomplish? I stepped in because the thread was becoming a mess, not to cause people to start arbitrarily deleting posts. [/quote] I hope you dont think that i made a bad move by deleteing my posts? ;) I think i made a very bad move by posting them in the 1st place, for reassions pointed out at the start of the topic, one being your self :) And i didnt delete my posts because of what you said, i did it for a number of reassions, 1 being because this topic is becoming an infestation of battle.net, and blizzard banning loads of keys puts it in a perfect time to remove my contribution towards it. We could all make a fuss about it, but the only people it effects is the no nothings who would sell there family for as many unmuted keys, so they can mess it up for everyone else. | February 12, 2006, 5:20 AM |
l2k-Shadow | [quote author=Ringo link=topic=13318.msg145646#msg145646 date=1139721613] [quote author=Kp link=topic=13318.msg145624#msg145624 date=1139709981] [quote author=Yegg link=topic=13318.msg145620#msg145620 date=1139705719] How about this. Everyone delete their posts that they made after Kp said what he said. And I'll delete mine tomorrow so that everyone has enough time to read this. We are trying to stop this topic from growing, why do you guys insist on trolling it alive? [/quote] What would that accomplish? I stepped in because the thread was becoming a mess, not to cause people to start arbitrarily deleting posts. [/quote] I hope you dont think that i made a bad move by deleteing my posts? ;) I think i made a very bad move by posting them in the 1st place, for reassions pointed out at the start of the topic, one being your self :) And i didnt delete my posts because of what you said, i did it for a number of reassions, 1 being because this topic is becoming an infestation of battle.net, and blizzard banning loads of keys puts it in a perfect time to remove my contribution towards it. We could all make a fuss about it, but the only people it effects is the no nothings who would sell there family for as many unmuted keys, so they can mess it up for everyone else. [/quote] your posts were good in the fact that they helped research, unfortunately instead of research being done 2 things happened: 1) Nubs came on here and started raping keys. 2) People made useless off-topic posts and started arguing with each other. Although we have come to the conclusion that 1:1000 valid:invalid ratio is the best we can come down to thus far, (which is really where we started), i'm sure it helped some of us (myself included) understand the whole deal with cd-keys a little more. Now I guess it's up to you to make some progress on Private = F(Product, Public) since you have the most resources. | February 12, 2006, 6:41 AM |
Yegg | [quote author=Kp link=topic=13318.msg145624#msg145624 date=1139709981] [quote author=Yegg link=topic=13318.msg145620#msg145620 date=1139705719] How about this. Everyone delete their posts that they made after Kp said what he said. And I'll delete mine tomorrow so that everyone has enough time to read this. We are trying to stop this topic from growing, why do you guys insist on trolling it alive? [/quote] What would that accomplish? I stepped in because the thread was becoming a mess, not to cause people to start arbitrarily deleting posts. [/quote] The majority of the posts were useless. Yes, there were some very informative and useful posts that should be kept. However, keeping this topic alive with *useless posts* shouldn't be happening. And it still is. | February 12, 2006, 4:59 PM |
Arta | This entire thread has almost completely missed the point -- which I described, numerous times, to no effect -- and represents an almost total waste of time. I gave up on it long ago. | February 13, 2006, 12:33 AM |
rabbit | Then please, by all means, lock it. | February 13, 2006, 2:05 AM |
JoeTheOdd | Welcome to vL forums. When we have something nice started, someone, or a group of people, will ALWAYS ruin it. -.- | February 13, 2006, 6:12 AM |
shadypalm88 | [quote author=Joe link=topic=13318.msg145782#msg145782 date=1139811125] Welcome to vL forums. When we have something nice started, someone, or a group of people, will ALWAYS ruin it. -.- [/quote] Really, Joe? Is this (partially): [list] [*]Because of what you post [*]In spite of what you post [*]Or have you never posted in a thread where "something nice [was] started" [/list] Please consider your role in a community before making a comment that is critical of the community as a whole. | February 13, 2006, 10:27 PM |
Ringo | [quote author=Joe link=topic=13318.msg134954#msg134954 date=1132618307] Anyhow, seeing as how many people believe that theres a pattern in valid StarCraft keys, I decoded over 1000 from a public list of valid keys.[/quote] heh [quote author=Joe link=topic=13318.msg145782#msg145782 date=1139811125] Welcome to vL forums. When we have something nice started, someone, or a group of people, will ALWAYS ruin it. -.- [/quote] There would have been nothing to ruin if i never released 1267 free keys to the public domain, so that you later could stuble across and "start somthing nice" from ;) I wasnt going to say anything, but eh | February 14, 2006, 3:26 PM |
MysT_DooM | [quote author=MyStiCaL link=topic=13318.msg145629#msg145629 date=1139711662] [/quote] [quote] That's where its wrong, I have Keys that start with 6-8 and 9 also, the others i believe LordNevar said about it was like certain keys in differnt lines only go up to a certain high number which is also incorrect! [/quote] I've looked into this and couldnt find any *Valid* key that starts with a 6 8 or a 9. I 'm starting to think your lieing. Please Prove me wrong. Show me one, just one valid key which starts with either 6 8 or 9. | February 19, 2006, 6:33 PM |
MyStiCaL | I'll look for my keys today, and post a few.. doesn't mean they have to be working but atleast valid. Also, This topic has so many useless post its hard to re-read everything everyone said including a few people decided to delete there 'could be' useful post, but i was wondering... Keys are generated from blizzard of course. Keys are active before you even buy the game and install right? | February 19, 2006, 6:48 PM |
laurion | [quote author=MyStiCaL link=topic=13318.msg146429#msg146429 date=1140374924] I'll look for my keys today, and post a few.. doesn't mean they have to be working but atleast valid. Also, This topic has so many useless post its hard to re-read everything everyone said including a few people decided to delete there 'could be' useful post, but i was wondering... Keys are generated from blizzard of course. Keys are active before you even buy the game and install right? [/quote] Yes. If I go to Wal-Mart and open a Starcraft box, I can write down the key and use it when I get home (Someone is out $10!). | February 19, 2006, 6:54 PM |
MysT_DooM | [quote author=MyStiCaL link=topic=13318.msg146429#msg146429 date=1140374924][/quote] [quote] I'll look for my keys today, and post a few.. doesn't mean they have to be working but atleast valid. [/quote] Valid meaning they have to be either Banned, voided, muted, or working. Edit: however if the key is invalid, that would also be of somewhat of significant also. | February 19, 2006, 6:57 PM |
JoeTheOdd | I should be left with the right to lock my own topic.. *uses* | February 26, 2006, 2:25 AM |
GoaL | I would just like to say one last thing as this topic was locked. I was thinking, espically what one person said, when you go to wal-mart and buy starcraft... your paying 10.00 for the game, not the FREE service, battle.net that is provided. It's simply a free service, the game is still fun and interesting without battle.net, although it does enhance it a bit. I was also thinking, people have figured out the adobe photoshop serials, and anyone can easily get one by googling. Now think how many great designers there wouldn't be in the world without a somewhat-illegal copy of photoshop. Doesn't the same thinking apply here, I say, if this topic does continue, no lists of keys should be posted, but just lines of coding and explinations of coding or mathmatical advances, I think it is a very interesting topic, and i have learned alot. Sincerely, Adam R. (AKA GoaL AKA Smarter And recently aka Smart@EAST (thx Rap!) | February 26, 2006, 2:48 AM |
PaiD | It would be nice but isnt going to happen. Also in the event of this happening and there are massive amounts of cdkeys for Starcraft then people will abuse it with floodbots and then blizzard will be forced to restrict that client just like they did with Starcraft Japan and Telnet | February 26, 2006, 2:52 AM |
Spht | [quote author=Joe link=topic=14365.msg147076#msg147076 date=1140920742] I should be left with the right to lock my own topic.. *uses* [/quote] I'll leave that to the moderators. | February 26, 2006, 2:58 AM |
GoaL | But it would be slightly limited to coders, because like I said no lists of keys. Also, I don't think they battle.net would limit it again, they'd lose alot of money too i think. The reason battle.net is free, is because they make money off it. From I think AT&T and the ad's (shown on client), it's also one reason I think they don't like bot's. But, yeah, another thing, I see your a photoshop user, did you honestly go out and buy it? ;) I think not. | February 26, 2006, 3:00 AM |
GoaL | Um, Kp. Now there just gonna re-lock my topic now, lol. I don't think that merge was very usefull, but o-well, your the moderator! :-D | February 26, 2006, 3:05 AM |
MysT_DooM | I suggest not posting code related to "mathematical advances" or Cd Key Scanner coding and especially private value formulas cause that would be just not good information for the public domain, it would be like giving a nuke to osama bin laden or something; if you get my analogy. Some things that i did find out today for those who have made scanners is that anything less then 30 secs between key checks results in a IP ban after around 25 valid key checks in a row. so if you keep it at a 30 sec interval you'll be fine. possibly maybe 35 secs because i have noticed after picking up 134 valid keys one after the other it sort of like stops connecting, but once i repress my button to connect, it goes through fine. If you dont have timed intervals between each key check, i tested that out also. results were 1 Invalid Key Check = Ip Ban 10 Valid Checks (In a Row) = Ip Ban 20 Wrong Product (In a Row)= Ip Ban but if you added proxy support this wouldnt be a problem for you. On another note [quote author= Mystical] I have Keys that start with 6-8 and 9 also [/quote] I can confidently say that you do not have a cd key that is either valid, muted, banned, voided, or invalid that starts with a 6 8 or a 9. | February 26, 2006, 5:14 AM |
laurion | [quote author=MysT_DooM link=topic=14366.msg147096#msg147096 date=1140930892] I suggest not posting code related to "mathematical advances" or Cd Key Scanner coding and especially private value formulas cause that would be just not good information for the public domain, it would be like giving a nuke to osama bin laden or something; if you get my analogy. [/quote] The hypocracy. (sorry, had to). | February 26, 2006, 5:48 AM |
Spht | [quote author=MysT_DooM link=topic=14366.msg147096#msg147096 date=1140930892] I suggest not posting code related to "mathematical advances" or Cd Key Scanner coding and especially private value formulas cause that would be just not good information for the public domain, it would be like giving a nuke to osama bin laden or something; if you get my analogy. [/quote] Come on, video games haven't desensitized you that much, have they? "Giving a nuke to Osama bin Laden" (you have to find him first) would threaten the lives of his enemies (the entire West?). That is a little different than this. This is like a nice book store, which offers people with library cards free candy when they visit. Now, someone in town told everyone how to make their own library card. Kids rejoice as they can now go into the book store to get free candy with their free library cards! The library manager finds out about this, and decides to get rid of the free candy offer. Kids stop going to the bookstore because they don't read books, and everyone else doesn't care because they rather read books than eat candy. | February 26, 2006, 2:45 PM |
MysT_DooM | yup spht your analogy makes a lot more sense :P and Tazo I don't think i posted code for mathematical advances or cd key scanning or code that derives a private value. Edit: From my early post about Key Check Intervals, i switched mine to 1 minute and ran my program overnight and by mourning the connection was still fine and the key checks were going smoothly. | February 26, 2006, 3:12 PM |
laurion | [quote author=MysT_DooM link=topic=14366.msg147118#msg147118 date=1140966751] yup spht your analogy makes a lot more sense :P and Tazo I don't think i posted code for mathematical advances or cd key scanning or code that derives a private value. Edit: From my early post about Key Check Intervals, i switched mine to 1 minute and ran my program overnight and by mourning the connection was still fine and the key checks were going smoothly. [/quote] I think you misunderstood what I was trying to say. You said that the code didn't need to 'fall into the wrong hands', basicly. Why? Maybe because they would make a tool to generate keys and release it - like you! >:( | February 26, 2006, 7:42 PM |
MysT_DooM | ahh now I see where your coming from. Indeed my generator is available to the public, its not to the point of greatness where it can be damaging, its just a million times more better then the rest of those public generators out there :P I mean its not like i'm gona release my scanner, that sort of thing would be damaging. | February 26, 2006, 10:10 PM |