日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

  • 將爬蟲的爬取過程分為網絡請求,文本獲取和數據提取3個部分。
  • 信息校驗型反爬蟲主要出現在網絡請求階段,這個階段的反爬蟲理念以預防為主要目的,盡可能拒絕反爬蟲程序的請求。
  • 動態渲染、文本混淆則出現在文本獲取及數據提取階段,這個階段的反爬蟲理念以保護數據為主要目的,盡可能避免爬蟲獲得重要數據
  • 特征識別反爬蟲通過客戶端的特征、屬性或用戶行為特點來區分正常用戶和爬蟲程序的手段
  • App網絡傳輸和數據收發相對隱蔽,用戶無法直接查看客戶端發出的請求信息和服務端返回的響應內容,也無法直接查看App的代碼,構成了反爬蟲
  • Python/ target=_blank class=infotextkey>Python常見反爬蟲類型(信息校驗型、動態渲染、文本混淆、特征識別反爬蟲等)

5、App反爬蟲

(1)App抓包軟件

  • 可以安裝mitmproxy、charles、fillder三者之一對手機抓包
  • 原由:借助抓包工具能夠查看App的網絡請求信息,前提是App使用的網絡傳輸協議是HTTP;如果App使用的網絡傳輸協議是HTTPS,需要計算機和手機端同時安裝證書;
  • 漏點:對于Android手機只有版本號小于7的Android系統才允許在證書得到信任后對App抓包,高版本的需要刷機(有風險);
  • 推薦:選擇使用Android模擬器(一個能夠在計算機上運行Android系統的應用軟件),模擬器允許用戶安裝任意版本的Android系統,在接近真機體驗的同時還不會造成任何設備的損壞;

(2)APK文件反編譯

  • 簽名驗證是防止惡意連接和避免服務器端被數據欺騙的有效方式之一,也是后端API常用的防護手段之一;
  • 高級語言的源程序需要通過編譯生成可執行文件,編譯就是將編程語言翻譯成計算機能夠識別和處理的二進制數據的過程;
  • 反編譯又名計算機軟件反向工程,指的是將軟件應用還原成開發語言代碼的過程;
  • APK(Android Application Package)即Android應用程序包,如果我們想要查看Android應用程序的源碼,就需要使用反編譯手段提取APK中的代碼;
  • 借助反編譯軟件Apktool和JADX將APK反編譯成代碼
  • 示例:安裝JADX軟件>啟動JADX軟件后>點擊“文件”菜單并在下方列表中選擇“打開文件”>選擇對應的APK文件>點擊菜單欄“導航”_“搜索文本”>轉到相應代碼 ;JADX軟件使用 , jadx下載與使用,jadx安裝包
  • App與服務器的通信使用的也是HTTP協議和WebSocket協議,所以基于這兩種網絡協議的反爬蟲手段可以應用在App上,想要查看App的代碼,必須將對應的APK文件反編譯成代碼

(3)App代碼混淆反爬蟲

  • 代碼混淆:將代碼轉換成一種功能等價但人類難以閱讀和理解的文本。混淆指使用簡短或冗長且無規律的字符替代代碼中的方法、類和變量的名稱,在缺乏注釋和混淆映射表的情況下,工程師幾乎無法閱讀項目代碼。
  • Anfroid代碼混淆其實是對項目中的字符進行映射與壓縮。混淆時會將代碼中的類名、變量名和函數名用無意義的簡短名稱進行映射,如:
  • # 映射示例:映射前 ————》 映射后
    seaking ————》 eclass indexview ————》 class v
     
  • 這樣能夠保證反編譯APK后得到的代碼無法見名知意,令APK難以被逆向。Android可以使用ProGuard
  • ProGuard是Android官方提供的代碼壓縮和混淆工具,它會檢測和移除封裝應用中的未使用的類、字段、方法、屬性以及自帶代碼庫中的未使用項。ProGuard還可以優化字節碼,移除未使用的代碼指令,以及用短名稱混淆其余的類和方法。
  • 每次構建混淆規則時,ProGuard會在/build/outputs/mapping/release/中輸出下列文件。
  • """這些文件便于開發者對混淆后的代碼進行追蹤和調試,如果mapping,txt該文本被覆蓋或丟失,那么即使是項目開發者,也無法閱讀混淆過后的代碼"""
    dump.txt:說明APK中所有類文件的內部結構;mapping.txt:提供原始與混淆過的類、方法和字段名稱之間的轉換;seeds.txt:列出未進行混淆的類和成員;usage.txt:列出打算從APK文件中移除的代碼
  • 代碼混淆并不能阻止APK被反編譯,但是可以有效提高他人閱讀程序代碼的難度,進而加強對數據的保護。代碼中的字符串并不會被混淆

(4)App應用加固知識擴展

  • 除了Android官方文檔介紹的代碼混淆方法外,App一般從防逆向、防調試、防篡改和防竊取的角度出發,使用DEX加密、LLVM混淆、內存監控等手段保護自己的源代碼和資源
  • DEX加密的主要目的是防止App被反編譯。JADX等反編譯工具實際上是先將DEX文件編譯成Smail語言的代碼,再轉換成class文件進行閱讀和修改。DEX加密實際上是用代碼對Android項目的Classes.dex文件進行加密,就像在原來的DEX上面加了一層殼一樣,所以DEX加密又稱為加殼。

(5)App應用程序自動化測試工具Appium和Airtest

  • Appium提供了滑動、觸摸(點擊)、長按、模擬輸入和文本提取等常見功能;
  • Airtest Project也提供了滑動、觸摸(點擊)、長按、模擬輸入和文本提取等常見功能;它還支持“圖碼”混合編程

6、驗證碼

  • 驗證碼

分享到:
標簽:爬蟲 App
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定