⑴ 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的方向為垂
直或水平。)
⑵ 求apk加密工具,保護apk不被破解 特別是DEX文件保護,求幫推薦。
這類的加密工具防護作用都不是很大。如果要特別保護dex的話,我推薦 愛加密 第三方加密平台。免費通用版包括
對DEX源文件進行加殼保護,隱藏源代碼。對資源文件,主配置文件進行指紋校驗保護,防止修改後二次打包。能滿足你的要求。
⑶ 什麼是android apk加固
加固的過程中需要三個對象:1、需要加密的Apk(源Apk)2、殼程序Apk(負責解密Apk工作)3、加密工具(將源Apk進行加密和殼Dex合並成新的Dex)主要步驟:我們拿到需要加密的Apk和自己的殼程序Apk,然後用加密演算法對源Apk進行加密在將殼Apk進行合並得到新的Dex文件,最後替換殼程序中的dex文件即可,得到新的Apk,那麼這個新的Apk我們也叫作脫殼程序Apk.他已經不是一個完整意義上的Apk程序了,他的主要工作是:負責解密源Apk.然後載入Apk,讓其正常運行起來。
⑷ app加固如何實現app加固原理是什麼,加固的話能做到防破解嗎
「Android APP二次打包」則是盜版正規Android APP,破解後植入惡意代碼重新打包。不管從性能、用戶體驗、外觀它都跟正規APP一模一樣但是背後它確悄悄運行著可怕的程序,它會在不知不覺中浪費手機電量、流量,惡意扣費、偷窺隱私等等行為。http://www.ijiami.cn/newsInfo?id=341
愛加密的加密保護是全方位的,目前提供的服務有:DEX加殼保護、DEX指令動態載入保護、高級混淆保護,SO庫保護,主配置文件保護,資源文件保護,二次打包防護。愛加密的基礎保護就包含對資源文件的加固保護,通過混淆代碼的方式,可以阻止打包黨讀取資源文件的信息。此外,一個APK的唯一正版識別是通過包名+簽名共同的方式來判斷。
⑸ apk加固,apk加固怎麼可以防止反編譯,保護apk源代碼安全
apk源代碼可以加固的的,源代碼是加殼之後把重要的那部分代碼隱藏起來不被看到,在一定基礎上可以達到保護源代碼的目的。
⑹ Android APP加密方法都有哪些
1 偽加密是Android4.2.x系統發布前的Android加密方式之一,通過java代碼對APK(壓縮文件)進行偽加密,其修改原理是修改連續4位位元組標記為」P K 01 02」的後第5位位元組,奇數表示不加密偶數表示加密。
2 混淆保護
把原來有具體含義的類名,變數名,方法名,修改成讓人看不懂的名字,例如方法名getUserName編程了方法名。
混淆保護只是增加了代碼閱讀難度,對於破解基本上是沒有實質性作用的
運行時驗證,主要是指在代碼啟動的時候本地獲取簽名信息然後對簽名信息進行檢驗來判斷自己的應用是否是正版,如果簽名信息不是正版則提示盜版或者直接崩潰。當然你可以把必要的數據放在伺服器端。Android APP加密方法都有哪些?破解:找到smali文件中,判斷是否相等的部分。改為常量true,即失效。
總之,反編譯一些apk之後,只要是java代碼寫的總會有smil文件。對於smil文件,如果耐心讀的話,還是可以查看到一些關鍵代碼的。
相較於應用來說,游戲apk因為採用cocos2d-x或者 unity3D,採用的是c++和c# 編寫的跨平台程序,在apk採用JNI的方式。所以沒有smali,可以防止靜態被破解apk包。
當然游戲包apk在運行的時候,會把.*so載入到內存中。動態也是可以在內存中抓取相應的數據。只不過NDK相對於smali破解來說,根部不是一個層級的關系。
3 使用第三方Android加密平台
⑺ APP加密對DEX,SO文件是如何保護的
您好,NAGA娜迦信息科技(NAGAIN)加固平台的服務挺不錯的。可以對APP文件/APK應用進行dex加殼、 亂序保護、so加殼、虛擬機指令保護等多重保護,有效的對存儲數據進行加密保護、保護APP安全,是APP安全加固的首選。
⑻ 安卓加密要怎麼做特別是針對二次打包與dex文件保護的加密。
防止Android
apk被反編譯的方法:
判斷apk簽名是否與原版簽名是否一致;
代碼混淆,將混淆的級別設置高點,混淆出來以後代碼全部變亂;
使用NDK編程,將核心演算法用c/c++來編寫,打包成so庫供java層調用
。
⑼ 怎麼加固安卓軟體
加固安卓軟體一般要達到以下效果:
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 層虛擬機解釋執行,防止逆向分析。
⑽ 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安全等級可以了解下。