終端模擬器系統(tǒng)的反檢測方法和反檢測裝置制造方法
【專利摘要】本發(fā)明提供了一種終端模擬器系統(tǒng)的反檢測方法和反檢測裝置。其中終端模擬器系統(tǒng)的反檢測方法包括:獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為不同于默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。利用該方法可以修改將當(dāng)前終端模擬器的可被識(shí)別為模擬器信息的系統(tǒng)參數(shù)值,使得惡意應(yīng)用程序的檢測措施失效,從而躲過終端模擬器中運(yùn)行的應(yīng)用軟件的探測,以充分對應(yīng)用軟件進(jìn)行檢測以分析運(yùn)行特征。
【專利說明】終端模擬器系統(tǒng)的反檢測方法和反檢測裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)安全【技術(shù)領(lǐng)域】,特別是涉及一種終端模擬器系統(tǒng)的反檢測方法和反檢測裝置。
【背景技術(shù)】
[0002]手機(jī)等智能終端的廣泛普及,給人們的日常生活帶來了極大的便利,隨之而來的是大量的惡意應(yīng)用的產(chǎn)生,這些惡意應(yīng)用可以偽裝成普通第三方應(yīng)用,竊取用戶的信息,盜取賬號(hào),給用戶財(cái)產(chǎn)帶來了很大的安全隱患。
[0003]為了消除惡意應(yīng)用程序的影響,需要首先對惡意應(yīng)用程序進(jìn)行深入分析,以獲知其特征,例如通過對惡意應(yīng)用程序的文件信息,惡意程序運(yùn)行時(shí)產(chǎn)生的文件或數(shù)據(jù),以及惡意程序?qū)Σ僮飨到y(tǒng)權(quán)限的調(diào)用等進(jìn)行分析獲取其特征。
[0004]然而使用真實(shí)的終端分析惡意應(yīng)用程序是不現(xiàn)實(shí)的,因?yàn)樵诤芏嗲闆r下,分析惡意應(yīng)用程序的特征是帶有破壞性的,在惡意程序數(shù)量巨大且高速增長的情況下,使用實(shí)際終端測試是難以實(shí)現(xiàn)的,此時(shí),模擬器的虛擬的運(yùn)行環(huán)境成為了進(jìn)行惡意程序?qū)嶒?yàn)性分析更好的選擇。
[0005]為減輕浪費(fèi)真實(shí)終端的資源,因此當(dāng)前分析并測試終端惡意程序,以完全展現(xiàn)惡意應(yīng)用程序的特征的工作都是在終端模擬器中進(jìn)行的,然而現(xiàn)有技術(shù)中相應(yīng)出現(xiàn)了惡意應(yīng)用程序檢測終端模擬器的技術(shù),例如惡意應(yīng)用軟件可以檢測運(yùn)行環(huán)境是否為模擬器,并在確認(rèn)為模擬器后,停止執(zhí)行。從而終端模擬器無法確認(rèn)惡意環(huán)境,從而使分析工作難度增加。
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的終端模擬器系統(tǒng)的反檢測方法和反檢測裝置。
[0007]本發(fā)明一個(gè)進(jìn)一步的目的是要使得終端模擬器系統(tǒng)更加符合真實(shí)硬件系統(tǒng)的使用環(huán)境。
[0008]依據(jù)本發(fā)明的一個(gè)方面,提供了一種終端模擬器系統(tǒng)的反檢測方法。該終端模擬器系統(tǒng)的反檢測方法包括:獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為不同于默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
[0009]可選地,將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為不同于默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值包括:確定匹配出的系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型,并按照與系統(tǒng)參數(shù)類型對應(yīng)的方式將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為按照系統(tǒng)參數(shù)賦值規(guī)則生成的不同于默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
[0010]可選地,確定匹配出的系統(tǒng)參數(shù)對應(yīng)的系統(tǒng)參數(shù)類型包括:識(shí)別匹配出的系統(tǒng)參數(shù)屬于以下類型中任一項(xiàng):終端模擬器中模擬的通訊參數(shù)類;終端模擬器中模擬的終端硬件參數(shù)類、終端模擬器中的內(nèi)核模擬參數(shù)類。
[0011]可選地,按照與系統(tǒng)參數(shù)類型對應(yīng)的方式將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為按照系統(tǒng)參數(shù)賦值規(guī)則生成的不同于默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值包括:使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù),第一類系統(tǒng)參數(shù)屬于終端模擬器中模擬的通訊參數(shù)類;修改模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段,第二類系統(tǒng)參數(shù)屬于終端模擬器中模擬的終端硬件參數(shù)類;修改模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,第三類系統(tǒng)參數(shù)屬于終端模擬器中的內(nèi)核模擬參數(shù)類。
[0012]可選地,系統(tǒng)參數(shù)包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型,通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼屬于終端模擬器中模擬的通訊參數(shù)類;終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋屬于終端模擬器中模擬的終端硬件參數(shù)類;模擬類型屬于終端模擬器中的內(nèi)核模擬參數(shù)類。
[0013]可選地,終端模擬器為安卓終端模擬器,使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù)包括:使用應(yīng)用程序接口中的getLineINumber函數(shù)將默認(rèn)通信號(hào)碼修改符合通信號(hào)碼格式的隨機(jī)號(hào)碼;使用應(yīng)用程序接口中的getDeviceld函數(shù)將默認(rèn)硬件設(shè)備號(hào)修改為符合硬件設(shè)備號(hào)格式的隨機(jī)號(hào)碼;使用應(yīng)用程序接口中的getNetworkOperatorName函數(shù)將默認(rèn)運(yùn)營商代碼修改為實(shí)際運(yùn)行環(huán)境中使用的運(yùn)營商代碼;使用應(yīng)用程序接口中的getVoiceMaiINumber函數(shù)將默認(rèn)語音信箱號(hào)碼修改為符合語音信箱號(hào)碼格式的隨機(jī)號(hào)碼。
[0014]可選地,終端模擬器為安卓終端模擬器,修改模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段包括:修改模擬器系統(tǒng)的system, img鏡像包中的/system/build/prop文件對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段。
[0015]可選地,終端模擬器為安卓終端模擬器,修改模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性包括:查詢得出init進(jìn)程中r0.kernel, qemu對應(yīng)的屬性并修改為O。
[0016]可選地,根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種終端模擬器系統(tǒng)的反檢測裝置。該終端模擬器系統(tǒng)的反檢測裝置包括:參數(shù)獲取模塊,配置為獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;參數(shù)識(shí)別模塊,配置為將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;參數(shù)修改模塊,配置為將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為不同于默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
[0017]可選地,參數(shù)修改模塊包括:類型確定子模塊,配置為確定匹配出的系統(tǒng)參數(shù)對應(yīng)的系統(tǒng)參數(shù)類型;數(shù)值修改子模塊,配置為按照與系統(tǒng)參數(shù)類型對應(yīng)的方式將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為按照系統(tǒng)參數(shù)賦值規(guī)則生成的不同于默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
[0018]可選地,類型確定子模塊還配置為:識(shí)別匹配出的系統(tǒng)參數(shù)屬于以下類型中任一項(xiàng):終端模擬器中模擬的通訊參數(shù)類;終端模擬器中模擬的終端硬件參數(shù)類、終端模擬器中的內(nèi)核模擬參數(shù)類。
[0019]可選地,數(shù)值修改子模塊還配置為:使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù),第一類系統(tǒng)參數(shù)屬于終端模擬器中模擬的通訊參數(shù)類;修改模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段,第二類系統(tǒng)參數(shù)屬于終端模擬器中模擬的終端硬件參數(shù)類;修改模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,第三類系統(tǒng)參數(shù)屬于終端模擬器中的內(nèi)核模擬參數(shù)類,系統(tǒng)參數(shù)包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型,通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼屬于終端模擬器中模擬的通訊參數(shù)類;終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋屬于終端模擬器中模擬的終端硬件參數(shù)類;模擬類型屬于終端模擬器中的內(nèi)核模擬參數(shù)類。
[0020]可選地,終端模擬器為安卓終端模擬器,數(shù)值修改子模塊還配置為以下任一種或多種模式:使用應(yīng)用程序接口中的getLineINumber函數(shù)將默認(rèn)通信號(hào)碼修改符合通信號(hào)碼格式的隨機(jī)號(hào)碼;使用應(yīng)用程序接口中的getDeviceld函數(shù)將默認(rèn)硬件設(shè)備號(hào)修改為符合硬件設(shè)備號(hào)格式的隨機(jī)號(hào)碼;使用應(yīng)用程序接口中的getNetworkOperatorName函數(shù)將默認(rèn)運(yùn)營商代碼修改為實(shí)際運(yùn)行環(huán)境中使用的運(yùn)營商代碼;使用應(yīng)用程序接口中的getVoiceMaiINumber函數(shù)將默認(rèn)語音信箱號(hào)碼修改為符合語音信箱號(hào)碼格式的隨機(jī)號(hào)碼;修改模擬器系統(tǒng)的system, img鏡像包中的/system/build/prop文件對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段;查詢得出init進(jìn)程中r0.kernel, qemu對應(yīng)的屬性并修改為O。
[0021]本發(fā)明的終端模擬器系統(tǒng)的反檢測方法可以預(yù)先采集模擬器的系統(tǒng)參數(shù)及其參數(shù)值,并修改將當(dāng)前終端模擬器的可被識(shí)別為模擬器信息的系統(tǒng)參數(shù)值,使得惡意應(yīng)用程序的檢測措施失效,從而躲過終端模擬器中運(yùn)行的應(yīng)用軟件的探測,以充分對應(yīng)用軟件進(jìn)行檢測以分析運(yùn)行特征。
[0022]進(jìn)一步地,本發(fā)明的終端模擬器系統(tǒng)的反檢測方法對不同種類的系統(tǒng)參數(shù)采取相應(yīng)的修改方法,使得終端模擬器與實(shí)際硬件終端的運(yùn)行環(huán)境相符,在應(yīng)用程序進(jìn)行探測時(shí),得到的結(jié)果與實(shí)際硬件終端相同,避免了應(yīng)用程序故意隱藏自身特征。
[0023]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
[0024]根據(jù)下文結(jié)合附圖對本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
【專利附圖】
【附圖說明】
[0025]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0026]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的終端模擬器系統(tǒng)的反檢測裝置的示意圖;以及
[0027]圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的終端模擬器系統(tǒng)的反檢測方法的示意圖。
【具體實(shí)施方式】
[0028]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0029]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的終端模擬器系統(tǒng)的反檢測裝置100的示意圖,該終端模擬器系統(tǒng)的反檢測裝置100可以安裝于運(yùn)行有終端模擬器系統(tǒng)的計(jì)算裝置中,例如個(gè)人計(jì)算機(jī)、服務(wù)器、移動(dòng)終端等。通過修改將當(dāng)前終端模擬器的可被識(shí)別為模擬器信息的系統(tǒng)參數(shù)值,使其中運(yùn)行的應(yīng)用程序的檢測手段失效,從而充分展現(xiàn)應(yīng)用程序的特征,為惡意程序的特征分析提供了測試環(huán)境。如圖1所示,該終端模擬器系統(tǒng)的反檢測裝置100的一般性地可包括:參數(shù)獲取模塊110、參數(shù)識(shí)別模塊120、參數(shù)修改模塊130,在本發(fā)明的一些可選實(shí)施例中,可根據(jù)終端模擬器系統(tǒng)的反檢測裝置100的功能需求和進(jìn)一步優(yōu)化,例如,參數(shù)修改模塊130可進(jìn)一步包括:類型確定子模塊132和數(shù)值修改子模塊134。
[0030]在終端模擬器系統(tǒng)的反檢測裝置100的以上部件中,參數(shù)獲取模塊110可配置為獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值,模擬器可以模擬出具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的計(jì)算機(jī)系統(tǒng),從而提供一個(gè)應(yīng)用程序的運(yùn)行環(huán)境,對于操作者而言,模擬器相當(dāng)于一個(gè)應(yīng)用程序,而對于運(yùn)行于其中的應(yīng)用程序而言,相當(dāng)于一臺(tái)完整的硬件終端。為實(shí)現(xiàn)應(yīng)用程序的運(yùn)行環(huán)境,模擬器需要提供應(yīng)用程序需要的各類服務(wù)、參數(shù)、數(shù)據(jù)等。本實(shí)施例的終端模擬器主要用于模擬智能移動(dòng)終端(如智能手機(jī))的運(yùn)行環(huán)境,參數(shù)獲取模塊110可以讀取該終端模擬器的用于描述被模擬終端信息的系統(tǒng)參數(shù)及其參數(shù)值。
[0031]參數(shù)識(shí)別模塊120可配置為將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值。一般模擬器的系統(tǒng)參數(shù)值都是固定的,一些惡意程序可以通過對模擬器的總結(jié),確定出一些參數(shù)值是模擬器的固定使用的,從而可以根據(jù)這些參數(shù)識(shí)別模擬器,并在確定運(yùn)行于模擬器中隱藏部分特征,或者拒絕運(yùn)行,導(dǎo)致模擬器的分析工作失敗。
[0032]參數(shù)庫可以預(yù)先采集模擬器的系統(tǒng)參數(shù)和參數(shù)值,對其進(jìn)行分析,將其中可被識(shí)別為模擬器信息總結(jié)為參數(shù)庫,用于后續(xù)模擬器反檢測的參數(shù)匹配。具體地,參數(shù)識(shí)別模塊120可以將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中對應(yīng)的參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的默認(rèn)系統(tǒng)參數(shù)值;若出現(xiàn)匹配的情況,確認(rèn)當(dāng)前項(xiàng)的系統(tǒng)參數(shù)值屬于可被識(shí)別為模擬器信息的參數(shù)值。
[0033]預(yù)置的參數(shù)庫的數(shù)據(jù)需要對海量環(huán)境數(shù)據(jù)挖掘統(tǒng)計(jì)得出,經(jīng)過發(fā)明人對終端模擬器的設(shè)計(jì)結(jié)構(gòu)進(jìn)行分析和統(tǒng)計(jì),發(fā)現(xiàn)有以下參數(shù)可被應(yīng)用程序利用,包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型等。
[0034]模擬器標(biāo)識(shí)被模擬終端信息的系統(tǒng)參數(shù)的種類不同,其存放的位置也不同,相應(yīng)的修改方式也不同,針對不同類型的參數(shù)的參數(shù)值修改,需要根據(jù)其類型進(jìn)行。參數(shù)修改模塊130通過設(shè)置類型確定子模塊132和數(shù)值修改子模塊134實(shí)現(xiàn)不同類型的參數(shù)的參數(shù)值修改,其中,類型確定子模塊132可以確定匹配出的系統(tǒng)參數(shù)對應(yīng)的系統(tǒng)參數(shù)類型。數(shù)值修改子模塊134為按照與系統(tǒng)參數(shù)類型對應(yīng)的方式對匹配出的系統(tǒng)參數(shù)的參數(shù)值進(jìn)行修改,例如可以將這些數(shù)值修改為按照系統(tǒng)參數(shù)賦值規(guī)則生成的不同于默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
[0035]終端模擬器的系統(tǒng)參數(shù)包括以下種類:終端模擬器中模擬的通訊參數(shù)類;終端模擬器中模擬的終端硬件參數(shù)類、終端模擬器中的內(nèi)核模擬參數(shù)類。
[0036]數(shù)值修改子模塊134在類型確定子模塊132確定需要修改的匹配出的系統(tǒng)參數(shù)的種類,可以分別使用對應(yīng)的方式進(jìn)行修改,對于屬于終端模擬器中模擬的通訊參數(shù)類的第一類系統(tǒng)參數(shù),數(shù)值修改子模塊134可以使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)進(jìn)行修改。API (Applicat1n Programming Interface,應(yīng)用程序編程接口)HOOK 技術(shù)是一種用于改變API執(zhí)行結(jié)果的技術(shù),可以有效地更改部分內(nèi)容。屬于終端模擬器中模擬的通訊參數(shù)類的第一類系統(tǒng)參數(shù)包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼;
[0037]對于屬于終端模擬器中模擬的終端硬件參數(shù)類的第二類系統(tǒng)參數(shù),數(shù)值修改子模塊134可以修改模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于該第二類系統(tǒng)參數(shù)的參數(shù)賦值字段。屬于終端模擬器中模擬的終端硬件參數(shù)類的第二類系統(tǒng)參數(shù)包括:終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋。
[0038]對于屬于終端模擬器中模擬的內(nèi)核模擬參數(shù)的第三類系統(tǒng)參數(shù),數(shù)值修改子模塊134可以修改模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,模擬類型屬于終端模擬器中的內(nèi)核模擬參數(shù)類。
[0039]利用以上模塊,本實(shí)施例的終端模擬器系統(tǒng)的反檢測裝置100可以修改將當(dāng)前終端模擬器的可被識(shí)別為模擬器信息的系統(tǒng)參數(shù)值,使得惡意應(yīng)用程序的檢測措施失效,從而躲過終端模擬器中運(yùn)行的應(yīng)用軟件的探測,以充分對應(yīng)用軟件進(jìn)行檢測以分析運(yùn)行特征。
[0040]本發(fā)明實(shí)施例還提供了一種終端模擬器系統(tǒng)的反檢測方法,該終端模擬器系統(tǒng)的反檢測方法可以由以上實(shí)施例介紹的任意一種終端模擬器系統(tǒng)的反檢測裝置100來執(zhí)行,以使惡意應(yīng)用程序的檢測失效,。圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的終端模擬器系統(tǒng)的反檢測方法的示意圖,如圖所示,該終端模擬器系統(tǒng)的反檢測方法包括步驟:
[0041]步驟S202,獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;
[0042]步驟S204,將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配;
[0043]步驟S206,將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為不同于默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
[0044]其中,步驟S204的一種可選流程包括:將各項(xiàng)系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的參數(shù)值進(jìn)行匹配,參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;若出現(xiàn)匹配的情況,就可以確認(rèn)當(dāng)前項(xiàng)的系統(tǒng)參數(shù)值屬于可被識(shí)別為模擬器信息的參數(shù)值。預(yù)置的參數(shù)庫的數(shù)據(jù)需要對海量環(huán)境數(shù)據(jù)挖掘統(tǒng)計(jì)得出,經(jīng)過發(fā)明人對終端模擬器的設(shè)計(jì)結(jié)構(gòu)進(jìn)行分析和統(tǒng)計(jì),發(fā)現(xiàn)有以下參數(shù)可被應(yīng)用程序利用,用于模擬器識(shí)別,包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型等。
[0045]模擬器標(biāo)識(shí)被模擬終端信息的系統(tǒng)參數(shù)的種類不同,其加載的位置也不同,相應(yīng)的修改方式也不同,因此針對不同類型的參數(shù)的參數(shù)值修改,需要根據(jù)其類型進(jìn)行,對應(yīng)地步驟S206的一種可選流程為:確定匹配出的系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型,并按照與系統(tǒng)參數(shù)類型對應(yīng)的方式將匹配出的系統(tǒng)參數(shù)的參數(shù)值修改為按照系統(tǒng)參數(shù)賦值規(guī)則生成的不同于默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
[0046]終端模擬器的系統(tǒng)參數(shù)包括以下種類:終端模擬器中模擬的通訊參數(shù)類;終端模擬器中模擬的終端硬件參數(shù)類、終端模擬器中的內(nèi)核模擬參數(shù)類。對于以上各類參數(shù),將修改匹配出的參數(shù)值的方式可以包括:使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù),第一類系統(tǒng)參數(shù)屬于終端模擬器中模擬的通訊參數(shù)類;修改模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段,第二類系統(tǒng)參數(shù)屬于終端模擬器中模擬的終端硬件參數(shù)類;修改模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,第三類系統(tǒng)參數(shù)屬于終端模擬器中的內(nèi)核模擬參數(shù)類。
[0047]本實(shí)施例的終端模擬器系統(tǒng)的反檢測裝置100可以應(yīng)用于對各種類型的終端模擬器,通過對模擬器的分析得到其對應(yīng)的可被識(shí)別為模擬信息的參數(shù),并修改以躲過應(yīng)用程序的檢測,使其可以體現(xiàn)全面的特征。
[0048]以下結(jié)合一種具體的終端模擬器進(jìn)行說明,經(jīng)過發(fā)明人對安卓模擬器海量數(shù)據(jù)進(jìn)行挖掘以及對模擬器設(shè)計(jì)結(jié)構(gòu)的分析,發(fā)下以下系統(tǒng)參數(shù)可被惡意程序利用:
[0049](I)模擬器的手機(jī)號(hào)碼,現(xiàn)有安卓終端模擬器中的手機(jī)號(hào)碼為固定值“15555215554”。
[0050](2)模擬器的硬件設(shè)備號(hào)碼,現(xiàn)有安卓終端模擬器中的硬件設(shè)備號(hào)碼為固定值“000000000000000”。
[0051](3)模擬器的運(yùn)營商的名稱,現(xiàn)有安卓終端模擬器中固定名稱為Android,實(shí)際手機(jī)中為“聯(lián)通,移動(dòng),China”。
[0052](4)模擬器中的語音信箱號(hào)碼,現(xiàn)有安卓終端模擬器中的語音信箱號(hào)碼為固定值。
[0053](5)模擬器中系統(tǒng)屬性r0.product, model值(代表終端型號(hào)),現(xiàn)有安卓終端模擬器中的為固定字符“sdk”。
[0054](6)模擬器中系統(tǒng)屬性r0.build, tags值(代表編譯標(biāo)簽),現(xiàn)有安卓終端模擬器中為固定字符“ test-keys ”。
[0055](7)模擬器中系統(tǒng)屬性r0.kernel, qemu值(模擬類型,一般r0.kernel, qemu屬性為I,代表模擬器),現(xiàn)有安卓終端模擬器中為固定值“ I ”。
[0056](8)模擬器中系統(tǒng)屬性r0.hardware值(代表硬件編號(hào)),現(xiàn)有安卓終端模擬器中為固定值“ goldfish”。
[0057](9)模擬器中系統(tǒng)屬性r0.product, brand值(代表終端品牌),現(xiàn)有安卓終端模擬器中為固定值“ gener i c ”。
[0058](10)模擬器中系統(tǒng)屬性r0.product, name值(代表終端名稱),現(xiàn)有安卓終端模擬器中為固定值“sdk”。
[0059](11)模擬器中系統(tǒng)屬性r0.product, device值(代表應(yīng)用設(shè)備),現(xiàn)有安卓終端模擬器中為固定值“ gener i c ”。
[0060](12)模擬器中系統(tǒng)屬性r0.product, board值(代表應(yīng)用處理器),現(xiàn)有安卓終端模擬器中為空。
[0061](13)模擬器中系統(tǒng)屬性r0.product, manufacturer值(代表終端制造商),模擬器中為固定值“ unknown ”。
[0062](14)模擬器中系統(tǒng)屬性r0.board, platform值(代表主板平臺(tái)),現(xiàn)有安卓終端模擬器中為空。
[0063](15)模擬器中系統(tǒng)屬性r0.build, product值(代表建立產(chǎn)品),現(xiàn)有安卓終端模擬器中為“generic”。
[0064]經(jīng)過發(fā)明人的分析,發(fā)現(xiàn)惡意應(yīng)用程序一般都是利用以上參數(shù)中任一項(xiàng)的參數(shù)值進(jìn)行模擬器的識(shí)別,因此,本實(shí)施例的終端模擬器系統(tǒng)的反檢測方法對于安卓終端模擬器可以通過更改檢測模擬器的返回特征對檢測進(jìn)行欺騙以達(dá)到反檢測的技術(shù)手段。
[0065]對于終端模擬器中模擬的通訊參數(shù)類的通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼等系統(tǒng)參數(shù)可以采用以下方式進(jìn)行修改:
[0066]使用應(yīng)用程序接口(API Hook)中的getLinelNumber函數(shù)將默認(rèn)通信號(hào)碼修改符合通信號(hào)碼格式的隨機(jī)號(hào)碼,例如對于手機(jī)號(hào)碼可設(shè)置為11位的以13、15、18開頭的隨機(jī)號(hào)碼;
[0067]使用應(yīng)用程序接口中的getDeviceld函數(shù)將默認(rèn)硬件設(shè)備號(hào)修改為符合硬件設(shè)備號(hào)格式的隨機(jī)號(hào)碼;例如按照國際移動(dòng)設(shè)備識(shí)別碼(Internat1nal Mobile EquipmentIdentificat1n Number,簡稱IMEI)的規(guī)則,返回隨機(jī)生成的號(hào)碼;
[0068]使用應(yīng)用程序接口中的getNetworkOperatorName函數(shù)將默認(rèn)運(yùn)營商代碼修改為實(shí)際運(yùn)行環(huán)境中使用的運(yùn)營商代碼,即使用實(shí)際的SM卡運(yùn)營商國家代碼和運(yùn)營商網(wǎng)絡(luò)代碼修改運(yùn)營商的名稱及代碼;
[0069]使用應(yīng)用程序接口中的getVoiceMaiINumber函數(shù)將默認(rèn)語音信箱號(hào)碼修改為符合語音信箱號(hào)碼格式的隨機(jī)號(hào)碼。
[0070]屬于終端模擬器中模擬的終端硬件參數(shù)類的終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋的系統(tǒng),可修改模擬器系統(tǒng)的系統(tǒng)記錄文件(system, img鏡像包中的/system/build/prop文件)中對應(yīng)的賦值字段,具體地,以下是對一個(gè)具體的prop文件進(jìn)行修改的結(jié)果:
[0071]r0.product, model = SCH-1535 ;
[0072]r0.build, tags = release-keys ;
[0073]r0.hardware = SCH-1535 ;
[0074]r0.product, brand = Verizon ;
[0075]r0.product, name = d2vzw ;
[0076]r0.product, device = d2vzw ;
[0077]r0.product, board = MSM8960 ;
[0078]r0.product, manufacturer = samsung ;
[0079]r0.board, platform = msm8960 ;
[0080]r0.build, product = d2vzw ;
[0081]r0.build, fingerprint = generic/sdk/generic:2.3.1/GSI11/93351:eng/release-keys
[0082]以上文件中的字段,還可以除修改為以上結(jié)果外,還可以按照實(shí)際安卓手機(jī)的實(shí)際賦值情況進(jìn)行修改,目的是將以上系統(tǒng)參數(shù)修改為與模擬器的默認(rèn)值不同。
[0083]對于屬于終端模擬器中的內(nèi)核模擬參數(shù)類的r0.kernel, qemu,通過以上方式修改是無效的,經(jīng)過發(fā)明人對內(nèi)核代碼的分析發(fā)現(xiàn)該參數(shù)值是在系統(tǒng)初始化的時(shí)候進(jìn)行賦值,因此也不能通過系統(tǒng)調(diào)用進(jìn)行修改(也就是不能通過API的形式修改)。為解決之一問題,發(fā)明人發(fā)現(xiàn)該r0.kernel, qemu的參數(shù)字段存在與init進(jìn)程中,而init進(jìn)程由內(nèi)核啟動(dòng)的用戶級進(jìn)程。內(nèi)核自行啟動(dòng)(已經(jīng)被載入內(nèi)存,開始運(yùn)行,并已初始化所有的設(shè)備驅(qū)動(dòng)程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過啟動(dòng)一個(gè)用戶級程序init的方式,完成引導(dǎo)進(jìn)程。因此對于模擬器的r0.kernel, qemu參數(shù)值的修改,可以采用爆搜init進(jìn)程內(nèi)存找到r0.kernel, qemu對應(yīng)的屬性值進(jìn)行修改達(dá)到欺騙的目的,一般可將其值修改為0,以欺騙模擬器中運(yùn)行的應(yīng)用程序。
[0084]終端模擬器系統(tǒng)使用本實(shí)施例的終端模擬器系統(tǒng)的反檢測方法,需要首先通過分析終端模擬器的系統(tǒng)參數(shù)以及參數(shù)值,確定出可被識(shí)別為模擬器信息的參數(shù)值,然后針對不同的參數(shù)類型確定相應(yīng)的修改手段,將其可被識(shí)別為模擬器信息的參數(shù)值修改為與默認(rèn)值不同的數(shù)值,以與實(shí)際的終端的使用環(huán)境相匹配,從而躲過應(yīng)用程序的檢測和識(shí)別,使之可以在模擬器中正常運(yùn)行,滿足應(yīng)用程序分析和特征檢測的需要。
[0085]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0086]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0087]本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0088]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0089]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的終端模擬器系統(tǒng)的反檢測裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0090]應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0091]至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
[0092]本發(fā)明實(shí)施例還公開了 Al.—種終端模擬器系統(tǒng)的反檢測方法,包括:
[0093]獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;
[0094]將各項(xiàng)所述系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,所述參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;
[0095]將匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為不同于所述默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中所述系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
[0096]A2.根據(jù)Al所述的方法,其中,將匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為不同于所述默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中所述系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值包括:
[0097]確定匹配出的所述系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型,并按照與所述系統(tǒng)參數(shù)類型對應(yīng)的方式將所述匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為按照所述系統(tǒng)參數(shù)賦值規(guī)則生成的不同于所述默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
[0098]A3.根據(jù)A2所述的方法,其中,確定匹配出的所述系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型包括:
[0099]識(shí)別所述匹配出的所述系統(tǒng)參數(shù)屬于以下類型中任一項(xiàng):所述終端模擬器中模擬的通訊參數(shù)類;所述終端模擬器中模擬的終端硬件參數(shù)類、所述終端模擬器中的內(nèi)核模擬參數(shù)類。
[0100]Α4.根據(jù)A3所述的方法,其中,按照與所述系統(tǒng)參數(shù)類型對應(yīng)的方式將所述匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為按照所述系統(tǒng)參數(shù)賦值規(guī)則生成的不同于所述默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值包括:
[0101]使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù),所述第一類系統(tǒng)參數(shù)屬于所述終端模擬器中模擬的通訊參數(shù)類;
[0102]修改所述模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段,所述第二類系統(tǒng)參數(shù)屬于所述終端模擬器中模擬的終端硬件參數(shù)類;
[0103]修改所述模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,所述第三類系統(tǒng)參數(shù)屬于所述終端模擬器中的內(nèi)核模擬參數(shù)類。
[0104]Α5.根據(jù)Α4所述的方法,其中,
[0105]所述系統(tǒng)參數(shù)包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型,
[0106]所述通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼屬于所述終端模擬器中模擬的通訊參數(shù)類;
[0107]所述終端型號(hào)、所述編譯標(biāo)簽、所述硬件編號(hào)、所述終端品牌、所述終端名稱、所述應(yīng)用設(shè)備、所述應(yīng)用處理器、所述終端制造商、所述主板平臺(tái)、所述建立產(chǎn)品、所述系統(tǒng)指紋屬于所述終端模擬器中模擬的終端硬件參數(shù)類;
[0108]所述模擬類型屬于所述終端模擬器中的內(nèi)核模擬參數(shù)類。
[0109]Α6.根據(jù)Α5所述的方法,其中,所述終端模擬器為安卓終端模擬器,
[0110]使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù)包括:
[0111]使用應(yīng)用程序接口中的getLinelNumber函數(shù)將默認(rèn)通信號(hào)碼修改為符合通信號(hào)碼格式的隨機(jī)號(hào)碼;
[0112]使用應(yīng)用程序接口中的getDeviceld函數(shù)將默認(rèn)硬件設(shè)備號(hào)修改為符合硬件設(shè)備號(hào)格式的隨機(jī)號(hào)碼;
[0113]使用應(yīng)用程序接口中的getNetworkOperatorName函數(shù)將默認(rèn)運(yùn)營商代碼修改為實(shí)際運(yùn)行環(huán)境中使用的運(yùn)營商代碼;
[0114]使用應(yīng)用程序接口中的getVoiceMaiINumber函數(shù)將默認(rèn)語音信箱號(hào)碼修改為符合語音信箱號(hào)碼格式的隨機(jī)號(hào)碼。
[0115]A7.根據(jù)A5所述的方法,其中,所述終端模擬器為安卓終端模擬器,
[0116]修改所述模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段包括:
[0117]修改所述模擬器系統(tǒng)的system, img鏡像包中的/system/build/prop文件對應(yīng)于所述第二類系統(tǒng)參數(shù)的參數(shù)賦值字段。
[0118]AS.根據(jù)A5所述的方法,其中,所述終端模擬器為安卓終端模擬器,
[0119]修改所述模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性包括:
[0120]查詢得出init進(jìn)程中r0.kernel, qemu對應(yīng)的屬性并修改為O。
[0121]本發(fā)明實(shí)施例還公開了 B9.—種終端模擬器系統(tǒng)的反檢測裝置,包括:
[0122]參數(shù)獲取模塊,配置為獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值;
[0123]參數(shù)識(shí)別模塊,配置為將各項(xiàng)所述系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,所述參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值;
[0124]參數(shù)修改模塊,配置為將匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為不同于所述默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中所述系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
[0125]B10.根據(jù)B9所述的裝置,其中,所述參數(shù)修改模塊包括:
[0126]類型確定子模塊,配置為確定匹配出的所述系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型;
[0127]數(shù)值修改子模塊,配置為按照與所述系統(tǒng)參數(shù)類型對應(yīng)的方式將所述匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為按照所述系統(tǒng)參數(shù)賦值規(guī)則生成的不同于所述默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
[0128]Bll.根據(jù)BlO所述的裝置,其中所述類型確定子模塊還配置為:
[0129]識(shí)別所述匹配出的所述系統(tǒng)參數(shù)屬于以下類型中任一項(xiàng):所述終端模擬器中模擬的通訊參數(shù)類;所述終端模擬器中模擬的終端硬件參數(shù)類、所述終端模擬器中的內(nèi)核模擬參數(shù)類。
[0130]B12.根據(jù)Bll所述的裝置,其中所述數(shù)值修改子模塊還配置為:
[0131]使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù),所述第一類系統(tǒng)參數(shù)屬于所述終端模擬器中模擬的通訊參數(shù)類;
[0132]修改所述模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段,所述第二類系統(tǒng)參數(shù)屬于所述終端模擬器中模擬的終端硬件參數(shù)類;
[0133]修改所述模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,所述第三類系統(tǒng)參數(shù)屬于所述終端模擬器中的內(nèi)核模擬參數(shù)類;
[0134]所述系統(tǒng)參數(shù)包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型,
[0135]所述通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼屬于所述終端模擬器中模擬的通訊參數(shù)類;
[0136]所述終端型號(hào)、所述編譯標(biāo)簽、所述硬件編號(hào)、所述終端品牌、所述終端名稱、所述應(yīng)用設(shè)備、所述應(yīng)用處理器、所述終端制造商、所述主板平臺(tái)、所述建立產(chǎn)品、所述系統(tǒng)指紋屬于所述終端模擬器中模擬的終端硬件參數(shù)類;
[0137]所述模擬類型屬于所述終端模擬器中的內(nèi)核模擬參數(shù)類。
[0138]B13.根據(jù)B12所述的裝置,其中所述終端模擬器為安卓終端模擬器,所述數(shù)值修改子模塊還配置為以下任一種或多種模式:
[0139]使用應(yīng)用程序接口中的getLinelNumber函數(shù)將默認(rèn)通信號(hào)碼修改符合通信號(hào)碼格式的隨機(jī)號(hào)碼;
[0140]使用應(yīng)用程序接口中的getDeviceld函數(shù)將默認(rèn)硬件設(shè)備號(hào)修改為符合硬件設(shè)備號(hào)格式的隨機(jī)號(hào)碼;
[0141]使用應(yīng)用程序接口中的getNetworkOperatorName函數(shù)將默認(rèn)運(yùn)營商代碼修改為實(shí)際運(yùn)行環(huán)境中使用的運(yùn)營商代碼;
[0142]使用應(yīng)用程序接口中的getVoiceMaiINumber函數(shù)將默認(rèn)語音信箱號(hào)碼修改為符合語音信箱號(hào)碼格式的隨機(jī)號(hào)碼;
[0143]修改所述模擬器系統(tǒng)的system, img鏡像包中的/system/build/prop文件對應(yīng)于所述第二類系統(tǒng)參數(shù)的參數(shù)賦值字段;
[0144]查詢得出init進(jìn)程中r0.kernel, qemu對應(yīng)的屬性并修改為O。
【權(quán)利要求】
1.一種終端模擬器系統(tǒng)的反檢測方法,包括: 獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值; 將各項(xiàng)所述系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,所述參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值; 將匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為不同于所述默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中所述系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
2.根據(jù)權(quán)利要求1所述的方法,其中,將匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為不同于所述默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中所述系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值包括: 確定匹配出的所述系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型,并按照與所述系統(tǒng)參數(shù)類型對應(yīng)的方式將所述匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為按照所述系統(tǒng)參數(shù)賦值規(guī)則生成的不同于所述默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
3.根據(jù)權(quán)利要求2所述的方法,其中,確定匹配出的所述系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型包括: 識(shí)別所述匹配出的所述系統(tǒng)參數(shù)屬于以下類型中任一項(xiàng):所述終端模擬器中模擬的通訊參數(shù)類;所述終端模擬器中模擬的終端硬件參數(shù)類、所述終端模擬器中的內(nèi)核模擬參數(shù)類。
4.根據(jù)權(quán)利要求3所述的方法,其中,按照與所述系統(tǒng)參數(shù)類型對應(yīng)的方式將所述匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為按照所述系統(tǒng)參數(shù)賦值規(guī)則生成的不同于所述默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值包括: 使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù),所述第一類系統(tǒng)參數(shù)屬于所述終端模擬器中模擬的通訊參數(shù)類; 修改所述模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段,所述第二類系統(tǒng)參數(shù)屬于所述終端模擬器中模擬的終端硬件參數(shù)類; 修改所述模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性,所述第三類系統(tǒng)參數(shù)屬于所述終端模擬器中的內(nèi)核模擬參數(shù)類。
5.根據(jù)權(quán)利要求4所述的方法,其中, 所述系統(tǒng)參數(shù)包括:通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼、終端型號(hào)、編譯標(biāo)簽、硬件編號(hào)、終端品牌、終端名稱、應(yīng)用設(shè)備、應(yīng)用處理器、終端制造商、主板平臺(tái)、建立產(chǎn)品、系統(tǒng)指紋、模擬類型, 所述通信號(hào)碼、硬件設(shè)備號(hào)、運(yùn)營商代碼、語音信箱號(hào)碼屬于所述終端模擬器中模擬的通訊參數(shù)類; 所述終端型號(hào)、所述編譯標(biāo)簽、所述硬件編號(hào)、所述終端品牌、所述終端名稱、所述應(yīng)用設(shè)備、所述應(yīng)用處理器、所述終端制造商、所述主板平臺(tái)、所述建立產(chǎn)品、所述系統(tǒng)指紋屬于所述終端模擬器中模擬的終端硬件參數(shù)類; 所述模擬類型屬于所述終端模擬器中的內(nèi)核模擬參數(shù)類。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述終端模擬器為安卓終端模擬器, 使用鉤子系統(tǒng)的應(yīng)用程序接口中的對應(yīng)函數(shù)修改第一類系統(tǒng)參數(shù)包括: 使用應(yīng)用程序接口中的getLineINumber函數(shù)將默認(rèn)通信號(hào)碼修改為符合通信號(hào)碼格式的隨機(jī)號(hào)碼; 使用應(yīng)用程序接口中的getDeviceld函數(shù)將默認(rèn)硬件設(shè)備號(hào)修改為符合硬件設(shè)備號(hào)格式的隨機(jī)號(hào)碼; 使用應(yīng)用程序接口中的getNetworkOperatorName函數(shù)將默認(rèn)運(yùn)營商代碼修改為實(shí)際運(yùn)行環(huán)境中使用的運(yùn)營商代碼; 使用應(yīng)用程序接口中的getVoiceMaiINumber函數(shù)將默認(rèn)語音信箱號(hào)碼修改為符合語音信箱號(hào)碼格式的隨機(jī)號(hào)碼。
7.根據(jù)權(quán)利要求5所述的方法,其中,所述終端模擬器為安卓終端模擬器, 修改所述模擬器系統(tǒng)的系統(tǒng)記錄文件中對應(yīng)于第二類系統(tǒng)參數(shù)的參數(shù)賦值字段包括: 修改所述模擬器系統(tǒng)的system, img鏡像包中的/system/build/prop文件對應(yīng)于所述第二類系統(tǒng)參數(shù)的參數(shù)賦值字段。
8.根據(jù)權(quán)利要求5所述的方法,其中,所述終端模擬器為安卓終端模擬器, 修改所述模擬器系統(tǒng)進(jìn)程中內(nèi)核鏡像的對應(yīng)于第三類系統(tǒng)參數(shù)的屬性包括: 查詢得出init進(jìn)程中r0.kernel, qemu對應(yīng)的屬性并修改為O。
9.一種終端模擬器系統(tǒng)的反檢測裝置,包括: 參數(shù)獲取模塊,配置為獲取終端模擬器中描述模擬終端信息的多項(xiàng)系統(tǒng)參數(shù)及其參數(shù)值; 參數(shù)識(shí)別模塊,配置為將各項(xiàng)所述系統(tǒng)參數(shù)的參數(shù)值分別與預(yù)置的參數(shù)庫中保存的默認(rèn)參數(shù)值進(jìn)行匹配,所述參數(shù)庫中保存有已被識(shí)別為模擬器信息的多項(xiàng)默認(rèn)參數(shù)值; 參數(shù)修改模塊,配置為將匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為不同于所述默認(rèn)參數(shù)值且符合終端實(shí)際運(yùn)行環(huán)境中所述系統(tǒng)參數(shù)賦值規(guī)則的數(shù)值。
10.根據(jù)權(quán)利要求9所述的裝置,其中,所述參數(shù)修改模塊包括: 類型確定子模塊,配置為確定匹配出的所述系統(tǒng)參數(shù)的對應(yīng)的系統(tǒng)參數(shù)類型; 數(shù)值修改子模塊,配置為按照與所述系統(tǒng)參數(shù)類型對應(yīng)的方式將所述匹配出的所述系統(tǒng)參數(shù)的參數(shù)值修改為按照所述系統(tǒng)參數(shù)賦值規(guī)則生成的不同于所述默認(rèn)參數(shù)值的隨機(jī)數(shù)值或固定數(shù)值。
【文檔編號(hào)】G06F21/56GK104134041SQ201410374584
【公開日】2014年11月5日 申請日期:2014年7月31日 優(yōu)先權(quán)日:2014年7月31日
【發(fā)明者】張東誼, 謝軍樣 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司