1. 程式人生 > >PC版微信掃描登陸原理

PC版微信掃描登陸原理

1. 二維碼背景
 自從微信推廣二維碼以來,在各個領域二維碼的使用越來越廣泛,幾乎覆蓋了各行各業,甚至連一些軟體也使用二維碼來登陸。那麼在二維碼登陸的背後是什麼原理呢?

2. 解析二維碼
 我們要登陸PC版微信,需要掃描的圖片如下:
PC版二維碼登陸圖

 我們通過解析路徑發現其指向的路徑為https://login.weixin.qq.com/l/obsbQ-Dzag==。那麼這個網址有什麼用呢?它是怎麼來實現和登陸的使用者相繫結的功能呢?

3.原理過程分析
 自己懶得再畫圖,這邊借用別人的圖來解釋。
原理圖
<1>使用者訪問微信網頁版,此時微信伺服器會為其生成一個全域性唯一的UUID。然後這個UUID就存放在上面路徑https://login.weixin.qq.com/l/obsbQ-Dzag==

的後面,此時該操作並沒有和使用者有互動,所以該ID僅僅是個唯一字串而已,系統並不知道該ID會和哪個使用者相繫結。
 如果過此時你不斷地重新整理,你會發現每次的ID都會發生過變化。感興趣的可以自己手動來抓包,這裡就不做示範了。注意:此時伺服器和更改你網頁還會建立一個長連線,為了節約系統資源,如果一段時間不掃描,便會超時。返回狀態為408。

<2>使用者掃描PC端的二維碼,返回狀態碼為201,並且生成一個詢問,是否登入。這個步驟的目的是為了獲取起生成的全域性唯一UUID,為了下一步和微信綁在一起。

<3>使用者如果此時點選確認登陸,則會像系統傳送一條請求,並且將UUID和使用者賬號(或者token)一塊傳送過去。

<4>系統受到這一步的目的是將UUIIDI和使用者賬號(或token)繫結在一起,因為二者都是唯一,便可以確定唯一的對應關係。處理完該關係後,系統會向PC端反饋訊息,這個UUID對應的使用者是A,然後網頁便可請求載入A的微信資訊和資料。

4.總結
 二維碼掃描看起來好像很高大上,其實原理還是比較簡單的。首先瀏覽器獲取一個唯一的、臨時的UUID,然後等待使用者掃描,如果掃描並且確認,後臺系統就會將二者繫結,然後傳送也瀏覽器這個UUID繫結的使用者資訊。從而確定對應關係。
注意:在超時、網路斷開、或者其他裝置瀏覽器上登陸後,,此前繫結的UUID將會失效,這樣會形成更有效的安全防護。有些二維碼不能掃是因為它會訪問釣魚網站,從而造成財產直接或間接流失。

相關推薦

PC掃描登陸原理

1. 二維碼背景  自從微信推廣二維碼以來,在各個領域二維碼的使用越來越廣泛,幾乎覆蓋了各行各業,甚至連一些軟體也使用二維碼來登陸。那麼在二維碼登陸的背後是什麼原理呢? 2. 解析二維碼  我們要登陸P

PC多開,不用軟件,自己動手豐衣足食。

tex ech tencent 文本 class ber 保存 後綴名 AR 關於PC版微信多開 找到微信的安裝路徑(包含 WeChat.exe 的文件夾)如: D:\Program Files\Tencent\WeChat 新建文本文檔,隨意命名,打開後粘貼如下代碼並保

PC聊天記錄重裝系統後如何保留!

聊天 例如 登錄 file ech window 刪除 chat hat 保留的意思是重裝系統後,登上微信,以前的聊天記錄都在。前提:重裝前微信的聊天記錄所在目錄最好在除系統分區以外的分區,例如D盤;操作:1、只重裝系統分區,例如C盤,聊天記錄所在分區既不要刪除也不要格式化

PC多開,不用軟體,自己動手豐衣足食。

關於PC版微信多開 找到微信的安裝路徑(包含 WeChat.exe 的資料夾)如: D:\Program Files\Tencent\WeChat新建文字文件,隨意命名,開啟後貼上如下程式碼並儲存:

windows PC雙開

start C:\"Program Files (x86)"\Tencent\WeChat\WeChat.exe start C:\"Program Files (x86)"\Tencent\WeChat\WeChat.exe 你愛幾開就幾開 注意事項,如果路徑有空格的話,一定

PHP掃描登陸(模擬企業號平臺登陸

最近在做一款基於微信公眾號的管理系統,我們為公司的微信公眾號提供後臺管理功能,此係統能夠實現關注人資訊的上傳和下載,能實現資訊的推送,以及實現一些公司業務相關的功能。鑑於此係統緊密的微信公眾號結合,而且能夠給關注公眾號的人推送資訊,於是在系統的安全上就有別於其他的系統,同時

VC++ 開發PC,CWeixin 類

#define WM_WX_SCANOK (WM_USER + 101) /*掃描成功*/ #define WM_WX_LOGINOK (WM_USER + 102) /*登入成功*/ #define WM_WX_HASMSG (WM_USER + 103) /*收到訊

詳細解讀:遠程線程註入DLL到PC

rem cas 如果 原理 serve 通過 目標 線程 and 一、遠程線程註入的原理   1、其基礎是在 Windows 系統中,每個 .exe 文件在雙擊打開時都會加載 kernel32.dll 這個系統模塊,該模塊中有一個 LoadLibrary() 函數,可以將

詳細解讀:遠端執行緒注入DLL到PC

一、遠端執行緒注入的原理   1、其基礎是在 Windows 系統中,每個 .exe 檔案在雙擊開啟時都會載入 kernel32.dll 這個系統模組,該模組中有一個 LoadLibrary() 函式,可以將DLL檔案載入到自身程序中。   2、這樣,就可以用 CreateRemoteThrea

掃描二維碼登錄網站技術原理

js對象 hit 適合 ace pass 文件 head src get 微信掃描二維碼登錄網站 網站應用微信登錄開發指南 微信掃描二維碼登錄網站是微信開放平臺下網站應用的一種接口實現的功能。微信開放平臺的網址是 https://open.weixin.qq.com 準

Android小代碼(轉)

一個 get 登錄 switch racer 指點 然而 系統 sha 以下代碼僅適用於Android版微信; //switchtabpos:讓微信tab更貼合Android Design 如果你並不喜歡微信Android版和iOS端同用一套UI,現在有一個小方法可以實現T

pc掃碼支付和支付寶在線支付(還未驗證 先留著)

無需 host var efi 成功 raw func pwd 更改 本DEMO演示了PHP支付寶和微信掃碼在線支付,支付成功後,在回調地址顯示支付相關信息。 操作步驟: 1.修改配置文件 Application/common/conf/config.php $arr =

破解開通狀態過濾助手檢測工具

手無論購買什麽東西,大家最關註的幾個地方無非是:價格、質量、品牌等;微信營銷可以說已經成為當今最熱門的一個創業行業,無論是微商城或者是當下最火爆的消耗品微商,在其他在微信上進行營銷的項目。有一個好的微信檢測軟件固然關鍵。這也是一個必要途徑。 做微商最關鍵首要任務是如何增朋友圈的好友,微信不像

破解開通過濾軟件

作為一個營銷人,尤其是網絡營銷人,寫作能力應該說是基本功,是每個營銷人都應該具備的能力。無論是寫營銷策劃方案,寫軟文、公關稿件,還是策劃事件,宣傳文案,無一不要求寫作能力。可是,相當一部分營銷人卻不擅長寫作,對寫作非常的頭疼。 其實,寫作不是什麽難事,是有套路和規律可遵循的。今天和大家分享下

JAVA-語音.speex轉.wav

-a 微信 nothing reat making btool com ase 1.8 功能介紹:PC端將.speex文件解碼為*.wav文件 ### 環境:1. MAC OS 10.12.5/Linux2. Xcode 3. Gcc4. JDK 1.85. speex 1

授權登陸

微信開發 微信授權登陸 一、前沿:很多時候,我們都需要開發微信功能來實現我們的項目的功能邏輯,微信授權登陸方面的肯定也不少,所以我就封裝了個簡單的方法來實現,以方便後面使用。二、流程文檔微信開發者文檔:https://mp.weixin.qq.com/wiki?t=resource/res_main&

專業定制汽車網站開發支持電腦+手機++小程序

系統 ges 維護 一條龍服務 ice 郵箱 get 手機 小程序 網站開發采用:PHP+MySQL+ThinkPHP框架 服務器選擇: 服務器購買地址:http://www.erduyun.com/services/cloudhost/域名購買地址

控工具xp模塊-開發[(wechat)二次開發模塊]

ota raw qq群 loaded 好友 def 如果 chat 模塊安裝 http://repo.xposed.info/module/com.easy.wtool 微控工具xp模塊-開發版[微信(wechat)二次開發模塊] 基於xposed框架的微信二次開

iOS6.5.21發布 適配iPhone X

left 微信 升級 接受 ges image 一個 記錄 添加 昨日,iOS版微信迎來v6.5.21正式版發布,本次升級主要適配iPhone X,在聊天中查找聊天內容時,可以查找交易消息。可以給聊天中的消息設置日期提醒。上一個正式版v6.5.16發布於9月13日,時隔51

授權登陸綁定

rip 計時 move ring 登錄 img info type dir https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4a1da83332cf1cb6&redirect_uri=http