From e4a604439750e9b4a3daa07d2ceb852df6889079 Mon Sep 17 00:00:00 2001 From: Slava Bacherikov Date: Wed, 18 Jan 2012 18:25:12 +0200 Subject: [PATCH] Add serial checker. --- decrypt_bios.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/decrypt_bios.js b/decrypt_bios.js index 3c5dd31..ec798a0 100644 --- a/decrypt_bios.js +++ b/decrypt_bios.js @@ -463,3 +463,54 @@ function getBiosPwdForFSIhex(serial){ } return decryptCode(serial); } + +/* Return true of false (valid format and not) */ +function numberChecker(serial, len_arr, decimal, hexdecimal){ + decimal = (typeof(decimal) == 'undefined') ? true : decimal; + hexdecimal = (typeof(decimal) == 'undefined') ? false : hexdecimal; + if(decimal){ + var code = parseInt(serial); + var code_len = code.toString().length; + } else if (hexdecimal){ + var code = parseInt(serial,16); + var code_len = code.toString(16).length; + } else { + return false; + } + + if((code != NaN) && (code_len in len_arr ){ + return true; + } else { + return false; + } + + +} + +/* Auto function return password if serial is valid, + * or false if it is bad */ +function autoGetBiosPwdForSony(serial){ + if(numberChecker(serial, [7],true,false)){ + return getBiosPwdForSony(serial); + } else { + return false; + } +} + + +function autoGetBiosPwdForSamsung(serial){ + if(numberChecker(serial, [12,18],false,true)){ + return getBiosPwdForSamsung(serial); + } else { + return false; + } +} + +function autoGetBiosPwdForGenericPhoenix(serial){ + var code = parseInt(serial); + if((code != NaN) && (code.toString().length == 7)){ + return getBiosPwdForSony(serial); + } else { + return false; + } +}