Linux 筆記本基于“敲打”的命令
有史以來(lái)第一次您可以敲打一下計(jì)算機(jī)并得到有意義的響應(yīng)!使用 Linux® 和 Hard Drive Active Protection System(硬盤活動(dòng)保護(hù)系統(tǒng)HDAPS)內(nèi)核驅(qū)動(dòng)程序我們可以訪問(wèn) Lenovo(以前稱為 IBM®)ThinkPads 上的嵌入式加速器然后處理加速器的數(shù)據(jù)來(lái)讀取特定 敲打 事件序列(也就是您使用關(guān)節(jié)敲打筆記本的事件序列)并基于這些敲打事件運(yùn)行一些命令雙擊鎖定屏幕然后敲入密碼來(lái)解鎖敲打顯示屏一次就可以讓 MP 播放器前進(jìn)一個(gè)音軌這類可能事物是無(wú)窮無(wú)盡的
本文引用地址:http://cafeforensic.com/article/201609/303753.htm年IBM 開(kāi)始發(fā)行集成了加速器和相關(guān)軟件的 ThinkPad 筆記本以便在筆記本掉到地上時(shí)對(duì)硬盤進(jìn)行保護(hù)來(lái)自 IBM 和其他地方的黑客已經(jīng)為 Linux 內(nèi)核開(kāi)發(fā)了一些模塊來(lái)利用這些傳感器的優(yōu)點(diǎn)屏幕顯示方向桌面切換甚至是游戲控制和實(shí)時(shí)的筆記本傾斜度 D 模塊現(xiàn)在都已經(jīng)可以使用了本文將展示 敲打代碼 這種新技術(shù)和一個(gè)簡(jiǎn)單程序該程序在檢測(cè)到特定的敲打代碼時(shí)會(huì)運(yùn)行一些命令
使用帶有 HDAPS 驅(qū)動(dòng)的已更新的內(nèi)核我們就可以用一個(gè)簡(jiǎn)單程序 knockAge 來(lái)生成敲打代碼了我們也可以下載并使用一個(gè) Perl 腳本來(lái)定制自己的敲打輸入環(huán)境請(qǐng)參閱本文最后的 下載 和 參考資料 部分給出的鏈接其中包括了解 knockAge 操作的鏈接
硬件需求
容易實(shí)現(xiàn)
正如您從展示視頻(請(qǐng)參見(jiàn)下面 參考資料 中的鏈接)可以看到的敲打操作是由一系列指節(jié)敲打構(gòu)成的盡管 ThinkPad 的加速器是為保護(hù)它不受意外事件的影響但太強(qiáng)力的振蕩仍然會(huì)對(duì)硬盤造成損壞因此我們必須小心
很多在 年以及這以后生產(chǎn)的 IBM(現(xiàn)在是 Lenovo)的 ThinkPads 中都有 HDAPS 硬件如果您不確定自己的硬件配置可以檢查 Lenovo 的 Web 站點(diǎn)上關(guān)于您自己型號(hào)的機(jī)器的技術(shù)細(xì)節(jié)如果您的機(jī)器上沒(méi)有 ThinkPad那么這段代碼可能無(wú)法在您的筆記本上正常工作
本文是在 x 體系架構(gòu)上編寫的本文中的代碼是在 ThinkPad Tp 的兩個(gè)不同模塊上進(jìn)行開(kāi)發(fā)和測(cè)試的有關(guān) ThinkPad 硬件的鏈接請(qǐng)參閱 參考資料 部分
如果您有一臺(tái) Apple MacBook那么您可能也有這種加速器并且可以使用相同的方法通過(guò)內(nèi)核訪問(wèn)它們?nèi)欢疚闹械拇a并沒(méi)有在 Apple 硬件上進(jìn)行測(cè)試
軟件要求
HDAPS 驅(qū)動(dòng)程序必須包括在內(nèi)核中才能啟用對(duì)加速器的訪問(wèn)試圖對(duì)現(xiàn)有內(nèi)核增加補(bǔ)丁也不會(huì)獲得成功因此我們建議從自己喜歡的鏡像站點(diǎn)上下載最新的內(nèi)核新內(nèi)核發(fā)行版中已經(jīng)包含了對(duì) HDAPS 驅(qū)動(dòng)程序的支持
啟動(dòng)內(nèi)核配置選擇程序并在配置中包含 HDAPS 驅(qū)動(dòng)程序HDAPS 驅(qū)動(dòng)程序位于Device Drivers > Hardware Monitoring Support > IBM Hard Drive Active Protection System (hdaps) 選項(xiàng)中更多的內(nèi)核配置和安裝過(guò)程已經(jīng)超出了本文的范圍但是在 Web 站點(diǎn)上有很多教程可以提供具體的幫助有關(guān)可以幫助我們?nèi)腴T的鏈接請(qǐng)參閱 參考資料 一節(jié)的內(nèi)容
本文是在 版本的內(nèi)核上進(jìn)行開(kāi)發(fā)和測(cè)試的
創(chuàng)建簡(jiǎn)單的敲打序列
從 下載 一節(jié)的鏈接中下載源代碼并從中找到 knockAgepl 腳本這就是讓我們可以創(chuàng)建敲打序列的主要 Perl 程序它還允許監(jiān)聽(tīng)特殊的敲打序列并運(yùn)行命令下面讓我們來(lái)介紹一下這個(gè)用戶空間程序的用法以及 knockAgepl 程序的配置然后再對(duì)這個(gè)函數(shù)進(jìn)行回顧
使用下面的命令運(yùn)行 knockAgepl 程序
perl knockAgepl c
這會(huì)啟動(dòng) Perl 程序來(lái)監(jiān)聽(tīng)敲打事件并記錄下它們之間的間距以供將來(lái)使用一旦程序開(kāi)始運(yùn)行之后對(duì)筆記本進(jìn)行的敲打操作就會(huì)產(chǎn)生效果我們并不需要在物理上移動(dòng)自己的 ThinkPad 來(lái)注冊(cè)敲打事件如果 ThinkPad 在一個(gè)平面上只要對(duì)其進(jìn)行一些移動(dòng)和滑行即可我建議您用左右握住 ThinkPad 左邊接近連接軸的地方同時(shí)用右手在距離 LCD 底部 英寸的地方敲打顯示屏即可請(qǐng)參閱 下載 部分給出的視頻展示或參閱 參考資料 中用來(lái)創(chuàng)建敲打序列的例子
體驗(yàn)不同的敲打幅度和力度從而了解 knockAge 程序能夠捕獲的事件判斷率對(duì)于創(chuàng)建復(fù)雜的敲打事件來(lái)說(shuō)這非常重要
第一次真正嘗試敲打應(yīng)該非常簡(jiǎn)單兩次雙擊之間停留 秒然后再次運(yùn)行 perl knockAgepl c在看到 enter a knock sequence 時(shí)穩(wěn)定地敲打 LCD 邊上兩次中間停留 秒在 秒之后會(huì)自動(dòng)超時(shí)(這是可以配置的)您所敲打的序列會(huì)被打印出來(lái)這類似于下面的例子
_#_ (command here) _#_
讓我們來(lái)分析一下這一行的內(nèi)容敲打序列分隔符命令區(qū)分隔符最后是注釋區(qū)我們的下一個(gè)步驟是將這行內(nèi)容復(fù)制到 knockAgepl 程序使用的默認(rèn)配置文件 {$HOME}/knockFile 中該配置文件也可能是 /home//knockFile 文件在使用上面的敲打序列行創(chuàng)建好 knockFile 文件之后就可以對(duì)這行進(jìn)行修改來(lái)運(yùn)行程序了將 (command here) 文本修改成 /bin/echo double tap并將注釋區(qū)的內(nèi)容修改成更有意義的內(nèi)容例如
_#_ /bin/echo double tap _#_ Double tap event
現(xiàn)在我們已經(jīng)修改好這個(gè)配置文件可以打印一條通知了接下來(lái)使用下面的命令在守護(hù)模式下運(yùn)行 knockAge 腳本
perl knockAgepl
這個(gè)程序會(huì)在后臺(tái)安靜地監(jiān)聽(tīng) ~/knockFile 所羅列的事件請(qǐng)使用相同的間隔再次雙擊屏幕您會(huì)看到在屏幕上打印出了 double tap 消息如果我們希望更詳細(xì)地了解 knockAgepl 腳本是如何工作的那么我們可以使用下面的命令在守護(hù)模式下運(yùn)行它
perl knockAgepl v
使用 xscreensaver 鎖定屏幕或打開(kāi)屏幕
創(chuàng)建 password 序列
使用下面的命令在 create 模式下運(yùn)行 knockAgepl 程序
perl knockAgepl c
現(xiàn)在我們需要?jiǎng)?chuàng)建一個(gè)解鎖的密碼序列我建議使用 刮臉和理發(fā)的動(dòng)作請(qǐng)確保每次您都可以以一貫精確的方式執(zhí)行這個(gè)動(dòng)作盡管您可以通過(guò)修改參數(shù)來(lái)控制輸入密碼敲打操作所需要的精度但是這仍然很難匹配精確的時(shí)間刮臉和理發(fā)動(dòng)作 除了可以提供穩(wěn)定的擊打順序之外其復(fù)雜性和簡(jiǎn)單性對(duì)于屏保解鎖密碼來(lái)說(shuō)也非常適合下面是一個(gè)刮臉和理發(fā)動(dòng)作 的擊打序列示例
_#_ /bin/echo shave the haircut _#_ two bits
在進(jìn)行下一步操作之前您應(yīng)該體驗(yàn)一下上面的命令和 ~/knockFile 配置文件中的雙擊命令這可以在屏保運(yùn)行時(shí)提供很好的幫助它更難檢測(cè)出敲打是否正確
評(píng)論