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

121 lines
4.5 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.

/**
* 高级分析:找出"成功模式"而不是"成功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');
// 分析1BIN的第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完整BIN13位的第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}%)`);
});
// 分析5Luhn校验位的分布
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多样性的同时提高成功率');