亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種模擬器的識別方法和系統(tǒng)與流程

文檔序號:12595680閱讀:373來源:國知局
一種模擬器的識別方法和系統(tǒng)與流程

本發(fā)明涉及移動互聯(lián)技術(shù)領(lǐng)域,特別是涉及一種模擬器的識別方法和系統(tǒng)。



背景技術(shù):

對于移動設備的移動app來說,如果想要其運行在PC上,需要利用模擬器為其提供運行環(huán)境。但是由于模擬器的存在,作弊者會利用模擬器對移動app進行作弊和修改,從而給運營商造成巨大的損失。例如:作弊者可以通過模擬器進行刷安裝量,騙取推廣量,造成公司損失;又如模擬器上支持許多作弊黑客工具,作弊者可以修改移動app的數(shù)據(jù),造成移動app運行失敗或者數(shù)據(jù)統(tǒng)計不正確;又如利用模擬器修改硬件參數(shù)信息,從而實現(xiàn)搶單刷票,往往會造成移動app分發(fā)優(yōu)惠券或獎券時被作弊者輕易刷走,使得運營商蒙受損失;又如模擬器提供多開功能,作弊者利用多開的賬號進行賬號之間的互刷。因此許多運營商對于模擬器的檢測有著迫切需求,無論是從業(yè)務績效上,還是用產(chǎn)品質(zhì)量保證上,都需要正確識別模擬器,避免因此模擬器的存在遭受損失。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明提供了一種模擬器的識別方法和系統(tǒng),以正確識別移動app的運行環(huán)境是否存在模擬器,避免因模擬器給運營商造成損失。

為了解決上述問題,本發(fā)明公開了一種模擬器的識別方法,應用于移動app,所述識別方法具體包括步驟:

獲取所述移動app的運行環(huán)境的CPU架構(gòu)信息;

根據(jù)所述CPU架構(gòu)信息判斷所述CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);

當所述CPU架構(gòu)為所述預設架構(gòu)時,搜索所述運行環(huán)境中是否存在預設特征碼;

如果所述運行運行中存在所述預設特征碼,則判定所述運行環(huán)境中存在模擬器,反之,則判定不存在所述模擬器。

可選的,所述預設架構(gòu)為x86架構(gòu)。

可選的,所述搜索所述運行環(huán)境中是否存在預設特征碼,包括:

搜索所述移動app的運行內(nèi)存中是否存在所述預設特征碼。

可選的,所述預設特征碼為二進制翻譯特征碼。

可選的,還包括步驟:

將識別結(jié)果反饋至所述移動app的后臺服務器。

相應的,為了保證上述方法的實施,本發(fā)明還提供了一種模擬器的識別系統(tǒng),應用于移動app,所述識別系統(tǒng)包括:

架構(gòu)信息獲取模塊,用于獲取所述移動app的運行環(huán)境的CPU架構(gòu)信息;

架構(gòu)判斷模塊,用于根據(jù)所述CPU架構(gòu)信息判斷所述CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);

特征碼搜索模塊,用于當所述CPU架構(gòu)為所述預設架構(gòu)時,搜索所述運行環(huán)境中是否存在預設特征碼;

模擬器判定模塊,用于如果所述運行運行中存在所述預設特征碼,則判定所述運行環(huán)境中存在模擬器,反之,則判定不存在所述模擬器。

可選的,所述預設架構(gòu)為x86架構(gòu)。

可選的,所述特征碼搜索模塊包括:

內(nèi)存搜索單元,用于搜索所述移動app的運行內(nèi)存中是否存在所述預設特征碼。

可選的,所述預設特征碼為二進制翻譯特征碼。

可選的,還包括:

識別結(jié)果上傳模塊,用于將識別結(jié)果反饋至所述移動app的后臺服務器。

從上述技術(shù)方案可以看出,本發(fā)明提供了一種模擬器的識別方法和系統(tǒng),該方法和系統(tǒng)應用于移動app,具體為獲取該移動app的運行環(huán)境的CPU架構(gòu)信息;然后根據(jù)CPU架構(gòu)信息判斷該運行環(huán)境的CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);當CPU架構(gòu)為所述預設架構(gòu)時,進一步搜索該運行環(huán)境中是否存在預設特征碼;如果運行運行中存在預設特征碼,則判定運行環(huán)境中存在模擬器,反之,則判定不存在模擬器。從而運營商能夠根據(jù)識別結(jié)果采取相應的措施,避免因模擬器的存在造成損失。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明提供的一種模擬器的識別方法實施例的步驟流程圖;

圖2為本發(fā)明提供的另一種模擬器的識別方法實施例的步驟流程圖;

圖3為本發(fā)明提供的一種模擬器的識別系統(tǒng)實施例的結(jié)構(gòu)框圖;

圖4為本發(fā)明提供的另一種模擬器的識別系統(tǒng)實施例的結(jié)構(gòu)框圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

實施例一

圖1為本發(fā)明提供的一種模擬器的識別方法實施例的步驟流程圖。

參照圖1所示,本實施例提供的識別方法應用于移動設備的移動app,用于判斷該移動app是否通過模擬器運行,具體來說為識別該移動app的運行環(huán)境是否存在上述模擬器,該識別方法具體包括如下步驟:

S101:獲取移動app的運行環(huán)境的CPU架構(gòu)信息。

移動app一般運行于移動設備上,覺得部分移動設備的CPU架構(gòu)為ARM架構(gòu),即應用精簡指令集的一種CPU架構(gòu),而對于PC來說,其CPU架構(gòu)則絕大部分應該是x86架構(gòu),這里獲取的CPU架構(gòu)信息則反映該運行環(huán)境的CPU架構(gòu)。

S102:根據(jù)CPU架構(gòu)信息判斷CPU架構(gòu)是否為預設架構(gòu)。

即在獲得上述CPU架構(gòu)信息后,根據(jù)該信息確定該運行環(huán)境的CPU架構(gòu)。由于模擬器一般運行于采用x86架構(gòu)的PC,因此這里的預設架構(gòu)優(yōu)選x86架構(gòu),通過判斷運行環(huán)境的CPU架構(gòu)是否為x86架構(gòu)確定該運行環(huán)境是PC還是移動設備,如果是x86架構(gòu),則運行環(huán)境為PC,反之則應該為移動設備,不會有模擬器存在,這時就不需要進行進一步的判斷。

S103:搜索運行環(huán)境中是否存在預設特征碼。

如果根據(jù)上述判斷確定該運行環(huán)境的CPU架構(gòu)為x86架構(gòu),則進一步搜索運行環(huán)境中是否存在預設特征碼,該預設特征碼是模擬器運行于PC的一種主要特征。

由于適用于移動設備的移動app不能直接運行于PC環(huán)境,因此需要對其進行翻譯,即二進制翻譯。二進制翻譯(Binary Translation)是一種直接翻譯可執(zhí)行二進制程序的技術(shù),能夠把一種處理器上的二進制程序翻譯到另外一種處理器上執(zhí)行,它使得不同處理器之間的二進制程序可以很容易地相互移植。具體到本申請中是將移動設備上的app翻譯成能夠運行于PC的應用程序,在翻譯過程中不可避免地產(chǎn)生相應的特征碼,這里將其稱為二進制翻譯特征碼,用于表征是否進行了二進制翻譯,從而確定作弊者是否將移動app做了移植。

具體的搜索過程為,利用相應的搜索函數(shù)在移動app的運行內(nèi)存中逐步查找,以此搜索該運行內(nèi)存中是否存在上述二進制翻譯特征碼。

S104:根據(jù)是否搜索到該二進制翻譯特征碼確定是否存在模擬器。

通過上述的搜索,如果能夠搜索到相應的二進制翻譯特征碼,則判定該運行環(huán)境中存在模擬器;反之,如果沒有搜索到該二進制特征碼,則判定該運行環(huán)境不存在該模擬器。

從上述技術(shù)方案可以看出,本實施例提供了一種模擬器的識別方法,該方法應用于移動app,具體為獲取該移動app的運行環(huán)境的CPU架構(gòu)信息;然后根據(jù)CPU架構(gòu)信息判斷該運行環(huán)境的CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);當CPU架構(gòu)為所述預設架構(gòu)時,進一步搜索該運行環(huán)境中是否存在預設特征碼;如果運行運行中存在預設特征碼,則判定運行環(huán)境中存在模擬器,反之,則判定不存在模擬器。從而運營商能夠根據(jù)識別結(jié)果采取相應的措施,避免因模擬器的存在造成損失。

實施例二

圖2為本發(fā)明提供的另一種模擬器的識別方法實施例的步驟流程圖。

參照圖2所示,本實施例提供的識別方法應用于移動設備的移動app,用于判斷該移動app是否通過模擬器運行,具體來說為識別該移動app的運行環(huán)境是否存在上述模擬器,該識別方法具體包括如下步驟:

S201:獲取移動app的運行環(huán)境的CPU架構(gòu)信息。

移動app一般運行于移動設備上,覺得部分移動設備的CPU架構(gòu)為ARM架構(gòu),即應用精簡指令集的一種CPU架構(gòu),而對于PC來說,其CPU架構(gòu)則絕大部分應該是x86架構(gòu),這里獲取的CPU架構(gòu)信息則反映該運行環(huán)境的CPU架構(gòu)。

S202:根據(jù)CPU架構(gòu)信息判斷CPU架構(gòu)是否為預設架構(gòu)。

即在獲得上述CPU架構(gòu)信息后,根據(jù)該信息確定該運行環(huán)境的CPU架構(gòu)。由于模擬器一般運行于采用x86架構(gòu)的PC,因此這里的預設架構(gòu)優(yōu)選x86架構(gòu),通過判斷運行環(huán)境的CPU架構(gòu)是否為x86架構(gòu)確定該運行環(huán)境是PC還是移動設備,如果是x86架構(gòu),則運行環(huán)境為PC,反之則應該為移動設備,不會有模擬器存在,這時就不需要進行進一步的判斷。

S203:搜索運行環(huán)境中是否存在預設特征碼。

如果根據(jù)上述判斷確定該運行環(huán)境的CPU架構(gòu)為x86架構(gòu),則進一步搜索運行環(huán)境中是否存在預設特征碼,該預設特征碼是模擬器運行于PC的一種主要特征。

由于適用于移動設備的移動app不能直接運行于PC環(huán)境,因此需要對其進行翻譯,即二進制翻譯。二進制翻譯(Binary Translation)是一種直接翻譯可執(zhí)行二進制程序的技術(shù),能夠把一種處理器上的二進制程序翻譯到另外一種處理器上執(zhí)行,它使得不同處理器之間的二進制程序可以很容易地相互移植。具體到本申請中是將移動設備上的app翻譯成能夠運行于PC的應用程序,在翻譯過程中不可避免地產(chǎn)生相應的特征碼,這里將其稱為二進制翻譯特征碼,用于表征是否進行了二進制翻譯,從而確定作弊者是否將移動app做了移植。

具體的搜索過程為,利用相應的搜索函數(shù)在移動app的運行內(nèi)存中逐步查找,以此搜索該運行內(nèi)存中是否存在上述二進制翻譯特征碼。

S204:根據(jù)是否搜索到該二進制翻譯特征碼確定是否存在模擬器。

通過上述的搜索,如果能夠搜索到相應的二進制翻譯特征碼,則判定該運行環(huán)境中存在模擬器;反之,如果沒有搜索到該二進制特征碼,則判定該運行環(huán)境不存在該模擬器。

S205:將識別結(jié)果反饋至后臺服務器。

該后臺服務器即運營商支持上述移動app運行的服務器,例如對于購物app來說,其后臺服務器即購物網(wǎng)站的運營商提供購物服務支持的服務器。通過該反饋,可以使運營商能夠直接獲取該識別結(jié)果,從而根據(jù)該結(jié)果對相應的用戶采取處置措施,以避免遭受到損失。

從上述技術(shù)方案可以看出,本實施例提供了一種模擬器的識別方法,該方法應用于移動app,具體為獲取該移動app的運行環(huán)境的CPU架構(gòu)信息;然后根據(jù)CPU架構(gòu)信息判斷該運行環(huán)境的CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);當CPU架構(gòu)為所述預設架構(gòu)時,進一步搜索該運行環(huán)境中是否存在預設特征碼;如果運行運行中存在預設特征碼,則判定運行環(huán)境中存在模擬器,反之,則判定不存在模擬器,最終將該識別結(jié)果反饋至運營商的服務器,從而運營商能夠根據(jù)識別結(jié)果采取相應的措施,避免因模擬器的存在造成損失。

需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。

實施例三

圖3為本發(fā)明提供的一種模擬器的識別系統(tǒng)實施例的結(jié)構(gòu)框圖。

參照圖3所示,本實施例提供的識別系統(tǒng)應用于移動設備的移動app,用于判斷該移動app是否通過模擬器運行,具體來說為識別該移動app的運行環(huán)境是否存在上述模擬器,該識別系統(tǒng)包括架構(gòu)信息獲取模塊10、架構(gòu)判斷模塊20、特征碼搜索模塊30和模擬器判定模塊40。

架構(gòu)信息獲取模塊10用于獲取移動app的運行環(huán)境的CPU架構(gòu)信息。

移動app一般運行于移動設備上,覺得部分移動設備的CPU架構(gòu)為ARM架構(gòu),即應用精簡指令集的一種CPU架構(gòu),而對于PC來說,其CPU架構(gòu)則絕大部分應該是x86架構(gòu),這里獲取的CPU架構(gòu)信息則反映該運行環(huán)境的CPU架構(gòu)。

架構(gòu)判斷模塊20用于根據(jù)架構(gòu)信息獲取模塊10獲取的CPU架構(gòu)信息判斷CPU架構(gòu)是否為預設架構(gòu)。

即在獲得上述CPU架構(gòu)信息后,根據(jù)該信息確定該運行環(huán)境的CPU架構(gòu)。由于模擬器一般運行于采用x86架構(gòu)的PC,因此這里的預設架構(gòu)優(yōu)選x86架構(gòu),通過判斷運行環(huán)境的CPU架構(gòu)是否為x86架構(gòu)確定該運行環(huán)境是PC還是移動設備,如果是x86架構(gòu),則運行環(huán)境為PC,反之則應該為移動設備,不會有模擬器存在,這時就不需要進行進一步的判斷。

特征碼搜索模塊30用于搜索運行環(huán)境中是否存在預設特征碼。

具體為當架構(gòu)判斷模塊20判定該運行環(huán)境的CPU架構(gòu)為x86架構(gòu)時,進一步搜索運行環(huán)境中是否存在預設特征碼,該預設特征碼是模擬器運行于PC的一種主要特征。

由于適用于移動設備的移動app不能直接運行于PC環(huán)境,因此需要對其進行翻譯,即二進制翻譯。二進制翻譯(Binary Translation)是一種直接翻譯可執(zhí)行二進制程序的技術(shù),能夠把一種處理器上的二進制程序翻譯到另外一種處理器上執(zhí)行,它使得不同處理器之間的二進制程序可以很容易地相互移植。具體到本申請中是將移動設備上的app翻譯成能夠運行于PC的應用程序,在翻譯過程中不可避免地產(chǎn)生相應的特征碼,這里將其稱為二進制翻譯特征碼,用于表征是否進行了二進制翻譯,從而確定作弊者是否將移動app做了移植。

特征碼搜索模塊30包括內(nèi)存搜索單元31,該內(nèi)存搜索單元31用于利用相應的搜索函數(shù)在移動app的運行內(nèi)存中逐步查找,以此搜索該運行內(nèi)存中是否存在上述二進制翻譯特征碼。

模擬器判定模塊40根據(jù)是否搜索到該二進制翻譯特征碼確定是否存在模擬器。

如果能夠搜索到相應的二進制翻譯特征碼,則判定該運行環(huán)境中存在模擬器;反之,如果沒有搜索到該二進制特征碼,則判定該運行環(huán)境不存在該模擬器。

從上述技術(shù)方案可以看出,本實施例提供了一種模擬器的識別系統(tǒng),該系統(tǒng)應用于移動app,具體為獲取該移動app的運行環(huán)境的CPU架構(gòu)信息;然后根據(jù)CPU架構(gòu)信息判斷該運行環(huán)境的CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);當CPU架構(gòu)為所述預設架構(gòu)時,進一步搜索該運行環(huán)境中是否存在預設特征碼;如果運行運行中存在預設特征碼,則判定運行環(huán)境中存在模擬器,反之,則判定不存在模擬器。從而運營商能夠根據(jù)識別結(jié)果采取相應的措施,避免因模擬器的存在造成損失。

實施例四

圖4為本發(fā)明提供的另一種模擬器的識別系統(tǒng)實施例的結(jié)構(gòu)框圖。

參照圖4所示,本實施例提供的識別系統(tǒng)是在上一實施例的基礎上增設了識別結(jié)果上傳模塊50。

識別結(jié)果上傳模塊50用于將模擬器判定模塊40確定的識別結(jié)果反饋至后臺服務器。

該后臺服務器即運營商支持上述移動app運行的服務器,例如對于購物app來說,其后臺服務器即購物網(wǎng)站的運營商提供購物服務支持的服務器。通過該反饋,可以使運營商能夠直接獲取該識別結(jié)果,從而根據(jù)該結(jié)果對相應的用戶采取處置措施,以避免遭受到損失。

從上述技術(shù)方案可以看出,本實施例提供了一種模擬器的識別系統(tǒng),該系統(tǒng)應用于移動app,具體為獲取該移動app的運行環(huán)境的CPU架構(gòu)信息;然后根據(jù)CPU架構(gòu)信息判斷該運行環(huán)境的CPU架構(gòu)是否為預先規(guī)定的預設架構(gòu);當CPU架構(gòu)為所述預設架構(gòu)時,進一步搜索該運行環(huán)境中是否存在預設特征碼;如果運行運行中存在預設特征碼,則判定運行環(huán)境中存在模擬器,反之,則判定不存在模擬器,最終將該識別結(jié)果反饋至運營商的服務器,從而運營商能夠根據(jù)識別結(jié)果采取相應的措施,避免因模擬器的存在造成損失。

對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。

本領(lǐng)域內(nèi)的技術(shù)人員應明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。

本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理終端設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設備上,使得在計算機或其他可編程終端設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。

以上對本發(fā)明所提供的技術(shù)方案進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1