@jzp113
2018-02-09T02:58:29.000000Z
字数 2020
阅读 1387
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");