<?
/*
by SERJ.WS
$AES_KEY и $TOKEN берем в
/data/data/app.source.getcontact/shared_prefs/GetContactSettingsPref.xml
*/
$AES_KEY = '8c93b9b782b120af99ea274f745d2f4b43d89aa8794ccba97c190c8fccbaXXXX';
$TOKEN = 'hagoje90c9d2e59aaa7c31cdb71a643f8346af863a423d90c3cceb6XXXX';
$key = '2Wq7)qkX~cp7)H|n_tc&o+:G_USN3/-uIi~>M+c ;Oq]E{t9)RC_5|lhAA_Qq%_4';
$PRIVATE_KEY = 2615678;
$number="+77073151515";
function decrypt($key, $garble) {
return openssl_decrypt(
"aes-256-ecb",
$key,
OPENSSL_RAW_DATA
);
}
function encrypt($key, $garble) {
$method = 'AES-256-ECB';
$ivSize = openssl_cipher_iv_length($method);
$iv = openssl_random_pseudo_bytes($ivSize);
return openssl_encrypt(
$garble,
"aes-256-ecb",
$key,
OPENSSL_RAW_DATA
);
}
function Send_Post($post_url, $post_data,$signature)
{ global $TOKEN,$time;
if ($post_data!=""){
}
"X-App-Version: 4.9.1",
"X-Token: ".$TOKEN,
"X-Os: android 5.0",
"X-Client-Device-Id: 14130e29cebe9c39",
"Content-Type: application/json; charset=utf-8",
"Accept-Encoding: deflate",
"X-Req-Timestamp: ".$time,
"X-Req-Signature: ".$signature,
"X-Encrypted: 1"));
return $data;
}
function GetByPhone ($phone) {
global $time, $TOKEN, $key, $AES_KEY;
$req='{"countryCode":"RU","source":"search","token":"'.$TOKEN.'","phoneNumber":"'.$phone.'"}';
$string = ($time.'-'.$req);
$zprs =Send_Post("https://p...content-available-to-author-only...s.com/v2.5/search", '{"data":"'.$crypt_data.'"}',$signature);
return $zprs->data;
}
function GetByPhoneTags ($phone) {
global $time, $TOKEN, $key, $AES_KEY;
$req='{"countryCode":"RU","source":"details","token":"'.$TOKEN.'","phoneNumber":"'.$phone.'"}';
$string = ($time.'-'.$req);
$zprs =Send_Post("https://p...content-available-to-author-only...s.com/v2.5/number-detail", '{"data":"'.$crypt_data.'"}',$signature);
return $zprs->data;
}
echo "\n\n\n";
?>
PD8KCi8qCgogICAgIGJ5ICBTRVJKLldTCiAgICAKICAgICRBRVNfS0VZINC4ICRUT0tFTiDQsdC10YDQtdC8INCyCiAgICAKICAgIC9kYXRhL2RhdGEvYXBwLnNvdXJjZS5nZXRjb250YWN0L3NoYXJlZF9wcmVmcy9HZXRDb250YWN0U2V0dGluZ3NQcmVmLnhtbAoKKi8KCgogJEFFU19LRVkgPSAnOGM5M2I5Yjc4MmIxMjBhZjk5ZWEyNzRmNzQ1ZDJmNGI0M2Q4OWFhODc5NGNjYmE5N2MxOTBjOGZjY2JhWFhYWCc7CiAkVE9LRU4gPSAnaGFnb2plOTBjOWQyZTU5YWFhN2MzMWNkYjcxYTY0M2Y4MzQ2YWY4NjNhNDIzZDkwYzNjY2ViNlhYWFgnOwoKICRrZXkgPSAnMldxNylxa1h+Y3A3KUh8bl90YyZvKzpHX1VTTjMvLXVJaX4+TStjIDtPcV1Fe3Q5KVJDXzV8bGhBQV9RcSVfNCc7CiAkUFJJVkFURV9LRVkgPSAyNjE1Njc4OwogJHRpbWUgPSB0aW1lKCk7CgogJG51bWJlcj0iKzc3MDczMTUxNTE1IjsKCgoKZnVuY3Rpb24gZGVjcnlwdCgka2V5LCAkZ2FyYmxlKSB7CiAgIAogICByZXR1cm4gb3BlbnNzbF9kZWNyeXB0KAogICAgYmFzZTY0X2RlY29kZSgkZ2FyYmxlKSwKICAgICJhZXMtMjU2LWVjYiIsCiAgICAka2V5LAogICAgT1BFTlNTTF9SQVdfREFUQQopOwoKfQoKCmZ1bmN0aW9uIGVuY3J5cHQoJGtleSwgJGdhcmJsZSkgewogICAKICRtZXRob2QgPSAnQUVTLTI1Ni1FQ0InOwogICAgJGl2U2l6ZSA9IG9wZW5zc2xfY2lwaGVyX2l2X2xlbmd0aCgkbWV0aG9kKTsKICAgICRpdiA9IG9wZW5zc2xfcmFuZG9tX3BzZXVkb19ieXRlcygkaXZTaXplKTsKICAgCiAgIHJldHVybiBvcGVuc3NsX2VuY3J5cHQoCiAgICAkZ2FyYmxlLAogICAgImFlcy0yNTYtZWNiIiwKICAgICRrZXksCiAgICBPUEVOU1NMX1JBV19EQVRBCik7Cgp9CgoKCmZ1bmN0aW9uIFNlbmRfUG9zdCgkcG9zdF91cmwsICRwb3N0X2RhdGEsJHNpZ25hdHVyZSkKIHsgZ2xvYmFsICRUT0tFTiwkdGltZTsKCiAgJGNoID0gY3VybF9pbml0KCk7CiAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHBvc3RfdXJsKTsKICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyAKCiBpZiAoJHBvc3RfZGF0YSE9IiIpewogIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgJHBvc3RfZGF0YSk7CiAgfQogIAogY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBGQUxTRSk7CgogY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsIGFycmF5KAogIlgtQXBwLVZlcnNpb246IDQuOS4xIiwKICJYLVRva2VuOiAiLiRUT0tFTiwKICJYLU9zOiBhbmRyb2lkIDUuMCIsCiAiWC1DbGllbnQtRGV2aWNlLUlkOiAxNDEzMGUyOWNlYmU5YzM5IiwKICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgiLAogIkFjY2VwdC1FbmNvZGluZzogZGVmbGF0ZSIsCiAiWC1SZXEtVGltZXN0YW1wOiAiLiR0aW1lLAogIlgtUmVxLVNpZ25hdHVyZTogIi4kc2lnbmF0dXJlLAogIlgtRW5jcnlwdGVkOiAxIikpOwoKIGN1cmxfc2V0b3B0ICgkY2gsIENVUkxPUFRfVElNRU9VVCwgNjApOwoKICRkYXRhID0gY3VybF9leGVjKCRjaCk7CiBjdXJsX2Nsb3NlKCRjaCk7CgogcmV0dXJuICRkYXRhOwp9CgoKCgpmdW5jdGlvbiBHZXRCeVBob25lICgkcGhvbmUpIHsKCiBnbG9iYWwgJHRpbWUsICRUT0tFTiwgJGtleSwgJEFFU19LRVk7CgogJHJlcT0neyJjb3VudHJ5Q29kZSI6IlJVIiwic291cmNlIjoic2VhcmNoIiwidG9rZW4iOiInLiRUT0tFTi4nIiwicGhvbmVOdW1iZXIiOiInLiRwaG9uZS4nIn0nOwoKICRzdHJpbmcgPSAoJHRpbWUuJy0nLiRyZXEpOwoKICRzaWduYXR1cmU9IGJhc2U2NF9lbmNvZGUoaGFzaF9obWFjICggJ3NoYTI1NicgLCAkc3RyaW5nICwgJGtleSAsIHRydWUgKSk7CgogJGNyeXB0X2RhdGE9YmFzZTY0X2VuY29kZShlbmNyeXB0KGhleDJiaW4oJEFFU19LRVkpLCAkcmVxKSk7CgogJHpwcnMgPVNlbmRfUG9zdCgiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5zLmNvbS92Mi41L3NlYXJjaCIsICd7ImRhdGEiOiInLiRjcnlwdF9kYXRhLicifScsJHNpZ25hdHVyZSk7CgogJHpwcnM9anNvbl9kZWNvZGUoJHpwcnMpOwoKICR0aW1lID0gdGltZSgpOwoKIHJldHVybiAkenBycy0+ZGF0YTsKCiB9CgoKCiBmdW5jdGlvbiBHZXRCeVBob25lVGFncyAoJHBob25lKSB7CgogZ2xvYmFsICR0aW1lLCAkVE9LRU4sICRrZXksICRBRVNfS0VZOwoKICRyZXE9J3siY291bnRyeUNvZGUiOiJSVSIsInNvdXJjZSI6ImRldGFpbHMiLCJ0b2tlbiI6IicuJFRPS0VOLiciLCJwaG9uZU51bWJlciI6IicuJHBob25lLicifSc7CgogJHN0cmluZyA9ICgkdGltZS4nLScuJHJlcSk7CgogJHNpZ25hdHVyZT0gYmFzZTY0X2VuY29kZShoYXNoX2htYWMgKCAnc2hhMjU2JyAsICRzdHJpbmcgLCAka2V5ICwgdHJ1ZSApKTsKCiAkY3J5cHRfZGF0YT1iYXNlNjRfZW5jb2RlKGVuY3J5cHQoaGV4MmJpbigkQUVTX0tFWSksICRyZXEpKTsKCiAkenBycyA9U2VuZF9Qb3N0KCJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMuY29tL3YyLjUvbnVtYmVyLWRldGFpbCIsICd7ImRhdGEiOiInLiRjcnlwdF9kYXRhLicifScsJHNpZ25hdHVyZSk7CgogJHpwcnM9anNvbl9kZWNvZGUoJHpwcnMpOwoKIHJldHVybiAkenBycy0+ZGF0YTsKCiB9CgoKCiBwcmludF9yKGpzb25fZGVjb2RlKGRlY3J5cHQoaGV4MmJpbigkQUVTX0tFWSksIEdldEJ5UGhvbmUoJG51bWJlcikpKSk7CiBlY2hvICJcblxuXG4iOwogcHJpbnRfcihqc29uX2RlY29kZShkZWNyeXB0KGhleDJiaW4oJEFFU19LRVkpLCBHZXRCeVBob25lVGFncygkbnVtYmVyKSkpKTsKCgoKPz4=
<?
/*
by SERJ.WS
$AES_KEY и $TOKEN берем в
/data/data/app.source.getcontact/shared_prefs/GetContactSettingsPref.xml
*/
$AES_KEY = '8c93b9b782b120af99ea274f745d2f4b43d89aa8794ccba97c190c8fccbaXXXX';
$TOKEN = 'hagoje90c9d2e59aaa7c31cdb71a643f8346af863a423d90c3cceb6XXXX';
$key = '2Wq7)qkX~cp7)H|n_tc&o+:G_USN3/-uIi~>M+c ;Oq]E{t9)RC_5|lhAA_Qq%_4';
$PRIVATE_KEY = 2615678;
$time = time();
$number="+77073151515";
function decrypt($key, $garble) {
return openssl_decrypt(
base64_decode($garble),
"aes-256-ecb",
$key,
OPENSSL_RAW_DATA
);
}
function encrypt($key, $garble) {
$method = 'AES-256-ECB';
$ivSize = openssl_cipher_iv_length($method);
$iv = openssl_random_pseudo_bytes($ivSize);
return openssl_encrypt(
$garble,
"aes-256-ecb",
$key,
OPENSSL_RAW_DATA
);
}
function Send_Post($post_url, $post_data,$signature)
{ global $TOKEN,$time;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if ($post_data!=""){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-App-Version: 4.9.1",
"X-Token: ".$TOKEN,
"X-Os: android 5.0",
"X-Client-Device-Id: 14130e29cebe9c39",
"Content-Type: application/json; charset=utf-8",
"Accept-Encoding: deflate",
"X-Req-Timestamp: ".$time,
"X-Req-Signature: ".$signature,
"X-Encrypted: 1"));
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function GetByPhone ($phone) {
global $time, $TOKEN, $key, $AES_KEY;
$req='{"countryCode":"RU","source":"search","token":"'.$TOKEN.'","phoneNumber":"'.$phone.'"}';
$string = ($time.'-'.$req);
$signature= base64_encode(hash_hmac ( 'sha256' , $string , $key , true ));
$crypt_data=base64_encode(encrypt(hex2bin($AES_KEY), $req));
$zprs =Send_Post("https://p...content-available-to-author-only...s.com/v2.5/search", '{"data":"'.$crypt_data.'"}',$signature);
$zprs=json_decode($zprs);
$time = time();
return $zprs->data;
}
function GetByPhoneTags ($phone) {
global $time, $TOKEN, $key, $AES_KEY;
$req='{"countryCode":"RU","source":"details","token":"'.$TOKEN.'","phoneNumber":"'.$phone.'"}';
$string = ($time.'-'.$req);
$signature= base64_encode(hash_hmac ( 'sha256' , $string , $key , true ));
$crypt_data=base64_encode(encrypt(hex2bin($AES_KEY), $req));
$zprs =Send_Post("https://p...content-available-to-author-only...s.com/v2.5/number-detail", '{"data":"'.$crypt_data.'"}',$signature);
$zprs=json_decode($zprs);
return $zprs->data;
}
print_r(json_decode(decrypt(hex2bin($AES_KEY), GetByPhone($number))));
echo "\n\n\n";
print_r(json_decode(decrypt(hex2bin($AES_KEY), GetByPhoneTags($number))));
?>