auto-account-machine/browser-automation-ts/analyze-patterns.js
2025-11-27 10:34:59 +08:00

62 lines
2.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 分析成功卡号的规律完整16位卡号
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'
];
// 提取后3位不含校验位
const patterns = fullCards.map(card => card.slice(-4, -1));
// 统计每个位置的数字频率
const pos1 = {}; // 百位
const pos2 = {}; // 十位
patterns.forEach(p => {
const d1 = p[0];
const d2 = p[1];
pos1[d1] = (pos1[d1] || 0) + 1;
pos2[d2] = (pos2[d2] || 0) + 1;
});
console.log('=== 70张成功卡号的数字分布规律 ===\n');
console.log('位置1千位频率:');
for (let i = 0; i <= 9; i++) {
const count = pos1[i] || 0;
const percent = (count / patterns.length * 100).toFixed(1);
console.log(` ${i}: ${count}次 (${percent}%)`);
}
console.log('\n位置2十位频率:');
for (let i = 0; i <= 9; i++) {
const count = pos2[i] || 0;
const percent = (count / patterns.length * 100).toFixed(1);
console.log(` ${i}: ${count}次 (${percent}%)`);
}
// 生成权重数组用于config.ts- 只需要2位
console.log('\n=== 生成权重配置后2位不含校验位===\n');
console.log('const positionWeights = [');
console.log(' [' + Array.from({length: 10}, (_, i) => pos1[i] || 0).join(', ') + '], // 百位');
console.log(' [' + Array.from({length: 10}, (_, i) => pos2[i] || 0).join(', ') + '] // 十位');
console.log('];');