測試環境: iphone4 ios4.3.2
之前對於springboard這塊的hook一直不是很熟悉,雙擊home鍵所產生的事件一直也無法跟蹤到,所以控制不了。
hook springboard之後,確實可以做很多事情,但是截獲雙擊home鍵盤的事件也不在話下。
關於標頭檔案等的匯入, 以及hook環境的搭建這裡不在描述,只描述最基本的**實現。
下面我們將去除雙擊home鍵調出多工作列的功能,將其更改為雙擊home鍵restart springboard的功能,**如下:
通過檢視springboard class-dump出來的標頭檔案,可以發現在springboard.h中有
handlemenudoubletap函式,其很可疑,猜測其與雙擊home鍵有關。1. 首先在初始化函式中註冊hook:
mshookmessageex(objc_getclass("springboard"), @selector(handlemenudoubletap), (imp)replaced_springboard_handlemenudoubletap, (imp *)&original_springboard_handlemenudoubletap);
2. 在messagehook.h(函式定義等)中包含下列**:
extern "c"
3. 在messagehook.m (函式實現)中包含下列**:
imp original_springboard_handlemenudoubletap;// 雙擊home鍵
extern "c" void replaced_springboard_handlemenudoubletap(springboard *self, sel cmd)
以上**即可截獲雙擊home的事件,並將其更改為重啟springboard,雖然這樣做的實用性不大,但是可以利用hook springboard這種方式做很多其他好玩的事情。
by yytong 2011-11-25 22:09
iPhone 4奇貨可居真相透視
iphone 4奇貨可居真相透視 如果你加價買了一件電子產品,比如膝上型電腦 電視 冰箱,一定會被身邊的朋友恥笑說你有毛病,但是買iphone 4除外。因為現在就算是加價你也不一定能買得到,甚至要找朋友 託關係才能拿到貨,正可謂是一機難求。iphone 4為什麼會出現嚴重缺貨的情況呢?ips液晶面板...
iPhone 4奇貨可居真相透視
iphone 4奇貨可居真相透視 如果你加價買了一件電子產品,比如膝上型電腦 電視 冰箱,一定會被身邊的朋友恥笑說你有毛病,但是買iphone 4除外。因為現在就算是加價你也不一定能買得到,甚至要找朋友 託關係才能拿到貨,正可謂是一機難求。iphone 4為什麼會出現嚴重缺貨的情況呢?ips液晶面板...
iPhone4越獄工具週日發布
iphone 4在美國市場上市1個月之後,雖然全球銷量超過200萬台,但是在不缺少擁躉的國內市場,銷量非常有限,很大的原因就是因為網路鎖定和不能被越獄,使得iphone 4水貨渠道銷售受阻。越獄成功將大大促進水貨產品的銷量。7月26日的最新訊息顯示,美國千禧年版權法案已經解除了對iphone裝置越獄...