<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          推薦兩個(gè)非常實(shí)用的開源項(xiàng)目,提高開發(fā)效率!

          共 2392字,需瀏覽 5分鐘

           ·

          2020-08-15 12:21

          熱文推薦:

          1.SDK-Analysis

          前言

          隨著對 apk 內(nèi)部集成 SDK 調(diào)研需求的增加,實(shí)現(xiàn)自動(dòng)化檢測 apk 包中 SDK 集成情況的功能是很有必要的。因此,筆者創(chuàng)建了 SDK-Analysis 這個(gè)項(xiàng)目,目的就是自動(dòng)化拆解 apk 包,并查找其是否集成所要了解的 SDK。

          支持功能

          目前支持 8 家 SDK 的檢測:數(shù)盟,數(shù)美,極光,友盟,Mob,TalkingData,網(wǎng)易易盾,易觀方舟;具體步驟:

          • 解壓 apk 文件

          • 通過 baksmali 解壓 dex文件

          • 查找 apk 中所需要的 SDK集成情況,并打印結(jié)果

          基礎(chǔ)使用

          將代碼下載到本地后:

          1. 將要解析的 apk 放入項(xiàng)目的 a目錄下,可以支持 n 個(gè)apk的解析工作

          2. 根據(jù)自身情況修改文件路徑,本示例以如下:

            #?要解析的?apk?文件路徑
            pathsour?=?'D:\\MyProgects\\Python\\SdkAnalysis\\apk\\'
            #?baksmali.jar
            baksmali?=?'D:\\MyProgects\\Python\\SdkAnalysis\\baksmali.jar'
          3. 根據(jù)自身情況修改輸出文件路徑,本示例如下:

            reportPath?=?"D:\\MyProgects\\Python\SdkAnalysis\\logout\\UmengSDKReport.txt"
          4. 總結(jié)要查找的 SDK 的特征值:

            #?sdk?feature
            #?友盟
            umengStr?=?"com.umeng"

            #?極光
            JAnalyStr?=?"JAnalyticsInterface"??#?極光統(tǒng)計(jì)
            JPushStr?=?"JPushInterface"????????#?極光推送
            JMessageStr?=?"JMessageClient"?????#?極光IM
            JShareStr?=?"JShareInterface"??????#?極光分享

            #?個(gè)推
            GTStr?=?"getui"
            GTStr_1?=?"GTIntentService"
            GTStr_2?=?"GetuiPushService"
            #?個(gè)數(shù)
            GSStr_1?=?'GsManager?'
            GSStr_2?=?'GsConfig?'
            #?個(gè)像
            GI?=?'GInsightManager?'

            #?TalkingData
            TalkingDataStr?=?"TCAgent"
            #?Mob
            MobSDKStr?=?"MobSDK"
            #?數(shù)盟
            DUSDKStr?=?"cn\shuzilm\core"
            #?數(shù)美
            SMSDKStr?=?"SmAntiFraud"
            #?易觀方舟
            YGSDKStr?=?"AnalysysAgent"
            #?網(wǎng)易易盾
            WANGYIStr?=?"watchman"

          注意:經(jīng)分析,推送類 SDK 與大多數(shù)其他的分析類 SDK 不同,只是實(shí)現(xiàn)簡單的發(fā)送和接受功能。而其他的sdk大多具備完整數(shù)據(jù)能力,因此對極光和個(gè)推的 SDK 類別做了區(qū)分。

          至此,我們可以開啟 apk 解析之旅了,啟動(dòng)項(xiàng)目。

          輸出文件

          報(bào)告輸出以 SDK 為單位,打印集成 SDK 的應(yīng)用包名(下載后的apk名稱),這樣可以更方便的看到對應(yīng) SDK 都被哪些 apk 所集成。

          項(xiàng)目中報(bào)告的路徑如下:

          輸入圖片說明

          以 JGSDKReport 為例,內(nèi)部結(jié)構(gòu)如下:

          <==========================?極光?SDK?集成情況?===========================>
          app?name?====>?com.kuaikan.comic_5.40.0_540000???JPush?SDK
          app?name?====>?com.kuaikan.comic_5.40.0_540000???JAnalytic?SDK

          內(nèi)容主要有APP名稱,所集成的SDK名;可根據(jù)自身需求修改輸出格式。

          注意

          • 由于 ?baksmali 在解包的時(shí)候速度會稍微慢一下,請耐心點(diǎn);

          • 由于解包后的文件比較大,記得及時(shí)清理

          項(xiàng)目地址

          github地址:https://github.com/knight-li/SDK-Analysis

          2.常用的數(shù)據(jù)結(jié)構(gòu)和算法封裝庫celib

          celib是使用ANSI C開發(fā)的一個(gè)擴(kuò)展類庫(c extend library),包含了一些常用的數(shù)據(jù)結(jié)構(gòu)和算法的封裝,可以用于應(yīng)用或者學(xué)習(xí)。

          目前已經(jīng)包含的封裝如下:

          (01). 動(dòng)態(tài)數(shù)組。

          (02). bitmap。

          (03). 布隆過濾器。

          (03). 二叉樹。

          (04). 基本壓縮函數(shù)(RLE和LZE算法)。

          (05). 常用的Hash函數(shù)(BKDR,FNV,DJB,ELF,bobJenkins,Murmur,crc32)。

          (06). 哈希表(hashmap)。

          (07). 雙向鏈表。

          (08). 基本的數(shù)學(xué)操作函數(shù)。

          (09). MD5(字符串md5, 文件md5)。

          (10). 排序(插入,希爾,歸并,快速,桶式,Bit桶式)。

          (11). 字符串API(類Java的StringBuffer字符串緩沖, token, 截取, 查找/替換)。

          (12). 一些簡單的內(nèi)存操作函數(shù)。

          項(xiàng)目地址

          官方首頁:http://code.google.com/p/cx-util/downloads/list


          如有收獲,歡迎分享?

          「點(diǎn)贊「評論?

          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人

          ? 開發(fā)者全社區(qū)?

          5T技術(shù)資源大放送!包括但不限于:Android,Python,Java,大數(shù)據(jù),人工智能,AI等等。關(guān)注公眾號后回復(fù)「2T」,即可免費(fèi)獲取!
          瀏覽 57
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费视频一二三区 | 日本成人性爱视频 | 色视频在线国产 | 青娱乐手机视频 | 午夜成人在线小电影 麻豆 |