背景##
github地址:https://github.com/huijimuhe/postman
核心就是android的AccessibilityService,回復(fù)功能api需要23以上版本才行。
其實(shí)很像在做單元測(cè)試。你可以有n種方式實(shí)現(xiàn)發(fā)帖功能,這只是一個(gè)比較邪火的方式,親測(cè)過(guò)一次,可行。這里我以網(wǎng)易新聞客戶(hù)端舉例。
模擬你在手機(jī)端的物理動(dòng)作:選擇新聞-》回復(fù)-》退回新聞列表-》進(jìn)入下一個(gè)新聞-》回復(fù)-》退回新聞列表刷新-》進(jìn)入-》回復(fù)....
做的不精細(xì),只是探究到底可不可行。你可以用在任何APP中自動(dòng)發(fā)消息,只要沒(méi)有驗(yàn)證碼。
你要拿來(lái)玩,請(qǐng)抱著一顆開(kāi)心的心情。
原理##
直接在github上開(kāi)源的微信紅包插件改的,紅包插件項(xiàng)目和你需要了解的幾篇文章在這里
https://github.com/geeeeeeeeek/WeChatLuckyMoney
http://www.xuebuyuan.com/2061597.html
http://www.xuebuyuan.com/2061595.html
http://developer.android.com/training/accessibility/service.html```
在開(kāi)始寫(xiě)代碼前,你應(yīng)該至少閱讀了之前幾篇文章和微信紅包插件的代碼,然后還應(yīng)該掌握用Android Device Monitor查看UI樹(shù)的工具使用。(最近開(kāi)始研究iOS逆向,這個(gè)確實(shí)比reveal和cycript方便太多)
##粗略實(shí)現(xiàn)步驟##
源碼中注釋已經(jīng)寫(xiě)的很清楚不再累述,總體思路是通過(guò)postDelay來(lái)實(shí)現(xiàn)操作的間隔,其他的請(qǐng)自己閱讀代碼,我只測(cè)試了下思路是否可行就沒(méi)有繼續(xù)延伸下去了。
1.manifest中申明服務(wù)
2.設(shè)定你需要監(jiān)控的app包名來(lái)過(guò)濾,在/res/xml/accessible_service_config.xml中
3.在AccessibleService中實(shí)現(xiàn)對(duì)事件的監(jiān)聽(tīng)
4.監(jiān)控是否是新聞列表,可以設(shè)定個(gè)頁(yè)面刷新閥值
5.監(jiān)控是否是新聞詳情
6.監(jiān)控是否廣告或其他專(zhuān)題,不做操作
7.回復(fù)評(píng)論
##PS##
大家不要留言說(shuō)我簡(jiǎn)單事情做那么復(fù)雜。用物理方式(現(xiàn)在回頭看倒覺(jué)得很像單元測(cè)試)實(shí)現(xiàn)回復(fù),真實(shí)性是100%,發(fā)貼機(jī)你要倒騰一個(gè)別人家服務(wù)器看不出作弊的,估計(jì)更費(fèi)勁吧。
如果你覺(jué)得python寫(xiě)腳本很酷或者直接用fiddler抓包然后寫(xiě)個(gè)發(fā)帖器都行。我這還有個(gè)用Tesseract-OCR做驗(yàn)證碼識(shí)別的winform。
做這個(gè)只是當(dāng)時(shí)覺(jué)得紅包插件原理很酷,可以有點(diǎn)其他玩法,我也確實(shí)倒騰了一個(gè),也開(kāi)源了
```https://github.com/huijimuhe/focus```
要是開(kāi)開(kāi)腦洞,比如不停的微信給欠債老板發(fā)消息讓還錢(qián)啥的,這種插件倒是很能氣死他,哈哈哈哈。
要搞什么推廣(尤其是賣(mài)面膜的)應(yīng)該靠金主,而不是這個(gè),哈哈哈哈。