Android加固

        前段時間,研究了一些Android逆向相關的工具和技術,並寫了一些博客。當然,逆向的博客還沒寫完,初步寫了那麼幾篇,後面還會繼續寫。之前也提到過,有逆向,就有相關的保護措施,加固就是其中的一種。接下來,我將總結一下目前常用的Android加固平臺。

一.梆梆加固

1.在線加固

 1.這是梆梆加固的官網:https://dev.bangcle.com/。註冊新用戶並且登錄後,點擊立即加固,如下圖所示:

2.打開新的頁面後,選擇添加應用,如圖所示:

3.選擇應用後,上傳完成,點擊提交應用。如下圖所示:

4.提交後,等待加固完成:

5.當收到郵件通知後,加固已經完成,可以刷新一下網頁:

6.點擊加固完成的apk,進去後點擊下載加固包。因爲不能在線簽名,所以下載後需要自己簽名。如下所示:

7.不知道如何簽名的,可以按照上圖的指引下載簽名工具並且簽名,至此,在線加固完成。在線加固還是比較繁瑣的,不推薦在線使用,更推薦使用梆梆助手加固,下面會介紹。

2.梆梆助手下載及使用

   我們進入官網下載梆梆助手。“梆梆助手,是梆梆安全面向廣大開發者提供的桌面級(PC端)APP加固輔助工具,具有提交便捷、響應迅速、傳輸穩定等特點,同時支持斷點續傳、可視化任務管理、多任務處理、自動一體化加固、自定義簽名導出形式等功能”。

    傻瓜式安裝完之後,我們打開梆梆助手,登錄賬號密碼。如果未註冊,可以點擊註冊新用戶。如果點擊註冊新用戶未打開註冊頁面,直接去官網註冊。如下圖所示:

    註冊完後,登錄,主界面如圖所示:

3.使用梆梆助手加固apk

    1.點擊文件、添加任務、添加單APK文件(在這裏以加固一個apk爲例,如果加固多個可以選擇添加目錄),如圖所示:

    

2.選擇要加固的apk後,會自動進行接下來的加固工作:上傳中、加固中、下載中、已完成,如下圖所示:

3.梆梆加固有一點做的比較好,就是在加固任務完成後,會進行郵件提醒。我們測試用的apk文件很小,如果文件很大的話,可能我們選擇完就不管它了,那麼當加固完成後,收到郵件提醒,我們就可以繼續我們的工作了,不用一直盯着看,如下圖所示:

4.收到郵件提醒後,看一下梆梆助手,任務進度可能還是顯示加固中或者下載中,刷新一下狀態,加固完成。如下圖所示:

5.完成上面的加固工作後,我們需要導出加固後的apk。選中我們要導出的apk,點擊導出,選擇導出簽名apk,如下圖所示:

6.在彈出的界面選擇簽名文件,輸入密碼,選擇導出位置,點擊開始導出,如下圖所示:

7.當導出成功後,會彈窗提示,至此,我們的加固工作完成。

4.使用AndroidKiller驗證加固

1.首先,我們反編譯一下原來的apk,看一下反編譯後的文件。具體的步驟不再詳細說,看一下反編譯的結果。從下圖可以看到,我們的包名和類名的smali源代碼很清晰的暴露了出來。通過修改一些smali源代碼,我們可以修改邏輯功能,二次打包。如下圖所示:

2.我們使用AndroidKiller反編譯一下加固後的apk。反編譯成功了,但是,我們打開smali文件件,發現包名和類名全都變成了我們不熟悉的樣子。打開看smali代碼,看不到任何熟悉的代碼。如下圖所示:

    我們看一下AndroidManifest文件,裏面有app入口Activity的聲明,發現是MainActivity,我們嘗試搜索MainActivity,發現除了Manifest文件以爲,沒搜到任何MainActivity的記錄。如圖所示:

5.比較加固前後的apk

1.比較一下加固前後的apk安裝包大小

加固前的apk是1.25M,加固後的apk是1.82M,增加了0.57M。如下圖所示:

2.測試一下加固後的app是否可用,如下測試結果,是可以使用的:

    最後,簡單總結一下。梆梆加固的使用非常的方便,使用梆梆助手,一鍵加固,一鍵導出。加固後通過AndroidKiller反編譯後無法獲取源碼,加固後的apk大小會有所增加,加固後應用可以正常的安裝和使用。

二.騰訊樂固

    接下來介紹一下騰訊樂固的使用。(注:這些與加固相關的博客本來是四月份寫的,因爲後面覺得這些加固工具的使用大都差不多,所以刪掉了。最近想了想,好歹是自己一邊操作一邊整理的,還是恢復吧,把四篇加固的文章合併成一篇,基本涵蓋了國內主流的加固工具了)。

1.樂固在線使用

1.樂固的使用需要登錄騰訊雲,進入移動應用安全板塊。地址如下:https://cloud.tencent.com/product/ms。可以選擇QQ或者微信登錄,登陸後,點擊立即體驗。如圖所示:

2.進入如下圖所示界面:

3.點擊立即去加固,選擇免費加固,上傳應用後,點擊確認加固,需要等待一段時間。如下圖所示,:

4.加固完成後,點擊下載加固包。在線不支持簽名打包,因此,下載後需要簽名。具體的簽名不多說了。不推薦在線使用,推薦使用自助加固工具,下面會介紹。

2.加固助手加固

1.點擊應用加固,然後下載加固工具,如下圖所示:

2.打開加固助手,這裏需要注意一下,需要一個密鑰id和密鑰Key,點擊如何獲取雲API密鑰,按照指引一步步來,如下所示:

3.登錄進來後,選擇添加應用,如下圖所示:

4.進入如下界面,選擇簽名文件,輸入密碼,點擊下一步,然後點擊加固,等待加固完成即可:

5.加固完成後,點擊詳情,下載。注意:下載後的兩個文件,名字短的是未簽名的,無法安裝。名字長的是簽名好的,可以安裝和使用。

3.使用AndroidKiller驗證加固

    使用AndroidKiller反編譯後,發現,smali中的代碼均沒有明顯的意義。搜索MainActivity也搜索不到任何的信息:

4.加固前後apk比較

1.apk體積比較:

加固前1.25M,加固後1.39M,體積增加0.14M,如下圖所示:

2.apk加固後是否可以安裝使用,如下圖所示,可以正常使用:

    最後,總結一下。騰訊的樂固加固,使用起來也非常方便,樂固助手的使用非常簡單,加固後的apk體積比之前略微增加一點,這一點比梆梆加固好很多。加固後反編譯得到的代碼是處理過的,加固後apk可以正常的安裝和使用。

三.Tistin雲加固

        接下來,介紹另一款加固工具:Testin雲加固。與前兩種加固平臺不同的是,Testin雲加固只支持網站在線加固。接下來,抱着體驗和學習的態度來看一下Testin雲加固。

1.Testin雲加固的使用

    1.首先,進入Testin雲加固的官網:https://www.testin.cn/business/sec_reinforce.htm。註冊登錄後,點擊立即體驗:

    2.點擊立即體驗後,進入如下界面,點擊開始加固,在彈出的窗口選擇標準版加固:

    3.綁定郵箱後,進入如下界面:

    4.點擊上傳應用,選擇要提交的apk,然後完善信息。選擇高級設置,上傳key的相關信息,如下圖所示:

    5.選中自己提交的apk,點擊下一步,在新打開的頁面勾選郵件通知,點擊下一步。如下圖所示:

    6.在新頁面點擊查看任務,如下圖所示:

    7.加固完成後,會收到郵件通知,收到通知後,刷新一下頁面,點擊下載加固包。

2.使用AndroidKiller驗證加固

    使用AndroidKiller反編譯加固後的apk,可以看到,包名和類名都已經不是有明顯意義的名字。搜索MainActivity也只有在Manifest文件中可以查詢到:

    

3.比較加固前後apk

1.比較加固前後apk體積:

加固前1.25M,加固後3.24M,體積增加到將近原來的三倍。如圖所示:

2.確認加固後apk是否可以安裝和使用:

    雖然前面我們提交了簽名文件,但是下載後的apk是沒有簽名的,因此安裝失敗,需要我們手動簽名。在這裏我使用的梆梆加固的梆梆簽名員簽名的,簽名後可以安裝和使用:

    總結一下,Testin雲加固可以實現app加固,只支持網站加固,沒有自助工具,而且加固後需要自己手動簽名。最重要的一點是,加固後體積增加太多,這可能與加固的技術有關。

四.360加固保

        最後,介紹下360加固保的使用。360加固保也是目前市面上使用比較多的加固工具之一。接下來,抱着學習和體驗的態度,看一下360加固保的使用。

1.360加固保的使用

    1.360加固保的官方地址:http://jiagu.360.cn/。註冊並且登錄後,點擊免費使用:

2.進入如下頁面,360加固保也是支持網站加固的,回想前面幾個加固工具的使用,網站加固一般比較繁瑣,因此我們直接下載工具加固:

3.打開並登錄360加固保,首次需要註冊個人信息:

 

4.填寫保存後,進入主界面,點擊添加應用後:

5.點擊馬上配置,配置簽名文件,配置完後點擊添加,然後開始加固:

6.加固完成後,如下圖所示,點擊確定,至此,加固完成:

2.使用AndroidKiller驗證加固

    使用AndroidKiller反編譯一下,看看效果如何。如下圖所示,反編譯後發現包名和類名均已經改變,而且搜索不到MainActivity的相關信息。

3.apk加固前後對比

1.apk體積對比:

加固前還是1.25M,加固後2.04M,增加0.79M,如下圖所示:

2.apk加固後是否可以安裝和使用,經驗證,可以:

    360加固保使用時需要註冊個人信息,配置好籤名文件後加固完成自動簽名,使用起來也是比較方便的。加固後apk體積略微有所增加,可以安裝和運行。最後,說一下,本篇博客只是基於原來Android逆向博客中所使用的Demo來測試,並不能保證所有的apk都可以順利的加固。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章