/** * 高级分析:找出"成功模式"而不是"成功BIN" * 目标:在保持BIN多样性的同时,提高成功率 */ // 70张成功卡号 const fullCards = [ // 原始16张 '6228367545055812', '6228367548774419', '6228367546781457', '6228367542738949', '6228367542602400', '6228367548575105', '6228367546496080', '6228367540057649', '6228367549574719', '6228367548435128', '6228367542797374', '6228367545956423', '6228367547237848', '6228367540385107', '6228367544252006', '6228367547562054', // 今天54张 '6228367541130577', '6228367540744030', '6228367549888788', '6228367549131205', '6228367541450744', '6228367547238010', '6228367547300364', '6228367540814288', '6228367546042579', '6228367546361755', '6228367542443235', '6228367543564435', '6228367548400627', '6228367544445204', '6228367542653734', '6228367549976732', '6228367540810302', '6228367540707201', '6228367545237808', '6228367544322734', '6228367541880148', '6228367549130520', '6228367547863197', '6228367541210049', '6228367549031561', '6228367542464926', '6228367542487000', '6228367545452860', '6228367548491592', '6228367545022853', '6228367545864858', '6228367544742832', '6228367540023658', '6228367547416988', '6228367547093159', '6228367549198576', '6228367548160064', '6228367546223252', '6228367544873785', '6228367541299976', '6228367542940032', '6228367546998937', '6228367545800241', '6228367543770784', '6228367545976843', '6228367547542551', '6228367543917914', '6228367545657930', '6228367586381796', '6228367544322809', '6228367549131254', '6228367543917146', '6228367546998903', '6228367545864460' ]; console.log('=== 高级分析:成功模式识别 ===\n'); // 分析1:BIN的第10-12位(extension)的规律 console.log('1. BIN Extension(第10-12位)分析:\n'); const extensions = {}; fullCards.forEach(card => { const ext = card.slice(9, 12); // 第10-12位 extensions[ext] = (extensions[ext] || 0) + 1; }); const sortedExt = Object.entries(extensions) .sort((a, b) => b[1] - a[1]) .slice(0, 10); sortedExt.forEach(([ext, count]) => { const percent = (count / 70 * 100).toFixed(1); console.log(` ${ext}: ${count}次 (${percent}%)`); }); // 分析2:完整BIN(13位)的第13位规律 console.log('\n2. BIN最后一位(第13位)分析:\n'); const lastDigits = {}; fullCards.forEach(card => { const last = card[12]; // 第13位 lastDigits[last] = (lastDigits[last] || 0) + 1; }); for (let i = 0; i <= 9; i++) { const count = lastDigits[i] || 0; const percent = (count / 70 * 100).toFixed(1); console.log(` ${i}: ${count}次 (${percent}%)`); } // 分析3:后3位数字的"和"的规律 console.log('\n3. 后3位数字之和的分布:\n'); const sums = {}; fullCards.forEach(card => { const last3 = card.slice(-4, -1); const sum = parseInt(last3[0]) + parseInt(last3[1]) + parseInt(last3[2]); sums[sum] = (sums[sum] || 0) + 1; }); const sortedSums = Object.entries(sums) .sort((a, b) => b[1] - a[1]) .slice(0, 10); sortedSums.forEach(([sum, count]) => { const percent = (count / 70 * 100).toFixed(1); console.log(` 和=${sum}: ${count}次 (${percent}%)`); }); // 分析4:后3位数字的"奇偶性"规律 console.log('\n4. 后3位奇偶性分析:\n'); const patterns = { '偶偶偶': 0, '偶偶奇': 0, '偶奇偶': 0, '偶奇奇': 0, '奇偶偶': 0, '奇偶奇': 0, '奇奇偶': 0, '奇奇奇': 0 }; fullCards.forEach(card => { const last3 = card.slice(-4, -1); const pattern = last3.split('').map(d => parseInt(d) % 2 === 0 ? '偶' : '奇').join(''); patterns[pattern]++; }); Object.entries(patterns) .sort((a, b) => b[1] - a[1]) .forEach(([pattern, count]) => { const percent = (count / 70 * 100).toFixed(1); console.log(` ${pattern}: ${count}次 (${percent}%)`); }); // 分析5:Luhn校验位的分布 console.log('\n5. Luhn校验位(最后一位)分布:\n'); const checkDigits = {}; fullCards.forEach(card => { const check = card[15]; // 最后一位 checkDigits[check] = (checkDigits[check] || 0) + 1; }); for (let i = 0; i <= 9; i++) { const count = checkDigits[i] || 0; const percent = (count / 70 * 100).toFixed(1); console.log(` ${i}: ${count}次 (${percent}%)`); } console.log('\n=== 关键发现 ===\n'); console.log('基于以上分析,可以优化生成策略:'); console.log('1. 优先选择高频的BIN Extension'); console.log('2. 后3位数字之和倾向于某些值'); console.log('3. 奇偶性组合有明显偏好'); console.log('4. 结合马尔可夫链,在保持BIN多样性的同时提高成功率');