From 3fdadd90669f2d4a6ffdfbaf6f4996dbd3ed435f Mon Sep 17 00:00:00 2001 From: Slava Bacherikov Date: Sun, 22 Jan 2012 03:48:24 +0200 Subject: [PATCH] Provide function for calc passwod new laptop by hdd. --- dell.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/dell.js b/dell.js index dce19ab..584f32a 100644 --- a/dell.js +++ b/dell.js @@ -279,22 +279,37 @@ function choseEncode(encBlock, serial){ } } +function answerToString(b_arr){ + var r = b_arr[0] % 9; + var ret_str = ""; + for(var i = 0;i<16;i++){ + if( ( r <= i) && (ret_str.length < 8) ){ + ret_str += scancods.charAt(encscans[b_arr[i] % encscans.length]); + } + } + return ret_str; +} + function encode(in_str, cnt, serial){ in_str[cnt] = 0x80; var encBlock = StringToIntArr(in_str); encBlock = fill_zero(encBlock,6,16); encBlock[14] = (cnt << 3); - return choseEncode(encBlock, serial); + return IntArrToByteArr(choseEncode(encBlock, serial)); } function dell_service_tag(serial){ var serial_arr = StrintToArray(serial); serial_arr = serial_arr.concat(calc_suffix_tag(serial_arr)); - return encode(serial_arr,23, serial); - + return answerToString(encode(serial_arr,23, serial)); +} +function dell_service_hdd_new(serial){ + var serial_arr = StrintToArray(serial); + serial_arr = serial_arr.concat(calc_suffix_hdd_new(serial_arr)); + return answerToString(encode(serial_arr,23, serial)); } /* Depends only in first two chars */