日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程...

發布時間:2025/5/22 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本發明涉及一種基于符號的識別android應用運行在模擬器中的方法。

背景技術:

很多的移動應用都會使用一種基于lbs的地理圍欄的技術(如移動打卡),某些用戶為了突破這種圍欄的限制,將移動應用運行在模擬器中,通過模擬器欺騙移動應用,從而突破圍欄的限制。這個時候往往需要有能力來判斷移動應用是否運行在模擬器中。

當前的android應用(移動應用的一種)具有非常多的方法來判斷應用是否運行于模擬器中,如imei、cpu信息、電池信息、build信息(包括fingerprint、model、manufacturer、brand、device、product等)等信息。

現有方法的一個特點是都是通過系統提供的api獲取,大部分模擬器可修改這些api的返回值,因此,這些方法都很難準確判斷應用是否運行于模擬器中。

技術實現要素:

本發明的目的在于針對現有技術的不足,提供一種基于符號的識別android應用運行在模擬器中的方法。

為了解決上述技術問題,采用如下技術方案:

一種基于符號的識別android應用運行在模擬器中的方法,其特征在于包括以下步驟:

(1)讀取/proc/self/maps文件,解析maps文件中的每一行,根據maps格式解析出應用所加載的所有模塊的信息;

(2)根據所述模塊的路徑信息,篩選出so模塊,過濾不搜索符號的模塊;

(3)根據所述so模塊的信息以此從so模塊的開始內存地址解析、遍歷模塊的符號;

(4)將內存地址解析、遍歷模塊的符號與搜索的符號對比,如果符號名稱相同,則認為在相應的模塊中找到搜索的符號,認為運行環境是模擬器。

進一步,在所述步驟(2)中,在篩選出so模塊,過濾不搜索符號的模塊之前,先判斷所述模塊的信息的數據的格式是否符合maps文件的格式,如果符合maps文件的格式,則開始過濾不搜索符號的模塊,如果不符合maps文件的格式,返回步驟(1)。

進一步,在所述步驟(2)中,所述篩選出so模塊,過濾不搜索符號的模塊的方法如下:從maps格式解析出應用所加載的所有模塊的信息中,先篩選出含有帶有so模塊代碼對應的內存段,然后從所述內存段對應的so模塊是否是需要查找符號的模塊,如果是需要查找符號的模塊,進行步驟(3),所述不是需要查找符號的模塊,返回步驟(1)。

名詞解釋:

lbs:基于位置的服務,它是通過電信移動運營商的無線電通訊網絡(如gsm網、cdma網)或外部定位方式(如gps)獲取移動終端用戶的位置信息(地理坐標,或大地坐標),在地理信息系統(外語縮寫:gis、外語全稱:geographicinformationsystem)平臺的支持下,為用戶提供相應服務的一種增值業務。

android模擬器:一個可以運行在電腦上的虛擬設備,android模擬器可以讓你不需使用物理設備即可預覽、開發和測試android應用程序,也可運行實際的應用。

模塊:so模塊,是指動態加載到內存中的一個so文件實體。

符號:程序源代碼中的標識符,包括函數名稱、變量名稱等。

符號表:用于存儲符號的一種數據結構,通過其可遍歷模塊中的所有符號。

由于采用上述技術方案,具有以下有益效果:

本發明為一種基于符號的識別android應用運行在模擬器中的方法,本發明通過對比現有模擬器與真機之間現實的差異,通過非api的方法準確判斷android應用是否運行于模擬器中。具有優點如下:

本發明方法不讀取磁盤文件(/proc/self/maps是虛擬文件系統,不是磁盤文件),都是在內存的讀寫操作,速度較快。

本發明方法不通過api調用,不容易受到模擬器的欺騙。

附圖說明

下面結合附圖對本發明作進一步說明:

圖1為本發明一種基于符號的識別android應用運行在模擬器中的方法的流程示意圖。

具體實施方式

為使本發明的目的、技術方案和優點更加清楚明了,下面通過附圖及實施例,對本發明進行進一步詳細說明。但是應該理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限制本發明的范圍。此外,在以下說明中,省略了對公知結構和技術的描述,以避免不必要地混淆本發明的概念。

請參閱圖1,一種基于符號的識別android應用運行在模擬器中的方法,其特征在于包括以下步驟:

讀取/proc/self/maps文件,解析maps文件中的每一行,根據maps格式解析出應用所加載的所有模塊的信息;

maps文件是linux系統的內存映射表文件,每一行表示內存中的一段內存,包括內存段的開始和結束地址,內存權限(有執行權限的是代碼段)以及映射到該內存段的文件(如果有的話),通過maps文件可以得到進程所有代碼段的地址范圍以及映射到此代碼段的so模塊的信息。

(2)根據所述模塊的路徑信息,篩選出so模塊,過濾不搜索符號的模塊;

(3)根據所述so模塊的信息以此從so模塊的開始內存地址解析、遍歷模塊的符號;

所述符號的格式為elf格式。

(4)將內存地址解析、遍歷模塊的符號與搜索的符號對比,如果符號名稱相同,則認為在相應的模塊中找到搜索的符號,認為運行環境是模擬器。

其中,比對的符號具體包括如下:

/system/lib/libandroid_runtime.so

模塊的microvirt.gles.renderer

和ttvm.gles.renderer

/system/lib/libart.so

模塊的microvirt.gles

/system/lib/libc.so

模塊的init.nox.rc、init.svc.vbox86-setup、microvirt

具體的,在所述步驟(2)中,在篩選出so模塊,過濾不搜索符號的模塊之前,先判斷所述模塊的信息的數據的格式是否符合maps文件的格式,如果符合maps文件的格式,則開始過濾不搜索符號的模塊,如果不符合maps文件的格式,返回步驟(1)。

具體的,在所述步驟(2)中,所述篩選出so模塊,過濾不搜索符號的模塊的方法如下:從maps格式解析出應用所加載的所有模塊的信息中,先篩選出含有帶有so模塊代碼對應的內存段,然后從所述內存段對應的so模塊是否是需要查找符號的模塊,如果是需要查找符號的模塊,進行步驟(3),所述不是需要查找符號的模塊,返回步驟(1)。

so模塊代碼對應的內存段是指:一個有代碼的so模塊在加載到系統中的時候都會將其代碼數據映射到一個內存段(也就是該段內存存放代碼數據)。

本發明通過對比現有模擬器與真機之間現實的差異,通過非api的方法準確判斷android應用是否運行于模擬器中。該方法不依賴于系統api,通過解析某個特定模塊(如/system/lib/egl目錄下的所有so文件),遍歷該模塊中的所有符號,并檢查其中是否包含特定的符號(如goldfish_get_egl_tls),如果包含,則可以確認應用的運行環境是模擬器。

以上,僅為本發明較佳的具體實施方式;但本發明的保護范圍并不局限于此。任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,根據本發明的技術方案及其改進構思加以等同替換或改變,都應涵蓋在本發明的保護范圍內。

總結

以上是生活随笔為你收集整理的android 模拟器识别,一种基于符号的识别Android应用运行在模拟器中的方法与流程...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一区二区三区精品视频 | 亚洲爱爱av| 日韩影视一区 | 中文字幕一区二区人妻视频 | 欧美××××黑人××性爽 | 精品国产一区二区三区噜噜噜 | 无遮挡的裸体按摩的视频 | 国产成人免费观看 | 婷婷激情小说 | 国产日产欧美 | 日韩综合一区 | www.亚洲色图.com | 美女扒开内看个够网站 | 久久国产精品免费观看 | 一级理论片| 日本护士╳╳╳hd少妇 | www.午夜av| 精品久久久久久久免费人妻 | 黄在线网站 | 日本三级免费 | 日韩一级视频在线观看 | 日本不卡1 | 亚洲第一区在线观看 | 久久香焦| 国产老头老太作爱视频 | 亚洲成av人片在线观看无码 | 美国黄色a级片 | 久久aaaa片一区二区 | 天堂av一区 | av免费看网址 | 久久精品高清视频 | 国产一级视频在线 | 日韩一级黄色录像 | 国产美女激情 | 美女张开腿让男人操 | www.欧美在线观看 | 国产尻逼 | 日本美女视频 | 免费av看 | 福利影院在线观看 | 少妇情理伦片丰满午夜在线观看 | 熟女人妻视频 | 久草中文在线视频 | 亚洲三级一区 | 中文字幕色图 | 性中文字幕 | 国产高清免费在线观看 | 91波多野结衣 | 欧美一区二区三区激情 | 爆操欧美 | 丁香激情五月少妇 | 六月婷婷七月丁香 | 精品国产三级a∨在线 | 国产一级片免费看 | a片在线免费观看 | 精品人妻av在线 | 性视频久久 | 被扒开腿一边憋尿一边惩罚 | 与亲女洗澡时伦了毛片 | 成人午夜网址 | 亚洲av色香蕉一区二区三区 | 真人抽搐一进一出视频 | 中文字幕在线看人 | 九九热免费视频 | 超碰国产一区二区三区 | 欧美激情伊人 | 国产一区二区三区三州 | 国产第八页 | 国产乡下妇女做爰毛片 | 亚洲爱爱网| 特级丰满少妇一级aaaa爱毛片 | 亚洲精品1区 | www.日日干| www.色网站| 日韩在线观看免费全 | 7色av| 亚洲国产精品久 | 亚洲一区二区三区久久久 | 性色av无码久久一区二区三区 | 亚洲精品欧洲精品 | 欧美 日韩 国产 中文 | 欧美 中文字幕 | 亚洲综合大片69999 | 国产在线观看a | 在线观看视频你懂得 | 中文字幕在线视频精品 | 午夜伦理在线观看 | 国产丝袜视频在线 | 国产在线看一区 | 欧美狠狠干 | 免费黄在线 | 自拍天堂 | 91丝袜国产在线观看 | www.四色| 樱空桃在线观看 | 激情五月婷婷丁香 | 熟妇人妻av无码一区二区三区 | 一级黄片毛片 | 中国三级视频 |