diff --git a/scripts/decrypt_bios.ts b/scripts/decrypt_bios.ts index 52fd0eb..ae126a9 100644 --- a/scripts/decrypt_bios.ts +++ b/scripts/decrypt_bios.ts @@ -165,7 +165,7 @@ export let Sony: BIOSDecoder = { model: BIOSModels.Sony, name: "Sony", examples: ["1234567"], - check: (s) => /\d{7}/gi.test(s), + check: (s) => /^\d{7}$/i.test(s), solve: (s) => { let res = SonySolver(s); return res ? [res] : []; @@ -176,7 +176,7 @@ export let Samsung: BIOSDecoder = { model: BIOSModels.Samsung, name: "Samsung", examples: ["07088120410C0000"], - check: (s) => /[0-9ABCDEF]+/gi.test(s) && ( + check: (s) => /^[0-9ABCDEF]+$/i.test(s) && ( s.length === 12 || s.length === 14 || s.length === 16 ), solve: SamsungSolver diff --git a/spec/bios.spec.js b/spec/bios.spec.js index 894e12f..5769643 100644 --- a/spec/bios.spec.js +++ b/spec/bios.spec.js @@ -10,6 +10,7 @@ describe("Decryp BIOS", function() { expect(bios.Sony.check("1234567")).toBe(true); expect(bios.Sony.check("0123456")).toBe(true); expect(bios.Sony.check("123o567")).toBe(false); + expect(bios.Sony.check("1234567D")).toBe(false); }); it("Samsung key for 07088120410C0000 is 12345", function() { @@ -18,6 +19,8 @@ describe("Decryp BIOS", function() { it("Samsung input validation", function() { expect(bios.Samsung.check("07088120410C0000")).toBe(true); + expect(bios.Samsung.check("07088120410C000000")).toBe(false); + expect(bios.Samsung.check("07088120410C000O")).toBe(false); expect(bios.Samsung.check("07088120410C")).toBe(true); expect(bios.Samsung.check("07088120410C00")).toBe(true); expect(bios.Samsung.check("0123456")).toBe(false);