使用命令define('KK1',socket_read($s,99999));
$tp = unpack('H*',KK1);
$f1 = substr($tp[1],34,strlen($tp[1]));
print_r($tp);
不是说substr() 函数是返回字符串的一部分吗?
我把tp[1]和f1返回的值比较了下,怎么看两个值都没什么联系啊!小弟刚开始学PHP好多都不懂。请高手帮忙解释下,谢谢!!!
$tp = unpack('H*',KK1);
$f1 = substr($tp[1],34,strlen($tp[1]));
print_r($tp);
不是说substr() 函数是返回字符串的一部分吗?
我把tp[1]和f1返回的值比较了下,怎么看两个值都没什么联系啊!小弟刚开始学PHP好多都不懂。请高手帮忙解释下,谢谢!!!
//substr是取子串函数
$str = 'abcdefg'
echo substr($str,3,5);
$f1 = substr($tp[1],34,strlen($tp[1]));
print_r($tp);$tp[1] 值是B 长度才一位 你这样子写明显不对
最后你打印的是$tp 是不是错了
得到$tp,再从$tp中取出字符串$f1,关键就是在这一步,既然$f1是截取的$tp的一部分那么它们的值应该有一部分相同吧?但事实我把两个值做了比较,得到的结果是完全不同。
$tp[1]等于$tp吗?你截取的是$tp[1],是一个字节,和$tp怎么比较?
string substr ( string string, int start [, int length] ) 这个函数自己看下
$a->b->read($a,$sss);//接收封包
//KKK1 返回过来的 pocket封包
$cc = $a->a->jiebao();
$a->b->write2($sss,$cc);//发送封包
$a->a->read($a,$sss);//接收封包
//KK1 返回过来status封包
$a->a->write($sss);
$a->c->read($sss);//接收封包
//KAO 返回过来的house封包
$a->d->write($sss);
$a->e->read($sss);//接收封包
//RI 返回过来 task封包
$tp = unpack('H*',KK1);
$f1 = substr($tp[1],34,strlen($tp[1]));
$len = strlen($f1)/2;
$tp = unpack('H*',KKK1);
$f2 = substr($tp[1],24,strlen($tp[1]));
$tp = unpack('H*',KAO);
$f3 = substr($tp[1],24,strlen($tp[1]));
if (substr($f3,0,6) != '000000'){
$f3 = '00'.$f3;
}
$tp = unpack('H*',RI);
$f4 = substr($tp[1],24,strlen($tp[1]));
<?php if (!defined('NAME')){echo 'not allow';exit;}
include_once 'c.php';
include_once 'd.php';
include_once 'e.php';
include_once 'f.php';
include_once 'g.php';
class zxadmin{
public $a;
public $b;
public $c;
public $d;
public $e;
function __construct(){
$this->a = new status();
$this->b = new pocket();
$this->c = new house();
$this->d = new task();
$this->e = new socket();
}
function read($c){
define('KKK1',socket_read($c,99999));
}
function roleid(){
$this->roleidtohex();
$this->roleidhextobase();
}
function roleidtohextt(){
$hex = base_convert($_SESSION['roleid'],10,16);
if (strlen($hex) < 8){
$rhex = $hex;
$ito = 8-strlen($hex);
for ($i=1;$i<=$ito;$i++){
$rhex = '0' . $rhex;
}
define('ABABC',base64_encode($rhex));
}else {
define('ABABC',base64_encode($hex));
}
}
function roleidtohextttt($id){
$hex = base_convert($id,10,16);
if (strlen($hex) < 8){
$rhex = $hex;
$ito = 8-strlen($hex);
for ($i=1;$i<=$ito;$i++){
$rhex = '0' . $rhex;
}
return $rhex;
}else {
return $hex;
}
}
function writeto($s){
socket_write($s,pack('H*',$_SESSION['hhh'].$_SESSION['lll'].$_SESSION['hh'].FBA.'0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'.FBE.FBC.FBD.'00'));
}
function readxx($s){
$b = socket_read($s,1024);
$c = unpack('H*',$b);
define('RE',$c[1]);
}
function roleidtohex(){
$rid = strtoupper(base_convert($_SESSION['roleid'],10,16));
switch (strlen($rid)){
CASE 1:
$rid = '000' . $rid;
break;
case 2:
$rid = '00' . $rid;
break;
case 3:
$rid = '0' . $rid;
break;
}
define('ABAB',$rid);
}
function rere(){
$a = substr(RE,-2,2);
if ($a == '00') {
echo '保存成功';
}else {
echo '保存失败,请查看gamedbd运行情况';
}
}
function idtohex($c){
$rid = strtoupper(base_convert($c,10,16));
switch (strlen($rid)){
CASE 1:
$rid = '000' . $rid;
break;
case 2:
$rid = '00' . $rid;
break;
case 3:
$rid = '0' . $rid;
break;
}
return $rid;
}
function read2($s){
define('KK1',socket_read($s,99999));
}
function roleidhextobase(){
define('ABABC',base64_encode(ABAB));
}
function len1(){
define('BBL5',BBL1+BBL2);
}
function len2(){
define('HHH1',strlen($_SESSION['hh'])/2);
}
function fbdxhex(){
$dx = base_convert($_SESSION['lll'],10,16);
switch (strlen($dx)){
case 1:
$fbdxfb = '0'.$dx;
break;
case 2:
$fbdxfb = $dx;
break;
case 3:
$fbdxfb = '8' . $dx;
break;
case 4:
$fbdxfb = 'c000'.$dx;
break;
}
$_SESSION['lll'] = $fbdxfb;
}
function dopocket(){
$ppp1 = substr(FBB,0,8);
$ppp2 = base_convert(substr(FBB,8,8),16,10)+3;
$ppp3 = $this->roleidtohextttt($ppp2);
$ppp4 = substr(FBB,16,strlen(FBB));
define('FBE',$ppp1.$ppp3.$ppp4);
}
}
<?php if (!defined('NAME')){echo 'not allow';exit;}
class pocket{
function read($a,$b){
$a->read($b);
}
function a(){
//a.php的MD5值
define('AAAA','e6734c2c4a2af242266160f849e18663');
define('BBBB','a.php');
}
function yz($a){
$b = hash_file('SHA256',$a);
if ($b !== $b){
//return false;
}else {
//返回背包HEX
return array('Ly84QkNDMDEwMg==','Ly9DOUJCMDAxMQ==','Ly8wOEFBOUExOA==','Ly84MDAwMDAwMA==','Ly8wMDAwMDIwMDAw');
}
}
function decodehead(){
$this->decodeheaddefind(substr(base64_decode($_SESSION['a'][0]),0,8));
}
function decodeheaddefind($a){
define('ZZ1',substr($a,2,2));
}
function bb(){
//返回pocket 第2个字节
return substr(base64_decode($_SESSION['a'][1]),2,2);
}
function aaa(){
$_SESSION['p'] = HEHE.HAHA2;
}
function pocketfb(){
define('CCC1',base64_encode('0F00010C00'.substr(base64_decode($_SESSION['ppp']),10,20)));
}
function pocfb(){
define('CCC2',base64_encode('0F0F0F'.substr(base64_decode(CCC1),10,20).base64_decode(ABABC)));
}
function write($s){
$kkk = substr(base64_decode(CCC2),6,25);
socket_write($s,pack('H*',$kkk));
}
function write2($s,$c){
$cc = unpack('H*',$c);
$kkk = substr($cc[1],10,4).substr(base64_decode(CCC2),10,25);
socket_write($s,pack('H*',$kkk));
}
function ip(){
define('PPP1','192');
define('PPP2','127');
}
function pocketlen(){
define('BBL3',strlen(FBC)/2);
}
}这是d.php<?php if (!defined('NAME')){echo 'not allow';exit;}
class status{
function __construct(){
}
function indexhash(){
define('AAA','54c83f51827ab4c9561cde2c1f0fbc1cf2e1d48c7a14e479c3e185b79ccbe694');
}
function aa(){
define('AAAAA','OEJCRDgzNzUwMDAwMDAyRDAwMDAwMDAwMDAwMDAwM0YwMDAwMDRFMDAwMDdBMTMwMDEwMDAwMDRFMDAwOEJDNzA4ODAwMDAwMDEwMDAwMDAwMDAwMTEzQzAwMDA2ODJCMDcwQzQwMDAwMDAwMEEwMDAxMDAwMA==');
}
function a(){
}
function yanz(){
}
function stat($a){
$a->roleid();//返回定义好的 ABABC 就是base64的roleid
}
function stattt($a){
if (!isset($_SESSION['index'])){
echo 'not allow';
exit;
}else {
$a->roleidtohextt();//返回定义好的 ABABC 就是base64的roleid
}
}
function bbb($d){
$d->b->decodehead();
}
function ccc(){
if (!isset($_SESSION['index'])){
echo 'not allow';exit;}
else {
define('ZZ2',substr(base64_decode($_SESSION['b'][0]),2,2));
}
}
function jiebao(){
return pack('H*','0F0F010102'.substr(base64_decode(AAAAA),60,4));
}
function read($a,$s){
$a->read2($s);
}
function write($tt){
socket_write($tt,pack('H*',ZZ1.ZZ2.substr(base64_decode(CCC2),10,25)));
}
function ip(){
if (substr(P,0,3) != PPP1 && substr(P,0,3) != PPP2){
echo 'IP地址'.P.'不合法。请使用192开头 或者 127开头的IP地址';
exit;
}else {
define('SS1',HAHA1);
}
}
function statlen(){
define('BBL2',strlen(FBB)/2);
}
function getuserlist(){
}
}这是e.php<?php if (!defined('NAME')){echo 'not allow';exit;}
class house{
function indexname(){
return $this->decode('aW5kZXgucGhw');
}
function decode($u){
return base64_decode($u);
}
function yz(){
$b = hash_file('MD5',BBBB);
if ($b !== AAAA){
//return false;
return array('Ly9EM0JCMDAxMQ==');
}else {
//返回仓库的HEX
return array('Ly9EM0JCMDAxMQ==');
}
}
function bb(){
define('BB2',ZZ1.ZZ2);
}
function bbb(){
$_SESSION['pp'] = base64_encode('000101010101'.$_SESSION['p'].HAHA3);
}
function read($ttt){
define('KAO',socket_read($ttt,888888));
}
function ip(){
define('P',$_SESSION['ip']);
}
function tasklen(){
define('BBL4',strlen(FBD)/2);
}
}
<?php if (!defined('NAME')){echo 'not allow';exit;}
class task {
function __construct(){
}
function ccc(){
$_SESSION['ppp'] = base64_encode('0201020201'.substr(base64_decode($_SESSION['pp']),12,20).HAHA4);
}
function write($tt){
socket_write($tt,pack('H*',ZZ1.'CB'.substr(base64_decode(CCC2),10,25)));
}
function len2(){
define('BBL6',BBL3+BBL4);
}
function tjlen(){
$_SESSION['lll'] = HHH1+BBL5+BBL6+47+1;
}
}这是g.php<?php if (!defined('NAME')){echo 'not allow';exit;}
class socket {
function h(){
echo 'hh';
}
function ddd($cc){
define('BBBB1',ZZ1.$cc);
}
function eee(){
define('HEHE',$this->fff().$this->ggg());
}
function fff(){
$a = BBBB1;
return $a;
}
function ggg(){
$b = HAHA1;
return $b;
}
function read($ttt){
define('RI',socket_read($ttt,888888));
}
function deff($c){
define('FBA',$c['cs'].$c['lv'].$c['wz1'].$c['exp'].$c['pp1'].$c['hp'].$c['mp'].$c['xyz'].$c['pk'].$c['map'].$c['time'].$c['cxy'].$c['xxxz1'].$c['xxxz2'].$c['dtq1'].$c['dtq1_v'].$c['dtq2'].$c['dtq2_v'].$c['dtq3'].$c['dtq3_v'].$c['dtq4'].$c['dtq4_v'].$c['dtq5'].$c['dtq5_v'].$c['dtq6'].$c['dtq6_v'].$c['house_len'].$c['house_v'].$c['dtq7'].$c['dtq7_v'].$c['dtq8'].$c['dtq8_v'].$c['dtq9'].$c['dtq9_v'].$c['dtq10'].$c['dtq10_v'].$c['mm1'].$c['mm2'].$c['mm3'].$c['mm4'].$c['lastdc'].$c['cxj'].$c['dtq11'].$c['dtq11_v'].$c['dtq12'].$c['dtq12_v'].$c['base']);
define('FBB',$c['pocket']);
define('FBC',$c['house']);
define('FBD',$c['task']);
}
function head(){
$_SESSION['hh'] = HAHA4.HAHA3.base64_decode(ABABC).'000000070000000102'.base64_decode(ABABC).'0007a13001'.base64_decode(ABABC);
}
function headaa(){
$_SESSION['hhh'] = SS1.HAHA2;
}
function baselen(){
define('BBL1',strlen(FBA)/2);
}
}