今天上午工作過程中,我們的審核同事發(fā)了一段視頻笙蒙,是一個(gè)用戶通過“多開分身”這樣子的軟件將我們的App的多開高達(dá)5個(gè)分身肾档,當(dāng)時(shí)我第一個(gè)感覺這啥樣的用戶啊,后面就把如何防止用戶多開提上了日程沪么。
在Android設(shè)備中硼婿,當(dāng)前很流行應(yīng)用分身,市面上也冒出了很多分身軟件禽车,例如360的分身大師寇漫,LBE平行空間,以DroidPlugin插件運(yùn)行的產(chǎn)品殉摔;雖然它給我們帶來很多便利州胳,但是對(duì)于業(yè)務(wù)來說卻帶來很多麻煩,例如營(yíng)銷號(hào)產(chǎn)生的不合規(guī)的內(nèi)容逸月。
1) 數(shù)據(jù)安全隱患風(fēng)險(xiǎn):
所有的分身雙開應(yīng)用數(shù)據(jù)陋葡,都通過【應(yīng)用分身】的過濾,數(shù)據(jù)不可避免地都要經(jīng)過【應(yīng)用分身】彻采,萬一【應(yīng)用分身】被掌握腐缤,或使用第三方【應(yīng)用分身】類應(yīng)用,數(shù)據(jù)會(huì)存在安全隱患肛响。簡(jiǎn)單粗暴的反編譯修改APK的方式也會(huì)存在類似的問題岭粤。
2) Android政策風(fēng)險(xiǎn):
【應(yīng)用分身】功能實(shí)現(xiàn)的原理 實(shí)際上是通過監(jiān)聽截取進(jìn)程消息,替換反射特笋,類似黑客的手段剃浇,可能Android會(huì)禁止該類應(yīng)用。后續(xù)Android版本更新后有可能會(huì)被限制無法使用猎物。
3) 卡頓虎囚、資源占用問題:
【應(yīng)用分身】無論采用系統(tǒng)層還是應(yīng)用層的做法,都會(huì)占用系統(tǒng)資源蔫磨,如果分身過多淘讥,可能會(huì)造成系統(tǒng)卡頓〉倘纾可以通過限制分身數(shù)量的方式來加以避免蒲列。
4) 三方應(yīng)用兼容問題
類似Android政策風(fēng)險(xiǎn),【應(yīng)用分身】采用類似黑客手段搀罢,可能會(huì)遭到第三方應(yīng)用如微信/QQ等的屏蔽
一些三方應(yīng)用調(diào)用接口不標(biāo)準(zhǔn)蝗岖,可能沒辦法被【應(yīng)用分身】監(jiān)聽和替換,會(huì)造成分身應(yīng)用和本身應(yīng)用表現(xiàn)不同的兼容性異常榔至。
先把危害告知下大家抵赢,下面就聊一聊如何讓我們的應(yīng)用遇到在多開時(shí)候自動(dòng)跳過。
今天我把應(yīng)用市場(chǎng)大部分的分身軟件都下載了個(gè)遍,大概了解了下絕大部分分身軟件是靠克隆備份方式來執(zhí)行的铅鲤,然后有一部分軟件虛擬機(jī)技術(shù)來進(jìn)行的划提。
克隆方式的這類應(yīng)用很好解決,我們只需要把Context.getFilesDir路徑打印出來比對(duì)彩匕,看是否符合正常應(yīng)用即可腔剂,代碼如下:
但是以上方式對(duì)于采用虛擬機(jī)技術(shù)是無效的媒区,但是我們可以通過主動(dòng)拋出異常方式來檢測(cè)崩潰日志是否含有我們?cè)O(shè)置的過濾詞進(jìn)行判斷
然后我們可以設(shè)置過濾詞即可驼仪,目前我設(shè)置的過濾詞有xposed、 morgoo(360的分身) 袜漩、droidplugin绪爸,后期過程中我們不斷去發(fā)掘不斷的去填充這些過濾詞。
除了應(yīng)用分身以外宙攻,諸多用戶還喜歡使用模擬器奠货,怎么判斷是否是模擬器,我們可以從cpu架構(gòu)座掘、藍(lán)牙递惋、撥號(hào)、溫度傳感溢陪、遙感等模擬器沒有的功能去辨別萍虽。
在業(yè)務(wù)發(fā)展過程中,要注意用戶的一些操作行為也許超出了我們?cè)试S的范圍形真,此時(shí)我們要及時(shí)糾正用戶行為杉编。