王盛邦, 韋寶典, 謝 逸
(1. 中山大學(xué) 公共教學(xué)實(shí)驗(yàn)中心, 廣東 廣州 510006;2. 中山大學(xué) 數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院, 廣東 廣州 510006)
通過技術(shù)層面分析微信紅包[1-4],并以此作為教學(xué)案例。通過抓取移動(dòng)數(shù)據(jù)分析微信紅包分發(fā)、接收的全過程,包括URL、紅包服務(wù)器IP和延遲等細(xì)節(jié)內(nèi)容;此外,通過記錄和分析群內(nèi)搶紅包數(shù)據(jù),找出紅包金額分布規(guī)律、時(shí)序分布規(guī)律以及每個(gè)人多次搶到的紅包金額的分布規(guī)律。剖折、探究自動(dòng)搶紅包的機(jī)理,提出了防范外掛搶紅包軟件的策略。
在對(duì)移動(dòng)端數(shù)據(jù)進(jìn)行分析的過程中,需要捕獲手機(jī)端側(cè)的數(shù)據(jù)包。在有線網(wǎng)絡(luò)環(huán)境里,基本上不必做特別的設(shè)置,使用諸如Wireshark的工具,就可以捕獲到大量的數(shù)據(jù)包。而對(duì)于手機(jī)上移動(dòng)端數(shù)據(jù),捕獲方法顯然有別于有線網(wǎng)絡(luò)環(huán)境。目前比較常用的方法有以下幾種:
(1) 使用Tcpdump[5]工具抓包,所抓取的數(shù)據(jù)包保存在手機(jī)上,之后需傳回PC處理,此法需要root權(quán)限,缺點(diǎn)是環(huán)節(jié)較多;
(2) 在PC上建立WiFi熱點(diǎn),手機(jī)連上熱點(diǎn)后使用熟知的Wireshark[6-7]就可以捕獲流經(jīng)的數(shù)據(jù)包,只要PC配備有無線網(wǎng)卡且具有無線承載功能,就可以采用此法;
(3) 使用Fiddler[8-9]工具抓包,Fiddler是一個(gè)富客戶端桌面工具,可以對(duì)移動(dòng)終端上客戶端和服務(wù)器之間的通信數(shù)據(jù)進(jìn)行捕獲,一般需要將PC上的瀏覽器的代理設(shè)置為指向Fiddler所監(jiān)聽的端口,Fiddler啟動(dòng)后對(duì)該端口進(jìn)行監(jiān)聽,當(dāng)瀏覽器請(qǐng)求網(wǎng)頁的時(shí)候,Fiddler便能獲取所有請(qǐng)求的數(shù)據(jù)和Web服務(wù)器回復(fù)的數(shù)據(jù)。
采用第2或第3種方法,對(duì)于所有能夠無線訪問的手機(jī)都比較合適。而在PC端建立WiFi熱點(diǎn)方面,只須使用Windows系統(tǒng)提供的網(wǎng)絡(luò)外殼命令netsh。此命令同時(shí)起到監(jiān)視自己的WiFi有沒有被蹭網(wǎng)的作用。
捕獲到手機(jī)數(shù)據(jù)包后,接下來就是對(duì)關(guān)于紅包的數(shù)據(jù)包進(jìn)行分析。圖1、圖2是捕獲的微信紅包數(shù)據(jù)。
圖1 發(fā)紅包數(shù)據(jù)
圖2 拆紅包數(shù)據(jù)
微信紅包應(yīng)用流程主要分為發(fā)送和接收2個(gè)主要流程。分析圖1、圖2可知:
(1) 發(fā)送流程主要交互域名為short.weixin.qq.com,以POST方式發(fā)起,包括支付過程。
(2) 接收流程主要交互域名為wx.gtimg.com,以GET方式下載紅包圖片,以POST方式向short.weixin.qq.com發(fā)起紅包余額相關(guān)更新。
GET就是搶紅包的關(guān)鍵,接收紅包消息,該消息類型為圖片形式,該消息觸發(fā)的信令詳細(xì)URI為http://wx.gtimg.com/hongbao/img/hongbao.png,訪問方式為GET,資源類型為image/png。
POST就是拆紅包的關(guān)鍵,點(diǎn)開紅包頁面,點(diǎn)擊“拆”后便跳轉(zhuǎn)至紅包詳情界面,后臺(tái)進(jìn)行紅包余額更新等交互動(dòng)作,該動(dòng)作出發(fā)的信令詳細(xì)URI為http://short.weixin.qq.com/cgi-bin/mmpay-bin/hongbao,訪問方式為POST,資源類型為application/octet-stream。
經(jīng)多次實(shí)驗(yàn),微信在應(yīng)用層使用HTTP協(xié)議傳輸數(shù)據(jù),微信紅包分發(fā)以POST方式發(fā)起,包括支付過程;而接收流程以GET的方式下載紅包圖片,以POST方式發(fā)起紅包余額更新(搶到紅包)。騰訊提供了多個(gè)負(fù)載均衡服務(wù)器,除IP地址為14.215.158.100外,還有58.251.100.101、180.163.25.140等。另外,微信使用了基于TSL 1.3的安全通信協(xié)議mmtls[10],該協(xié)議只對(duì)Server做認(rèn)證。mmtls除安全性高外,還可保證數(shù)據(jù)在傳輸過程低延遲。
其他細(xì)節(jié),諸如紅包發(fā)送頁面、支付頁面、成功發(fā)送、接收紅包、拆紅包等,都可在抓取的數(shù)據(jù)包中詳細(xì)分析,限于篇幅,本文不再展開。
搶紅包時(shí),常彈出“手慢了”的提示,如果排除人為因素,主要與延遲有關(guān)。微信客戶端與服務(wù)器之間的鏈接是通過TCP協(xié)議建立的,而后面?zhèn)魉蛿?shù)據(jù)的過程主要就是用HTTP協(xié)議建立的。這2部分都可能產(chǎn)生延遲協(xié)議。此外,還有DNS 解析的時(shí)間等。圖3是通過Fiddler工具捕獲的數(shù)據(jù)。
圖3 Fiddler捕獲的數(shù)據(jù)
通過Fiddler工具的Statistics選項(xiàng)卡 可以查看到有關(guān)HTTP 請(qǐng)求的信息,包括Client 以及Server 的連接、請(qǐng)求和響應(yīng)時(shí)間(3次握手產(chǎn)生的延遲)。例如本次實(shí)驗(yàn)中,DNS 解析的時(shí)間是5 ms,建立TCP/IP 連接的時(shí)間是139 ms。此外,受制于服務(wù)器的處理效率及客戶端設(shè)備的效率等,服務(wù)器處理也是有一定的延時(shí)。還會(huì)存在因?yàn)閬G包而產(chǎn)生的難以避免的延遲。實(shí)際上,延遲還要考慮網(wǎng)絡(luò)環(huán)境,較優(yōu)的路線可以降低延時(shí)和丟包率等。
(1) WiFi環(huán)境還是運(yùn)營商流量環(huán)境。手機(jī)網(wǎng)絡(luò)的狀態(tài)是搶到紅包成功與否的關(guān)鍵因素。隨著4G網(wǎng)絡(luò)的發(fā)展,在信號(hào)正常的環(huán)境下,4G網(wǎng)絡(luò)的網(wǎng)速已經(jīng)超越寬帶的網(wǎng)速,而且4G網(wǎng)絡(luò)的延時(shí)僅僅為20~30 ms,遠(yuǎn)勝于一般寬帶100 ms左右的延遲。同時(shí)由于WiFi屬于公用網(wǎng)絡(luò),同一WiFi下的其他用戶網(wǎng)絡(luò)數(shù)據(jù)的不確定性又為搶紅包帶來了很大的干擾,而且WiFi的信號(hào)在不同的位置會(huì)有不同程度的衰減。所以,搶紅包的時(shí)候4G網(wǎng)絡(luò)優(yōu)先,WiFi次之。
(2) 手機(jī)性能。手機(jī)性能對(duì)搶紅包有何影響?使用4年前出品的手機(jī),與時(shí)下流行的熱門手機(jī)在同一環(huán)境進(jìn)行搶紅包測(cè)試。假設(shè)有紅包30份,經(jīng)多次試驗(yàn),在WiFi環(huán)境下,新手機(jī)不會(huì)落空,搶到時(shí)一般處于前10,而舊手機(jī)如能搶到,要排到27之后,甚至常搶不到;在使用運(yùn)營商流量時(shí),新手機(jī)已經(jīng)搶到紅包了,而舊手機(jī)才出現(xiàn)紅包提示圖標(biāo)。這說明手機(jī)性能對(duì)延遲的影響程度很大。
(3) 手機(jī)品牌。搶紅包的時(shí)候往往是一瞬間的事,需要手機(jī)能極快速地跳轉(zhuǎn)到“搶紅包”的頁面,所以理論上來說,性能越強(qiáng)的手機(jī)在搶紅包的時(shí)候越有優(yōu)勢(shì)。由于不同品牌手機(jī)性能會(huì)有所差異,即使是同時(shí)期的產(chǎn)品,在延遲上也會(huì)略有差異。
搶紅包策略是一個(gè)引人入勝的問題。時(shí)常期望自己是手氣最佳的,但有時(shí)在某種情況下又希望避免手氣最佳。最懊惱的莫過于點(diǎn)開紅包后看到“手慢了”的提示。
微信派發(fā)紅包的形式共有2種,一種是普通的等額紅包,一對(duì)一或者一對(duì)多發(fā)送,無論先搶還是后搶,紅包金額是一樣的;另一種被稱作“拼手氣群紅包”,由發(fā)紅包者設(shè)定好總金額以及紅包份數(shù),自動(dòng)生成不同金額的紅包供他人搶,搶到的紅包中金額隨機(jī)(隨機(jī)數(shù)在0.01~200元之間),多的可能超過紅包總額的80%,少的只有一兩分錢。本文討論的是后一種形式。這種形式在拆開紅包后可看到“紅包詳情”中各種隨機(jī)生成的金額不等的紅包,通?!笆謿庾罴选敝挥幸粋€(gè)(有可能會(huì)出現(xiàn)金額一樣的,但是手氣最佳只有一個(gè),先搶到的那個(gè)為最佳)。如果份數(shù)被設(shè)定得足夠多,就有可能產(chǎn)生0.01元的紅包。
值得一提的是有所謂“末尾紅包抽屜原理”。該原理稱,在微信紅包中,n個(gè)人搶(n+1)分錢,必然是前面的人都搶到1分,最后一個(gè)人搶到2分。經(jīng)測(cè)試,在手機(jī)上基本如此。
微信并未公布紅包隨機(jī)生成算法,本文只是通過實(shí)驗(yàn)數(shù)據(jù)給出一些搶紅包策略。
實(shí)驗(yàn)獲取紅包的數(shù)據(jù)見圖4,一共有12組,每組有21個(gè)成員參與搶紅包,每次的總金額是5元,紅框處屬于手氣最佳。
圖4 搶紅包樣本數(shù)據(jù)
通過觀察圖4可知,紅包金額最小的為0.01元,第一個(gè)被搶紅包金額最大為 0.43,這小于均值的2倍(0.476)。且每個(gè)紅包的金額都比剩余均值的2倍要小,即紅包金額分布在0.01到2倍剩余金額均值之間。對(duì)以上數(shù)據(jù)畫出散點(diǎn)圖,如圖5所示。
圖5 紅包金額分布圖
橫軸為第n個(gè)人搶的紅包,縱軸為搶到的紅包的金額。通過對(duì)比,可以發(fā)現(xiàn)越往后面覆蓋的金額范圍越大,最高金額的紅包幾乎是由后搶的人獲得。即越往后面搶獲得最高金額的機(jī)會(huì)越大。根據(jù)圖4中數(shù)據(jù)畫出紅包金額的均值以及標(biāo)準(zhǔn)差折線圖,如圖6所示。
圖6 紅包金額的均值以及標(biāo)準(zhǔn)差
由圖6可見,均值在每個(gè)紅包均值范圍上下浮動(dòng)不大,而標(biāo)準(zhǔn)差則是越后越大。所以,越后搶紅包的金額越不穩(wěn)定,即有機(jī)會(huì)搶到大紅包。通常第一個(gè)搶紅包的人通常不會(huì)手氣最佳。后搶的標(biāo)準(zhǔn)差更大,也就是能搶到超級(jí)大的紅包,也可能搶到超級(jí)小的紅包。其規(guī)律總結(jié)如下:
(1) 每個(gè)紅包金額服從最小值(0.01)到 2 倍剩余均值之間的均勻分布,即不論先搶后搶,紅包金額均值都一樣。
(2) 越往后搶紅包金額的方差越大,即越后搶越可能搶到超級(jí)大紅包。
當(dāng)我們點(diǎn)擊“拆”紅包圖標(biāo)時(shí),實(shí)際上并不知道該紅包有多少份、每份有多少金額,以及已經(jīng)有多少人在前面搶了,因而所謂“策略”有點(diǎn)“蒙”的意思。但根據(jù)實(shí)驗(yàn)的結(jié)果,可以大體上把握一些微信搶紅包的技巧:
(1) 不論是先搶還是后搶,最終搶到的平均金額都是差不多的。
(2) 如果不想冒險(xiǎn),只想穩(wěn)穩(wěn)當(dāng)當(dāng)?shù)仡I(lǐng)取紅包,可以盡快搶。
(3) 如果在搶紅包的過程中,想要“手氣最佳”,可以后搶,這樣的機(jī)率更大。
所以當(dāng)微信群玩“手氣最佳發(fā)紅包”的游戲時(shí),可以根據(jù)這些規(guī)律,盡量地降低手氣最佳的概率,發(fā)的紅包數(shù)少就后搶,紅包多就中間搶,紅包數(shù)目很多就先搶,這樣一般可以有效規(guī)避“手氣最佳”,從而避免被動(dòng)發(fā)紅包。例如,在3~5人游戲時(shí),手氣最佳的概率是隨搶的順序而降低的,所以選擇后搶。在6~15人游戲時(shí),手氣最佳的概率是先低后高的,要把握時(shí)機(jī)在中間的位置搶。當(dāng)參與人數(shù)超過15人時(shí),手氣最佳的概率隨著搶的順序往往處于后面,這時(shí)的策略應(yīng)該是盡量先搶。
搶紅包時(shí)通常必須緊盯屏幕,對(duì)出現(xiàn)的紅包圖標(biāo)立即點(diǎn)擊,遲了就可能“手慢了”。這是手動(dòng)搶紅包者的共同感覺。為了不漏掉紅包,有人開發(fā)了自動(dòng)搶紅包工具“搶紅包神器”。所謂“搶紅包神器”,就是通過編寫自動(dòng)搶紅包的應(yīng)用程序,將其外掛在手機(jī)上,實(shí)現(xiàn)程序自動(dòng)搶紅包。這種搶紅包行為屬于作弊,有違公平,但主觀上沒有危害網(wǎng)絡(luò)安全的企圖。目前已經(jīng)有一些知名“搶紅包神器”。下面通過“搶紅包神器”的實(shí)現(xiàn)探究其防御方法。
自動(dòng)搶紅包軟件的基本原理,是通過Android系統(tǒng)“輔助服務(wù)(accessibility service)”的一個(gè)接口,捕捉手機(jī)的通知欄變動(dòng)事件、窗口切換事件、窗口內(nèi)容變動(dòng)事件,一旦在手機(jī)通知欄里實(shí)時(shí)檢測(cè)到紅包推送消息時(shí)便自動(dòng)轉(zhuǎn)到微信頁面,搜索到紅包節(jié)點(diǎn),模擬人工點(diǎn)擊操作。自動(dòng)搶到紅包后,再搜索“拆”紅包節(jié)點(diǎn),打開紅包,取出紅包金額。
Android Accessibility Service是Android系統(tǒng)提供的輔助功能,通過它可以獲取頁面的UI控件位置、內(nèi)容等,并且模擬點(diǎn)擊,通過編碼實(shí)時(shí)監(jiān)控UI變化,就可以實(shí)現(xiàn)針對(duì)某個(gè)控件自動(dòng)點(diǎn)擊。微信紅包的UI結(jié)構(gòu),可通過DDMS工具Dump View Hierarchy For UI Automator分析。
一個(gè)完整的發(fā)現(xiàn)紅包、搶紅包、拆紅包流程需要數(shù)秒時(shí)間,而各種事件是以毫秒級(jí)的速度在不斷觸發(fā),因此程序的核心問題是維護(hù)好一個(gè)全局的搶紅包狀態(tài)轉(zhuǎn)換,處理好各個(gè)事件處理任務(wù)的并發(fā)控制和相互協(xié)調(diào),避免因狀態(tài)走錯(cuò)而導(dǎo)致程序運(yùn)行不穩(wěn)定的情況。
自動(dòng)搶紅包動(dòng)作由2種場(chǎng)景觸發(fā):發(fā)現(xiàn)一個(gè)微信紅包消息通知、在當(dāng)前微信聊天頁面發(fā)現(xiàn)一個(gè)新紅包。2種場(chǎng)景的處理流程大體一致,搶紅包流程如圖7所示。
圖7 搶紅包app流程
如果不是在微信的可見界面范圍(在桌面或者在使用其他應(yīng)用時(shí)),收到新的消息就會(huì)在通知欄提醒用戶。而在微信的消息列表界面,就不會(huì)彈出通知欄,所以可以區(qū)分這2種情況,然后抓取相關(guān)關(guān)鍵字做進(jìn)一步處理。
圖7的幾個(gè)主要環(huán)節(jié)如下:
(1) 在非微信消息列表界面,收到通知消息的事件,判斷通知欄里的文本是否有[微信紅包]的關(guān)鍵字,有則可以判斷為用戶收到紅包的消息,然后就自動(dòng)觸發(fā)這個(gè)消息的意圖事件;
(2) 在通知欄跳進(jìn)微信界面后,是到com.tencent.mm.ui.LauncherUI這個(gè) Activity 界面,在紅包的消息上,包括了關(guān)鍵字領(lǐng)取紅包或者View的id,就可以根據(jù)這個(gè)關(guān)鍵字找到相應(yīng)的View,然后再觸發(fā) ACTION_CLICK(點(diǎn)擊事件);
(3) 在點(diǎn)擊紅包后,會(huì)跳到拆紅包的 Activity:com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyReceiveUI,找關(guān)鍵字或id拆紅包,然后觸發(fā)自動(dòng)化點(diǎn)擊事件。
這樣就可以完成整個(gè)自動(dòng)化搶紅包的流程了。所以,核心就是找關(guān)鍵字,然后模擬用戶點(diǎn)擊事件。
目前開發(fā)app一般是通過android studio[11-12]平臺(tái)。首先,在Android studio中新建一個(gè)空project,添加Main Activity和對(duì)應(yīng)的layout文件,并實(shí)現(xiàn)簡(jiǎn)單的界面和接口。然后new一個(gè)service繼承自Accessibility Service。接著在注冊(cè)文件中聲明Accessibility Service權(quán)限。
為簡(jiǎn)化起見,本app只處理發(fā)現(xiàn)紅包、拆紅包等主要環(huán)節(jié)。圖8是搶紅包app運(yùn)行時(shí)的截圖。在圖8中,最左圖是剛剛打開app時(shí)需要設(shè)置打開服務(wù),也就是開啟監(jiān)測(cè)操作和檢索窗口內(nèi)容的功能;中間是收到紅包,自動(dòng)跳轉(zhuǎn)到微信界面并點(diǎn)擊紅包(速度非???很難截到圖);最右圖是模擬點(diǎn)擊紅包成功,在分發(fā)的3份紅包中最先一個(gè)搶到。
圖8 app運(yùn)行截圖
經(jīng)測(cè)試,app能達(dá)到預(yù)期效果。需要說明的是,app可以快速搶紅包,但并不意味著能搶到大的紅包。相反,如果硬件配置很高,app響應(yīng)速度快,快速搶到紅包的概率越大,但是越早搶到紅包,對(duì)應(yīng)的紅包金額可能會(huì)相對(duì)較小。
(1) 干擾發(fā)現(xiàn)紅包信息。如3.1節(jié),編寫搶紅包app時(shí)是通過[微信紅包]來進(jìn)行是否有紅包的判斷,所以在發(fā)紅包之前,先行在微信發(fā)送文本[微信紅包]這樣的信息,可以導(dǎo)致部分外掛工具失效(即編寫的搶紅包app會(huì)暫時(shí)失效)。為了防御此種搶紅包方式,可以將[微信紅包]文本改為圖標(biāo)方式,將ID改為動(dòng)態(tài)ID(每次顯示都是隨機(jī)生成)。這樣通過文本內(nèi)容找到控件的方法,或通過ID找尋控件的方法也就不可行了。
(2) 及時(shí)更新微信版本。識(shí)別窗體中節(jié)點(diǎn)的文字信息比較容易,但是識(shí)別圖片就困難得多。最新的微信版本的一種改進(jìn)就把拆紅包界面原來的“拆紅包”字樣改成了“開”的圖片,這樣就增加了識(shí)別的難度,導(dǎo)致程序很難判斷,因而應(yīng)及時(shí)更新微信版本。很多搶紅包app都因?yàn)槲⑿虐姹靖露辉龠m用,微信運(yùn)營也針對(duì)這種情況進(jìn)行打擊防范。
(3) 監(jiān)測(cè)搶紅包掛件。自動(dòng)搶紅包主要核心點(diǎn)就是快速搶。因而防止這些插件的出發(fā)點(diǎn)也就是通過這個(gè)時(shí)間來判斷是否使用了插件。正常情況下?lián)屢粋€(gè)紅包需要經(jīng)歷多次屏幕點(diǎn)擊,對(duì)于平均網(wǎng)速和人的反應(yīng)速度,完成一次搶紅包動(dòng)作最快需要4~5 s左右。而app大概只要2~3 s左右,其速度明顯超出正常人的反應(yīng)能力。因而可以編寫一個(gè)檢測(cè)程序,對(duì)紅包詳情界面的數(shù)據(jù)進(jìn)行分析,通過提取紅包ID值以及時(shí)間戳,計(jì)算每份被搶的時(shí)間值,再算出對(duì)應(yīng)的搶紅包的時(shí)間差。一般2 s內(nèi)搶到的,應(yīng)認(rèn)為是搶紅包外掛所為。如果一個(gè)微信賬號(hào)多次以極快的速度搶到紅包,該用戶就有很大的幾率是使用了搶紅包的app,就可以對(duì)其進(jìn)行舉報(bào)、警告等處理,嚴(yán)重者可對(duì)其進(jìn)行封號(hào)或者封掉紅包功能。
實(shí)際上,在多次調(diào)試搶紅包app程序時(shí),就收到微信團(tuán)隊(duì)如圖9的警告信息。
圖9 微信團(tuán)隊(duì)警告信息
可見,微信后臺(tái)有監(jiān)控,管理者可以監(jiān)測(cè)到手機(jī)端的搶紅包軟件,一旦發(fā)現(xiàn)疑似作弊就可以給予警告。
最后需要指出的是,雖然搶紅包app沒有危害網(wǎng)絡(luò)安全的主觀意圖,但開啟“輔助服務(wù)”后手機(jī)存在較大安全隱患。理論上啟動(dòng)后,可以監(jiān)聽用戶的任何操作,包括輸入的銀行卡密碼等。因此對(duì)于開啟輔助服務(wù),一定要慎重。
以本文案例為例,以現(xiàn)實(shí)生活常見的“微信搶紅包”為案例切入點(diǎn),項(xiàng)目背景具有趣味性、工程性、知識(shí)應(yīng)用的綜合性和實(shí)現(xiàn)方法的多樣性的特點(diǎn),比較容易激發(fā)學(xué)生的學(xué)習(xí)熱情,實(shí)驗(yàn)參與度高,討論熱烈。教學(xué)中,多數(shù)學(xué)生采用Wireshark方法捕獲移動(dòng)端數(shù)據(jù),也有結(jié)合Fiddler進(jìn)行分析。為取得樣本數(shù)據(jù)他們自發(fā)組群發(fā)紅包,然后綜合運(yùn)用數(shù)學(xué)分析方法得出搶紅包規(guī)律。編寫拆紅包和搶紅包app是本案例一大難點(diǎn),但學(xué)生運(yùn)用在移動(dòng)應(yīng)用開發(fā)課程上學(xué)到的安卓開發(fā)知識(shí),掌握了手機(jī)輔助功能的開發(fā)應(yīng)用,最終完成了實(shí)驗(yàn),提升了綜合解決問題的能力。
目前教學(xué)中所使用的案例內(nèi)容相對(duì)陳舊,滯后于技術(shù)發(fā)展,難以實(shí)現(xiàn)學(xué)以致用,影響學(xué)習(xí)效果。隨著技術(shù)的快速發(fā)展,許多技術(shù)已經(jīng)應(yīng)用到日常生活中,發(fā)掘這些技術(shù)并應(yīng)用到教學(xué)中,很有必要且空間巨大。本文是一個(gè)運(yùn)用統(tǒng)計(jì)分析技術(shù)和手機(jī)插件編寫技術(shù)的綜合案例。案例涉及知識(shí)綜合性高,案例分析與設(shè)計(jì)相結(jié)合,總體有一定難度,體驗(yàn)度高、接地氣,在教學(xué)中取得顯著效果。