最近疫情又嚴重了,大家注意防範哦,出門一定要帶口罩,今天小編給大家帶來,模擬器檢測,希望對大家有所幫助,讓我們一起共同進步。
模擬器檢測,顧名思義,軟體、手遊等不能運行在模擬器上面。
灰黑產:比如一個遊戲能在模擬器上實現批量刷金幣,或者是其他功能,但是模擬器沒法啟動起來,這種情況就得換真機,成本也就多了。
從正向防護角度來看,如何檢測模擬器?wifi、藍牙、電量(是不是一直百分百)、cpu等等,手機的配置信息是非常多的,我們直接獲取這些細信息,來做一個判斷;我們先來看如何獲取這些信息:比如手機設備號、時間等等、狀態信息等。
在模擬器中打開設置,來到最後一項:關於平板電腦
首先定義一個數組,檢測兩個通道,然後循環,判斷輸出
檢測驅動文件內容讀取文件內容,然後檢查已知QEmu的驅動程序的列表
然後,檢測模擬器上特有的幾個文件
檢測模擬器默認的電話號碼
然後:檢測設備IDS 是不是 「000000000000000」
然後:檢測imsi id是不是「310260000000000」
然後:檢測手機上的一些硬體信息
然後檢測手機運營商家
然後:基於模擬器cpu信息的檢測
然後:關鍵路徑檢測特定模擬器檢測
除了上述這些,比如還一些模擬器默認的軟體:
還有檢測GPS定位等等其他的,這個就得結合前面的知識具體分析了,看他哪個點、哪個代碼是有這些關鍵檢測的,還會有可能是多種組組合檢測。
安裝,運行效果
對於沒有提示的,那就只能多分析他的代碼,也就是增加了些工程量。
放到androidkiller裡面反編譯,一般遊戲的話,對模擬器的檢測是非常多的。
還有一種協議檢測,他會通過發包,把你的包發給伺服器,然後有伺服器來判斷你目前的環境是不是模擬器。這種的話就搜到關鍵信息,想解決的話只能在後面分析協議,然後慢慢去摸索了。
我們先來看這個權限,藍牙;我們知道模擬器是沒有藍牙的。
簡單分析一下這些權限;我們也可以在權限上動手腳,如果把權限刪掉就不會調用了,但是如何你直接暴力刪掉,有時候程序會崩潰;
先搜索一波(演示一下):應用在模擬器上運行:發現沒搜到
轉U碼試試;搜到兩處
過來後,找到所在方法;這個有可能就是
看一下本類其他方法:還有一個初始化
再來看一下入口界面;application這裡:
就是這裡;
過來後,找到Oncreate:
簡單分析下smail;
然後看java代碼;進行一個簡單分析;
然後看入口界面,發現丟失;
這裡cocos2d設計遊戲引擎;
剛才已經找到 運行在模擬器上的位置:
直接定位過去,看java代碼。
if判斷,Toast彈出模擬器上運行,然後殺死進程,退出。
其實很明顯,改起來也很簡單,可以把killproces這個函數nop掉,就可以過掉模擬器檢測;
以上就是今天小編要給大家講解的模擬器檢測了,還給大家實例了一下,不明白的小夥伴可以私聊我