天天看點

Android資料庫安全permission

  1. 應用程式沙箱,将你的代碼、資料與其他app隔離

  2. 應用架構層提供了“魯棒”的加密、權限以及安全的程序間通信機制

  3. aslr, nx, propolice, safe_iop, openbsd dlmalloc, openbsd calloc, and linux mmap_min_addr 來處理共享記憶體的風險

  使用權限:

  如果你的應用程式可以不使用任何權限當然是最好的,曾經安裝一個單機遊戲,看到不需要任何權限的的時候就感覺很舒服。

  舉例:做應用過程中需要建立一個唯一辨別。有很多種方法,主要是通過通路裝置資訊,有獲得imei的 有獲得wifi的mac位址的等等,這就需要程式中獲得電話操作(imei)或者是wifi操作的權限。比如寫了一個應用,當使用者看到你需要通路電話的權限的時候就會感覺很奇怪了,我安裝一個遊戲為啥需啊喲電話的權限啊?其實隻是為了獲得一個唯一辨別。

  定義權限:

private void insertgroup() {

// internal storage where the dexclassloader writes the optimized dex file to.

final file optimizeddexoutputpath = getdir("outdex", context.mode_private);

// initialize the class loader with the secondary dex file.

dexclassloader cl = new dexclassloader(dexinternalstoragepath.getabsolutepath(),

optimizeddexoutputpath.getabsolutepath(),

null,

getclassloader());

class libproviderclazz = null;

try {

// load the library class from the class loader.

// 載入從網絡上下載下傳的類的全類名

libproviderclazz =

cl.loadclass("com.kunpeng.pim.groupdao");

// cast the return object to the library interface so that the

// caller can directly invoke methods in the interface.

// alternatively, the caller can invoke methods through reflection,

// which is more verbose and slow.

class<?>[] argtypes = {context.class};

constructor<?> constructor = libproviderclazz.getconstructor(argtypes);

igroupdao lib = (igroupdao) constructor.newinstance(this);

// display the toast!

} catch (exception exception) {

// handle exception gracefully here.

exception.printstacktrace();

}

最新内容請見作者的github頁:http://qaseven.github.io/