Files
pwgen-for-bios/src/keygen/index.ts
T

54 lines
1.7 KiB
TypeScript

import { monotonicTime } from "../polyfills/performancePolyfill";
import { asusSolver } from "./asus";
import { dellHddSolver, dellLatitude3540Solver, dellSolver, hddOldSolver } from "./dell";
import { fsi20DecNewSolver, fsi20DecOldSolver, fsi24DecSolver, fsiHexSolver } from "./fsi";
import { hpMiniSolver } from "./hpmini";
import { acerInsyde10Solver, hpInsydeSolver, insydeSolver } from "./insyde";
import {
phoenixFsiLSolver, phoenixFsiPSolver, phoenixFsiSolver,
phoenixFsiSSolver, phoenixFsiXSolver, phoenixHPCompaqSolver, phoenixSolver
} from "./phoenix";
import { samsungSolver } from "./samsung";
import { sonySolver } from "./sony";
import { sony4x4Solver } from "./sony_4x4";
import { Solver } from "./utils";
export type KeygenResult = [Solver, string[], number];
export const solvers: Solver[] = [
asusSolver,
acerInsyde10Solver,
sonySolver,
sony4x4Solver,
samsungSolver,
hddOldSolver,
dellSolver,
dellHddSolver,
dellLatitude3540Solver,
fsiHexSolver,
fsi20DecNewSolver,
fsi20DecOldSolver,
fsi24DecSolver,
hpMiniSolver,
hpInsydeSolver,
insydeSolver,
phoenixSolver,
phoenixHPCompaqSolver,
phoenixFsiSolver,
phoenixFsiLSolver,
phoenixFsiPSolver,
phoenixFsiSSolver,
phoenixFsiXSolver
];
// NOTE: In future this function can change or even be removed
export function keygen(serial: string): KeygenResult[] {
return solvers
.map((solver): KeygenResult => {
let startTime = monotonicTime();
let passwords = solver(serial);
let calcTime = monotonicTime() - startTime;
return [solver, passwords, calcTime];
}).filter(([_, passwords]) => passwords !== undefined && passwords.length >= 1);
}