在fs/proc/cmdline.c 中註冊乙個proc的介面,原始碼如下,
static int cmdline_proc_show(struct seq_file *m, void *v)
static int cmdline_proc_open(struct inode *inode, struct file *file)
static const struct file_operations cmdline_proc_fops = ;
static int __init proc_cmdline_init(void)
fs_initcall(proc_cmdline_init);
通過這個介面可以通過cat /proc/cmdline 來列印傳遞給kernel的命令列引數
kernel 有提供乙個live patch 來替換這個cmdline,這樣你就可以列印任何東西
static int livepatch_cmdline_proc_show(struct seq_file *m, void *v)
static struct klp_func funcs = ,
};static struct klp_object objs = ,
};static struct klp_patch patch = ;
static int livepatch_init(void)
return 0;
}static void livepatch_exit(void)
module_init(livepatch_init);
首先insmod 這個ko
insmod livepatch-sample.ko
然後使能live patch
echo 0 > /sys/kernel/livepatch/livepatch_sample/enabled
再通過cat /proc/cmdline就可以看到自己定義的字串
cat /proc/cmdline
live patch的原理比較簡單,本例子就是在kernel中找到cmdline_proc_show後,然後用新的函式livepatch_cmdline_proc_show來替換cmdline_proc_show,這樣你通過cat /proc/cmdline 的時候就不是呼叫預設的cmdline_proc_show而是呼叫livepatch_cmdline_proc_show。使用live patch有個限制條件的即使要找的symbol必須在system.map中有定義。
system.map:10604:ffff0000082cd294 t cmdline_proc_show
Monkey測試例項
monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入 手勢輸入等 實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性 健壯性的快速有效的方法。1,環境檢查 先檢查電腦adb有沒有,在執...
Monkey例項測試
windows下 注 2 4步是為了檢視我們可以測試哪些應用程式包,可省略 1 通過eclipse啟動乙個android的emulator或者2 2 在命令列中輸入 adb devices檢視裝置連線情況 cmd開啟輸入adb devices檢視裝置 3 在有裝置連線的前提下,在命令列中輸入 adb...
Monkey例項測試
windows下 注 2 4步是為了檢視我們可以測試哪些應用程式包,可省略 1 通過eclipse啟動乙個android的emulator或者2 2 在命令列中輸入 adb devices檢視裝置連線情況 cmd開啟輸入adb devices檢視裝置 3 在有裝置連線的前提下,在命令列中輸入 adb...