❶ 怎麼加固安卓軟體
加固安卓軟體一般要達到以下效果:
1、防逆向:通過DEX 文件加殼以及DEX 虛擬化等技術,防止代碼被反編譯和逆向分析。
2、防篡改:通過校驗 APK 開發者簽名,防止被二次打包,植入廣告或惡意代碼。
3、防調試:防止應用被 IDA、JEB 等工具調試,動態分析代碼邏輯。
VirboxProtector安卓加固的核心技術一般有:
DEX 文件加密隱藏
對 DEX 文件加殼保護,防止代碼被竊取和反編譯。
SO 區段壓縮加密
對 SO 庫中的代碼段和數據段壓縮並加密,防止被 IDA 等工具反編譯。
單步斷點檢測
在混淆的指令中插入軟斷點檢測暗樁,防止native層run trace和單步調試。
防動態調試
防止應用被 IDA、JEB 等工具調試,動態分析代碼邏輯。
開發者簽名校驗
對 APK 中的開發者簽名做啟動時校驗,防止被第三方破解和二次打包。
SO 內存完整性校驗
在 SO 庫載入時校驗內存完整性,防止第三方對 SO 庫打補丁。
SO 代碼混淆
對 SO 庫中指定的函數混淆,通過指令切片、控制流扁平化、立即加密等技術手段,將 native 指令轉換為難以理解的復雜指令,無法被 IDA 反編譯,並且無法被還原。
SO 代碼虛擬化
對 SO 庫中指定的函數虛擬化,可以將 x86、x64、arm32、arm64 架構的機器指令轉換為隨機自定義的虛擬機指令,安全強度極高,可通過工具自定義配置,調整性能與安全性。
DEX 虛擬機保護
對 DEX 中的 dalvik 位元組碼進行虛擬化,轉換為自定義的虛擬機指令,最後由 native 層虛擬機解釋執行,防止逆向分析。
❷ android發布應用必須apk加固嗎
看應用市場的要求,有些是要求必須做加固,比如360。
❸ 安卓APP在應用市場加固之後怎麼重新簽名
可以使用jarsigner對未簽名的加固包進行簽名。
建議使用之前對APP簽名時使用的keystore對加固包進行簽名
jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore [your_key_store_path] -signedjar
[signed_apk_name] [usigned_apk_name] [your_key_store_alias]
your_key_store_path:密鑰所在位置的絕對路徑
signed_apk_name:簽名後安裝包名稱
usigned_apk_name:未簽名的安裝包名稱
your_key_store_alias:密鑰的別名 就是你自己創建的 .keystore文件
❹ Android開發App如何進行加固
1.避
免技巧:使用內部API。即便我們總是建議不要這么做,但還是有一些開發者選擇使用那些不支持或者內部的API。例如,許多開發者使用內部的亮度控制和藍
牙切換API,這些API出現在1.0和1.1版本上。一個Bug——在Android
1.5上進行了修正——允許App在不需要請求許可權的情況下使用這些API。結果,使用了這些API的App在1.5上掛掉了。如果你在App中使用了這
些內部API,你需要做的是:停止這一做法,更新你的程序。
2.避
免技巧:直接操作Settings。嚴格來講,這一條不算,因為我們可以通過Android本身進行操作。但之所以我們加上了這一條,是因為一些開發者做
了一些調皮的事情:一些App悄無聲息地修改了系統設定,而沒有通知用戶。例如,一些App沒有詢問用戶就直接打開了GPS,而另外一些則可能直接打開了
數據傳輸。
因此,應用程序不能直接操作某個特定的系統設定值,即便是它們之前能這么做。例如,App不能直接打開或關閉GPS。不是說使
用會導致App崩潰,而是不應該使用這些API。代替的,App需要發出一個Intent來啟動相應的Settings配置畫面,這樣用戶可以手動地修改
這些設定。詳細情況可以參考android.provider.Settings.Secure類,你可以在1.5_pre(和之後的)SDK文檔中找
到。注意,只有那些移動到Settings.Secure類中設定受到影響。其它的,還會像Android 1.1那樣有著相同的功能。
3.避
免技巧:過分布局。由於View渲染部分的變化,在布局中,過於深(超過10層左右)或過於多(超過30個左右)的View樹層次可能會導致程序崩潰。過
於復雜的布局總歸是有危險的,盡管你可以認為Android
1.5已經好於1.1。大多數開發者不需要對此擔心,但如果你的App有著非常復雜的布局,你還是應該對其「瘦身」。你可以使用一些高級的布局類,如
FrameLayout和TableLayout,來簡化你的布局。
4.避
免技巧:不好的硬體假設。Android
1.5支持軟鍵盤,因此,不久就會有很多設備不再包含物理鍵盤。如果你的程序假設物理鍵盤存在(例如,如果你創建一個自定義的View,並接收鍵按下消
息),你必須保證在只有軟鍵盤的設備上也工作正常。想了解更多關於這方面的信息,請繼續關注這個Blog,我們將會有更多關於處理軟鍵盤的詳細資料。
5.避
免技巧:無意識的旋轉。運行Android
1.5(及以上)的設備能夠根據用戶手持設備的方向自動地旋轉屏幕。一些1.5的設備默認這么做,而其它的需要用戶手動設置。應用程序自己的重定向在某種
程度上會導致不可預期的行為(不論是使用加速度計還是其它一些東西)。這種情況通常發生在應用程序假設有物理鍵盤時才能旋轉;如果設備沒有物理鍵盤,這些
App就不能進行重定向,而這明顯就是個編碼錯誤。開發者應該明確應用程序能在任何時間都能處理重定向。
同樣,App可以使用加速度計做到與系統
相同的事情——直接重定向自己,這也會引發奇怪的結果。一些App使用加速度計來監測像晃動動作什麼的,而又不將其方向鎖定為垂直或水平,經常會導致在方
向上來回翻動。而這就會激怒用戶。(你可以在manifest文件中使用android:screenOrientation特性來鎖定App的方向為垂
直或水平。)
❺ 如何使用360加固保加固android應用app
1首先採用Android Studio或Eclipse生成 apk文件。
2登錄360加固保 地址:http://jiagu.360.cn/。如果已有帳號,請直接登陸;
3如果沒有,請先注冊。
4如圖所示,點擊「應用加固」。
5進入加固頁面,本文以「web頁面加固為例」
6點擊「簽名下載工具」下載簽名工具。(稍候說明)
7點擊「應用加固」選擇要加固的apk文件
選擇要加固服務,可以添加應用統計分析,
下載完成功,需要重新簽名。在步驟5中下載簽名工具。解壓縮。具體操作界面如下:
8點擊「一鍵簽名」等待。所生成的apk即可在各個應用市場發布啦
❻ 怎麼加固安卓軟體自己製作的
今天又到周末了,憋了好久又要出博客了,今天來介紹一下Android中的如何對Apk進行加固的原理。現階段。我們知道Android中的反編譯工作越來越讓人操作熟練,我們辛苦的開發出一個apk,結果被人反編譯了,那心情真心不舒服。雖然我們混淆,做到native層,但是這都是治標不治本。反編譯的技術在更新,那麼保護Apk的技術就不能停止。現在網上有很多Apk加固的第三方平台,最有名的應當屬於:愛加密和梆梆加固了。其實加固有些人認為很高深的技術,其實不然,說的簡單點就是對源Apk進行加密,然後在套上一層殼即可,當然這里還有一些細節需要處理,這就是本文需要介紹的內容了。
❼ 什麼是android apk加固
加固的過程中需要三個對象:1、需要加密的Apk(源Apk)2、殼程序Apk(負責解密Apk工作)3、加密工具(將源Apk進行加密和殼Dex合並成新的Dex)主要步驟:我們拿到需要加密的Apk和自己的殼程序Apk,然後用加密演算法對源Apk進行加密在將殼Apk進行合並得到新的Dex文件,最後替換殼程序中的dex文件即可,得到新的Apk,那麼這個新的Apk我們也叫作脫殼程序Apk.他已經不是一個完整意義上的Apk程序了,他的主要工作是:負責解密源Apk.然後載入Apk,讓其正常運行起來。
❽ APK加固原理是什麼如何進行android apk加固
APK加固是對APK代碼邏輯的一種保護,原理是將APK文件進行某種形式的轉換,包括不限於隱藏、混淆、加等操作,進一步保護軟體的利益不受損壞。
常見APK應用加固主要有DEX文件、SDK文件、SO文件加固這三類。DEX加固技術包括混淆代碼、整體DEX加固、拆分DEX加固、虛擬機加固、java2C加固,當前性能最強的加固方案是Java2c,將java指令轉成c/c++指令,並做虛假控制流、字元串加密等處理,逆向難度最高。SO庫文件一般存放著核心演算法、重要協議等重要信息。SO加固大概可以分為有源保護和無源保護,有源保護分為自解密、混淆、源碼VMP等,無源保護分為加殼、VMP保護。
APK加固後,可以降低被逆向破解風險,目前有些雲安全平台提供系統的APP加固服務,如網易易盾、360加固、阿里雲等,想要系統提升APK安全等級可以了解下。