※ 引述《GJTin (屁話哥)》之銘言:
: 大家好,小弟插頭哥,由於最近瘋玩寶可夢,所以沒什麼發文
: 其實我只是想跟各位分享
: 通常那種需要登入帳號就可以自動算出全部pokemon IV的網站或APP
: 基本上都有被BAN的風險,但不是因為server負擔過重或是不想讓你查到IV
: 而是因為你會變成瞬間飛人。
: 插頭哥當初因為害怕帳密被第三方服務幹走,所以自己研究如何寫一個查IV的服務
: 在這邊跟各位分享,當透過API登入到遊戲時,除了帳號跟密碼之外,還有一個參數也是必須同時給官方的
: 沒錯,就是location
: 有新想看code的可以看github上別人分享的API (https://goo.gl/xSQ4cH)
: 在第28行初始化的地方共傳了username/password/location/provider進去
: 也就是說如果要登入遊戲,一開始就必須給一個位置
這邊搞錯了, 這邊是這個程式初始化所需的資訊, 不是送給Server的資訊
我不太確定這個程式的功能是甚麼, 就我看過的部分程式來看
這應該是一個具備相當完整Pokemon GO遊玩功能的軟體
這個軟體是透過poke.io.js裡頭的api_req這個function(101行)跟server要資料
需要傳給api_req的變數是api_endpoint, access_token, req, callback
api_endpoint是API的網址, 定義在api_url這個變數裡
access_token是向google取得的token, 用來讓server辨識是哪個玩家
req是要求的查詢內容
callback是server回傳內容
所有的操作都是呼叫api_req執行, 每個動作需要的req不同
有些的確需要傳入人物的位置資訊, 但有些並不需要
舉例來講, .GetFortDetails這個動作(425行), 我猜是取得道場資料
需傳入的req只有 道場id 道場經緯度, 並不需要任何人物資料
不過我在poke.io.js找不到哪個function是取得pokemon清單的
也許用了難以辨識的名稱, 也許定義在別處?
: 那問題來了,那些第三方的算IV服務怎麼知道你得當前位置?
: 基本上是沒辦法,所以他們一定直接傳一個固定的位置進去
: 例如大家常用的日本算IV網站,可能就是直接傳一個日本的經緯度進去
: 因此當你使用第三方服務時,就會會馬上瞬間移動到某個地方
: 當你馬上又打開遊戲時,又會瞬間移動回來
: 這樣不被ban,怎樣才會被ban?
: 總而言之,插頭哥在這邊呼籲大家
: 最好少用這種需要給帳號密碼且非官方認可的第三方服務
: 慘一點就被官方softban,再慘一點帳號密碼被扒走,最慘就是整個被鎖帳號
: 差不多就是這樣,有人有其他的卦嗎?