前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >4399积分小游戏大全_4399小游戏大全手机版

4399积分小游戏大全_4399小游戏大全手机版

作者头像
全栈程序员站长
发布2022-09-20 11:09:50
2.9K0
发布2022-09-20 11:09:50
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

近日有研究4399的积分小游戏的分数提交规则, 但不能太高调的对做类似外挂的东西…

写以下代码..仅供分析研究

代码语言:javascript
复制
 1 <?php
 2 function emMsg($v) {
 3 echo($v);
 4 }
 5 
 6 include_once 'mysql.php';
 7 
 8 class getList {
 9 
 10 private $db;
 11 
 12 function __construct() {
 13 $this->db = MySql::getInstance();
 14 }
 15 
 16 function getPkList($tid = null) {
 17 $res = $this->db->query('SELECT * FROM gamelist' . (empty($tid) ? '' : ' where gameTid=\'' . $tid . '\''));
 18 $list = array();
 19 if (!$this->db->num_rows($res))
 20 $list = $this->initList_4399();
 21 else
 22 while ($row = $this->db->fetch_array($res)) {
 23 $list[] = $row;
 24 }
 25 return $list;
 26 }
 27 
 28 /*
 29  * 初始化积分游戏
 30 */
 31 
 32 function initList_4399() {
 33 $this->db->query('delete from gamelist');
 34 
 35 $echo_arr = array();
 36 
 37 for ($j = 1; $j < 12; $j++) {
 38 $file_contents = iconv('gb2312', 'utf-8//ignore', file_get_contents('http://pk.4399.com/flash/' . $j . '_1.htm'));
 39 $out = array();
 40 //<a href="http://pk.4399.com/user/377.htm" target="_blank"><img title="野人钓鱼" alt="野人钓鱼" border="0" src="http://swfpk.4399pk.com:8080/4399pkbak/bak/pkimg/index_img/377.jpg" width="75" height="75"></a>
 41 if (preg_match_all('/<li><a href="http:\/\/pk\.4399\.com\/user\/(\d+)\.htm" target="\_blank"><img.*?title="(.*?)".*?src="(.*?)".*?><\/a><p>.*?<\/p><\/li>/', $file_contents, $out)) {
 42 //return $out;
 43 if (count($out) == 4) {
 44 for ($i = 0; $i < count($out[1]); $i++) {
 45 $sql = "insert into gamelist (gameId,gameName,gameImg,gameTid) values('{$out[1][$i]}','{$out[2][$i]}','{$out[3][$i]}','{$j}')";
 46 $this->db->query($sql);
 47 array_push($echo_arr, array($out[1][$i], $out[2][$i], $out[3][$i]));
 48 }
 49 }
 50 }
 51 sleep(2);
 52 }
 53 return $echo_arr;
 54 }
 55 
 56 /*
 57  * 得到积分
 58  * $id 游戏ID
 59  * $total 个数
 60  * $model 模式 current 当前 all 总排行 month 月排行 last 上轮
 61 */
 62 
 63 function getSocre_4399($id, $model = 'all', $total = 3) {
 64 $curl = curl_init();
 65 curl_setopt($curl, CURLOPT_URL, 'http://my.4399.com/flashgame.php?ac=score_' . $model . '&gameid=' . $id);
 66 curl_setopt($curl, CURLOPT_COOKIE, 'Pauth=403370469|66847612|7082ed77f7c271b74d84de349009452a|1328319929|10002|bbeae2e37479547b7c0d5da25d8eb004|0;');
 67 // 403370469|66847612|c389c838712319dc773eef783f972fef|1328331099|10001|60bfe9367afff7e737d00b2f998dd7f8|0
 68  // 403370469|66847612|580ea10bd8ccf57035a31c7d2abef941|1328333572|10002|ef2b08825599a1fc7ef0ef399b630ca4|0
 69  // 403370469|66847612|0773296261e645a773fc245d039db2a6|1328333608|10002|83a5f67767d051e8f31d26df70445663|0
 70  //curl_setopt($curl, CURLOPT_REFERER, 'http://www.360buy.com/');
 71  //curl_setopt($curl,CURLOPT_HTTPHEADER,array('Referer:http://www.360buy.com/'));
 72 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 73 $file_contents = curl_exec($curl);
 74 curl_close($curl);
 75 //$file_contents = iconv('gb2312', 'utf-8//ignore', $file_contents);
 76 /* <td><a href="flashgame.php?ac=profile&uid=212607398">1051414225</a></td>
 77  <td>151478</td>
 78  * <td align="center"><a href="flashgame.php?ac=profile&uid=103301144">wawa6346</a></td><td align="center">172895</td>
 79  * */
 80 //echo $file_contents;
 81 $out = array();
 82 if (preg_match_all('/<td.*?><a href="flashgame.php\?ac\=profile&uid=.*?">.*?<\/a><\/td>.*?<td.*?>(\d+)<\/td>/s', $file_contents, $out)) {
 83 $ret_array = array_slice($out[1], 0, $total);
 84 $sql = 'update gamelist set gameScore=\'' . json_encode($ret_array) . "' where gameId='{$id}'";
 85 $this->db->query($sql);
 86 return $ret_array;
 87 }
 88 return array();
 89 //echo $file_contents;
 90 }
 91 
 92 function setSocre_4399($id, $m = null, $arr = null) {
 93 if (empty($arr)) {
 94 $arr = $this->db->once_fetch_array('SELECT gameScore FROM gamelist where gameId=\'' . $id . '\'');
 95 $arr = json_decode($arr['gameScore'], true);
 96 }
 97 if (empty($arr))
 98 return 'error';
 99 
100 //平均分 冠军分 亚军分 季军分
101 if (empty($m)) {
102 $score = floor(array_sum($arr) / count($arr));
103 } else {
104 $score = $arr[$m - 1];
105 }
106 
107 //toKen
108 $token = substr(file_get_contents('http://my.4399.com/flashgame/flashgame_reload_token.php'), 7);
109 $miyao = 'ok123';
110 $orderId = date("YmdHis") . rand(100000, 999999);
111 $link = 'xn';
112 //_root.result + "xn" + _root.orderId + _root.miyao + "xn" + _level0.gameId + "xn" + _root.token
113  //http://my.4399.com/flashgame.php?ac=score_submit&token=73880937914d7521321497fbf27a189beea76f&Mac=257be7e4641d73e9a94c968f986e7516&orderId=20120204234108456451&result=10&gameId=346
114 $md5_token = md5($score . $link . $orderId . $link . $miyao . $link . $id . $link . $token);
115 $url = "http://my.4399.com/flashgame.php?ac=score_submit&token={$token}&Mac={$md5_token}&orderId={$orderId}&result={$score}&gameId={$id}";
116 $curl = curl_init();
117 curl_setopt($curl, CURLOPT_URL, $url);
118 curl_setopt($curl, CURLOPT_COOKIE, 'Pauth=403370469|66847612|7082ed77f7c271b74d84de349009452a|1328319929|10002|bbeae2e37479547b7c0d5da25d8eb004|0;');
119 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
120 //curl_setopt($curl, CURLOPT_POST, TRUE);
121  //curl_setopt($curl, CURLOPT_POSTFIELDS, "source=" . Vendor_Sina::appid . "&target_id={$target_id}");
122 $file_contents = curl_exec($curl);
123 curl_close($curl);
124 $out = array();
125 if (preg_match('/<div class="score_number"><h3>.*?<\/h3><p>(\d+)<\/p><\/div>/', $file_contents, $out)) {
126 if (is_numeric($out[1]))
127 return $out[1];
128 }
129 return 'null';
130 }
131 
132 }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168216.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档