假設你以上兩個過程都做了加固,但是在安裝apk的時候,本地檔案path被錯誤修改了,仍然可以安裝錯誤的apk,這不僅
會對使用者體驗產生不利,甚至會威脅手機安全。
安裝過程也必須對apk檔案進行包名和簽名驗證,防止apk被惡意植入木馬,或替換。
public class upgrademodel
public void setcode(int code)
public string getmsg()
public void setmsg(string msg)
public databean getdata()
public void setdata(databean data)
public static class databean
public void setdescription(string description)
public string getdownurl()
public void setdownurl(string downurl)
public string getversion()
public void setversion(string version)
public string gethashcod()
public void sethashcod(string hashcod)
public string getkey()
public void setkey(string key)
public string getisforce()
public void setisforce(string isforce)
}
upgrademodel aresult = ***x//解析伺服器返回的後資料
if (aresult != null && aresult.getdata() != null )
file file = downutils.getfile(url);
if (file.exists() && textutils.equals(aresult.getdata().gethashcode(), encryptutils.md5file(file)))
/** installapk
* @param context
* @param path
* @param name
*/public static void installapk(context context, final string path, final string name )
if (!safetyutils.checkpagakgename(context, path + name))
switch (safetyutils.checkpagakgesign(context, path + name))
}
/**
* 安全校驗
* created by liuyongkui on 2016-04-21.
*/public class safetyutils else if (need_verify_cert && !isdebugable) catch (packagemanager.namenotfoundexception e)
if (!packageverifyer.issignaturessame(mainsignatures, pluginsignatures))
}return success;
}/**
* checkpagakgename
* @param context
* @param srcnewfile
* @return
*/public static boolean checkpagakgename (context context, string srcnewfile)
return false;
}/**
* checkfile
* * @param apath
* 檔案路徑
* @param context
* context
*/public static boolean checkfile(string apath, context context)
if (context == null)
return true;
}}
App 資料安全測試
一 簡介 在 android 中選擇 sqlite 的原因是其記憶體占用較低不需要設定或配置資料庫,並且可以在應用程式中直接呼叫。二 獲取 sqlite 檔案 sqlite 資料庫預設在 android 中儲存在 data data package name databases 位置,拓展名為 db...
App測試總結
使用者介面,包括選單 對話方塊 輸入框的布局,是否與設計圖一致,在不同尺寸螢幕上的顯示 2 易用性,是否友好,是否符合使用者習慣 1 評審需求,根據需求文件繪製腦圖,多方面考慮,分析模組之間的聯絡,提取測試點 2 根據邊界值分析法 等價類 因果圖等方法,設計測試用例 3 跟蹤缺陷,及時更新用例,記錄...
app測試總結
1 安全測試 許可權 1 軟體許可權 其中包括傳送資訊,撥打 鏈結網路,訪問手機資訊,聯絡人資訊等等 2 資料在本地的儲存 傳輸等 3 執行某些操作時導致的輸入有效性驗證 授權 資料加密等方面 4 基於各種通訊協議或者行業標準來檢查 2 安裝執行解除安裝測試 2 安裝執行解除安裝的提示,報告等 3 ...