fixed xml2js

pull/2/head
vzakharchenko 3 years ago
parent 91979a9080
commit 810eb615ad

@ -168,9 +168,9 @@ async function doRSAEncrypt(session,encstring) {
const gEncPublickey = { e: '', n: '' };
const pubkeyKeyInfo = await getPublicKey(session);
// eslint-disable-next-line prefer-destructuring
gEncPublickey.n = pubkeyKeyInfo.encpubkeyn;
gEncPublickey.n = pubkeyKeyInfo.encpubkeyn[0];
// eslint-disable-next-line prefer-destructuring
gEncPublickey.e = pubkeyKeyInfo.encpubkeye;
gEncPublickey.e = pubkeyKeyInfo.encpubkeye[0];
var rsa = new RSAKey();
rsa.setPublic(gEncPublickey.n, gEncPublickey.e);
var encStr = base64encode(encstring);
@ -250,12 +250,25 @@ function utf8to16(str) {
return output;
}
function dataDecrypt(scram,smsNonce,smsSalt,nonceStr,pwdret) {
if (!pwdret.response
|| !pwdret.response.pwd
|| !pwdret.response.hash
|| !pwdret.response.iter) {
return;
function dataDecrypt(scram,smsNonce,smsSalt,nonceStr,encryptedData) {
if (!encryptedData.response
|| !encryptedData.response.pwd
|| !encryptedData.response.hash
|| !encryptedData.response.iter) {
throw new Error('Request error: '+JSON.stringify(encryptedData))
}
if (!encryptedData.response
|| encryptedData.response.pwd.length===0
|| encryptedData.response.hash.length === 0
|| encryptedData.response.iter.length === 0) {
throw new Error('Request error: '+JSON.stringify(encryptedData))
}
const pwdret = {
response:{
pwd:encryptedData.response.pwd[0],
hash:encryptedData.response.hash[0],
iter:encryptedData.response.iter[0],
}
}
var smsEncrypted = pwdret.response.pwd;
var salt = CryptoJS.enc.Hex.parse(smsSalt);

@ -1,6 +1,6 @@
{
"name": "e3372h-320-cli",
"version": "1.0.1",
"version": "1.0.2",
"description": "e3372h-320 client",
"main": "index.js",
"scripts": {

@ -46,20 +46,15 @@ export async function getSMSByUsers(sessionData: SessionData,
console.info(`json file ${exportFile} created`);
} else {
const json = await parser.parseStringPromise(ret);
if (Array.isArray(json.response.messages.message)) {
json.response.messages.message.forEach((message: any) => {
console.log(`MessageId: ${message.index} Phone: ${message.phone} Message: ${JSON.stringify(message.content)}`);
});
} else {
const message: any = json.response.messages.message;
console.log(`MessageId: ${message.index} Phone: ${message.phone} Message: ${JSON.stringify(message.content)}`);
}
json.response.messages[0].message.forEach((message: any) => {
console.log(`MessageId: ${message.index[0]} Phone: ${message.phone[0]} Message: ${JSON.stringify(message.content[0])}`);
});
}
}
if (deleteAfter) {
const json = await parser.parseStringPromise(ret);
const messages = json.response.messages.message;
const messages = json.response.messages[0].message;
for (let i = 0; i < messages.length; i++) {
await deleteMessage(sessionData, messages[i].index);
}
@ -187,13 +182,8 @@ export async function getSMSContacts(sessionData: SessionData,
console.info(`json file ${exportFile} created`);
} else {
const json = await parser.parseStringPromise(ret);
if (Array.isArray(json.response.messages.message)) {
json.response.messages.message.forEach((message: any) => {
console.log(`MessageId: ${message.index} Phone: ${message.phone} lastMessage: ${JSON.stringify(message.content)}`);
});
} else {
const message: any = json.response.messages.message;
console.log(`(MessageId: ${message.index}) Phone: ${message.phone} lastMessage: ${message.content}`);
}
json.response.messages[0].message.forEach((message: any) => {
console.log(`MessageId: ${message.index[0]} Phone: ${message.phone[0]} lastMessage: ${JSON.stringify(message.content[0])}`);
});
}
}

@ -56,7 +56,7 @@ export async function status(sessionData: SessionData, exportFile: string,
const json = await parser.parseStringPromise(resp);
const response = json.response;
Object.keys(response).forEach((key) => {
console.info(`${key}=${response[key]}`);
console.info(`${key}=${response[key][0]}`);
});
}
}

Loading…
Cancel
Save