@jzp113
2018-02-09T02:58:29.000000Z
字数 2020
阅读 1287
api
安卓
逆向
1.获取认证key
Get请求 http://tjv1.dftoutiao.com/getkey/key?appver=010501
2.生成加密key
调用下面keys代码生成加密key
<?php
//Enter your code here, enjoy!
function s($str){
$i = 3;
$i2 = 0;
if ($str == false || strlen($str) != 13) {
return false;
}
$str2;
$substring = substr($str, 1, 8);
$toCharArray = substr($str, 10);
$i3 = ord($toCharArray[0]) % 8;
if ($i3 < 3) {
$i3 = 3;
}
$i4 = ord($toCharArray[1]) % 8;
if ($i4 >= 3) {
$i = $i4;
}
// echo $i3."\n".$i;
$substring2 = substr($substring, 0, $i3);
$str3 = "";
// echo $substring."\n";
for ($i3 = strlen($substring) - 1; $i3 >= strlen($substring) - $i; $i3--){
$str3 = $str3.$substring[$i3];
}
// echo $str3."\n";
if (strlen($substring2) > strlen($str3)) {
$i = strlen($substring2) - strlen($str3);
$toCharArray2 = $str3;
for ($i3 = 0; $i3 < $i; $i3++) {
$str3 = $str3.$toCharArray2[$i3 % strlen($toCharArray2)];
}
$str2 = $substring2;
} else if (strlen($str3) > strlen($substring2)) {
$length = strlen($str3) - strlen($substring2);
$toCharArray3 = $substring2;
$i = 0;
$str2 = $substring2;
while ($i < $length) {
$substring2 = $str2.$toCharArray3[$i % strlen($toCharArray3)];
$i++;
$str2 = $substring2;
}
} else {
$str2 = $substring2;
}
// return $str2."\n".$str3;
$bytes = array();
$bytes2 = array();
$iArr = array();
for($i = 0; $i < strlen($str2); $i++){
$bytes[] = ord($str2[$i]);
}
for($i = 0; $i < strlen($str3); $i++){
$bytes2[] = ord($str3[$i]);
}
// print_r($bytes2);
// byte[] bytes = str2.getBytes();
// byte[] bytes2 = str3.getBytes();
// int[] iArr = new int[str2.length()];
switch (ord($toCharArray[2]) % 4) {
case 0:
for ($i3 = 0; $i3 < strlen($str2); $i3++) {
$iArr[$i3] = $bytes[$i3] + $bytes2[$i3];
}
break;
case 1:
for ($i3 = 0; $i3 < strlen($str2); $i3++) {
$iArr[$i3] = abs($bytes[$i3] - $bytes2[$i3]);
}
break;
case 2:
for ($i3 = 0; $i3 < strlen($str2); $i3++) {
$iArr[$i3] = $bytes[$i3] & $bytes2[$i3];
}
break;
case 3:
for ($i3 = 0; $i3 < strlen($str2); $i3++) {
$iArr[$i3] = $bytes[$i3] ^ $bytes2[$i3];
}
break;
}
print_r($iArr);
$str4 = "";
for($i=0;$i<strlen($str2);$i++){
$st = dechex($iArr[$i]);
if(strlen($st) == 1){
$st = "0".$st;
}
$str4 = $str4.$st;
}
for ($i3 = strlen($str4); $i3 < 16; $i3++) {
$str4 = $str4."0";
}
$f = hexdec($str4);
$s2 = sprintf ( "%.0f", $f );
return $s2;
}
function keys($prefix,$s){
return substr(md5($prefix.s($s).$s), 8,16);
}
echo keys("toutiao","3xWjFkcZGlPS3");