楚狂人文件過濾
❶ 成為一名初級黑客先應該掌握什麼知識
推薦兩本:灰狐驅動學習筆記系列和楚狂人的Windows文件系統過濾驅動開發教程。(尚未出版)不是c的教程
❷ 「我本楚狂人,鳳歌笑孔丘」啥意思
我本是像那個接輿楚狂人,高聲唱著鳳歌去嘲笑孔丘。
這句詩是出自於唐代李白《廬山謠寄盧侍御虛舟》。
原文:
我本楚狂人,鳳歌笑孔丘。
手持綠玉杖,朝別黃鶴樓。
五嶽尋仙不辭遠,一生好入名山游。
廬山秀出南斗傍,屏風九疊雲錦張。
影落明湖青黛光,金闕前開二峰長,銀河倒掛三石樑。
香爐瀑布遙相望,回崖沓嶂凌蒼蒼。
翠影紅霞映朝日,鳥飛不到吳天長。
登高壯觀天地間,大江茫茫去不還。
黃雲萬里動風色,白波九道流雪山。
好為廬山謠,興因廬山發。
閑窺石鏡清我心,謝公行處蒼苔沒。
早服還丹無世情,琴心三疊道初成。
遙見仙人彩雲里,手把芙蓉朝玉京。
先期汗漫九垓上,願接盧敖游太清。
譯文:
我本是像那個接輿楚狂人,高聲唱著鳳歌去嘲笑孔丘。手裡拿一根鑲綠玉的棍杖,大清早辭別著名的黃鶴樓。攀登五嶽尋仙道不畏路遠,這一生就喜歡踏上名山游。
秀美的廬山挺拔在南斗旁,九疊雲屏像錦綉雲霞鋪張,湖光山影相互映照泛青光。金闕岩前雙峰矗立入雲端,三疊泉如銀河倒掛三石樑。香爐峰瀑布與它遙遙相望,重崖疊嶂聳雲霄莽莽蒼蒼。
翠雲紅霞與朝陽相互輝映,鳥兒也飛不過吳天廣又長。登高遠望天地間壯觀景象,大江悠悠東流去永不回還。天上萬里黃雲變動著風色,江流波濤九道如雪山奔淌,我喜歡為雄偉的廬山歌唱,這興致因廬山風光而滋長。閑時觀看石鏡使心神清凈,謝靈運足跡早被青苔掩藏。
我要早服仙丹去掉塵世情,修煉三丹和積學道已初成。遠遠望見仙人正在彩雲里,手裡捧著芙蓉花朝拜玉京。早已約好神仙在九天會面,希望迎接你一同邀游太清。
(2)楚狂人文件過濾擴展閱讀
《廬山謠寄盧侍御虛舟》是唐代偉大詩人李白晚年的作品。此詩先寫作者之行蹤,次寫廬山之景色,末寫隱退幽居之願想;
不僅濃墨重彩地描繪了廬山秀麗雄奇的景色,更主要的是表現了詩人狂放不羈的性格以及政治理想破滅後想要寄情山水的心境,流露了詩人一方面想擺脫世俗的羈絆,進入飄渺虛幻的仙境,一方面又留戀現實,熱愛人間的美好風物的矛盾復雜的內心世界。
全詩風格豪放飄逸,境界雄奇瑰瑋,筆勢錯綜變化,詩韻亦隨著詩人情感的變化幾次轉換,跌宕多姿,極盡抑揚頓挫之美,富於浪漫主義色彩。
李白在這詩里反用其意,以怪仙自比,盧敖借指盧虛舟,邀盧共作神仙之游。兩句意謂:我李白已預先和不可知之神在九天之外約會,並願接待盧敖共遊仙境。詩人浮想聯翩,彷彿隨仙人飄飄然凌空而去。全詩戛然而止,余韻悠然。
❸ 哪本網路小說有楚狂人
楚狂人? 楚度,《知北游》二號男主角,已出現人物中最厲害的。
楚陽的兒子,《傲視九重天》,
方寸殺中有一個楚狂人
❹ windows10文件驅動過濾
1、獲得文件全路徑以及判斷時機
除在所有 IRP_MJ_XXX 之前自己從頭創建 IRP 發送到下層設備查詢全路徑外,不要嘗試在 IRP_MJ_CREATE 以外的地方獲得全路徑,因為只有在 IRP_MJ_CREATE
中才會使用 ObCreateObject() 來建立一個有效的 FILE_OBJECT。而在 IRP_READ IRP_WRITE 中它們是直接操作 FCB (File Control Block)的。
2、從頭建立 IRP 發送關注點
無論你建立什麼樣的 IRP,是 IRP_MJ_CREATE 也好還是 IRP_MJ_DIRECTORY_CONTROL也罷,最要提醒的就是一些標志。不同的標志會代來不同的結果,有些結果是直接返回失敗。這里指的標志不光是 IRP->Flags,還要考慮 IO_STACK_LOCATION->Flags還有其它等等。尤其是你要達到一些特殊目的,這時候更需要注意,如 IRP_MN_QUERY_DIRECTORY,不同的標志結果有很大的不同。
3、從頭建立 IRP 獲取全路徑注意點
自己從頭建立一個 IRP_MJ_QUERY_INFORMATION 的 IRP 獲取全路徑時需要注意,不僅在 IRP_MJ_CREATE 要做區別處理,在 IRP_MJ_CLOSE 也要做同樣的處理,否則如果目標是 NTFS 文件系統的話可能產生 deadlock。如果是 NTFS 那麼在 IRP_MJ_CLEANUP 的時候也需要對 FO_STREAM_FILE 類型的文件做同樣處理。
4、獲得本地/遠程訪問用戶名(域名/SID)
方法只有在 IRP_MJ_CREATE 中才可用,那是因為 IO_SECURITY_CONTEXT 只有在 IO_STACK_LOCATION->Parameters.Create.SecurityContext 才會有效。這樣你才有可能從 IO_SECURITY_CONTEXT->SecurityContext->AccessState->SubjectSecurityContext.XXXToken 中獲得訪問 TOKEN,從而進一步得到用戶名或 SID。記得 IFS 中有一個庫,它的 LIB 導出一個函數可以讓你在獲得以上信息後得到用戶名與域名。但如果你想兼容 NT4 的話,只能自己分析來得出本地和遠程的 SID。
5、文件與目錄的判斷
正確的方法在楚狂人的文檔里已經說過了,再補充一句。如果你的文件過濾驅動要兼容所有文件系統,那麼不要十分相信從 FileObject->FsContext 里取得的數據。正確的方法還是在你傳遞下去 IRP_MJ_CREATE 後從最下層文件系統延設備棧返回到你這里後再獲得。
6、加/解密中判斷點
只判斷 IRP_PAGING_IO,IRP_SYNCHRONOUS_PAGING_IO,IRP_NOCACHE 是沒錯的。如果有問題,相信是自己的問題。關於有人提到在 FILE_OBJECT->Flags中的 FO_NO_INTERMEDIATE_BUFFERING 是否需要判斷,對此問題的回答是只要你判斷了 IRP_NOCACHE 就不用再判斷 FILE_OBJECT 中的,因為它最終會設置 IRP->Flags 為 IRP_NOCACHE。關於你看到的諸如 IRP_DEFER_IO_COMPLETION 等 IRP 不要去管它,因為它只是一個過程。最終讀寫還是如上所介紹。至於以上這些 IRP 哪個是由 CC MGR 發送的,哪些是由 I/O MGR 發送和在什麼時候發送的,這個已經有很多討論了,相信可以找到。
7、舉例說明關於 IRP 傳遞與完成注意事項
只看 Walter Oney 的那本 《Programming the Microsoft Windows driver model》里介紹的流程,自己沒有實際的體會還是不夠的,那裡只介紹了基礎概念,讓自己有了知識。知道如何用,在什麼情況下用,用哪種方法,能夠用的穩定這叫有了技術。我們從另一個角度出發,把問題分為兩段來看,這樣利於總結。一個 IRP 在過濾驅動中,把它分為需要安裝 CompleteRoutine 的與無需安裝 CompleteRoutine 的。那麼在不需要安裝 CompleteRoutine 的有以下幾類情況。
(1) 拿到這個 IRP 後什麼都不做,直接調用 IoCompleteRequest() 來返回。
(2) 拿到這個 IRP 後什麼都不做,直接傳遞到底層設備,使用IoSkipCurrentIrpStackLocation() 後調用 IoCallDriver() 傳遞。
(3) 使用 IoBuildSynchronousFsdRequest() 或 IoBuildDeviceIoControlRequest()來建立 IRP 的。
以上幾種根據需要直接使用即可,除了一些參數與標志需要注意外,沒有什麼系統機制相關的東西需要注意了。那麼再來看需要安裝 CompleteRoutine 的情況。我們把這種情況再細分為兩種,一是在 CompleteRoutine 中返回標志為STATUS_MORE_PROCESSING_REQUIRED 的情況。二是返回處這個外的標志,需要使用函數IoMarkIrpPending() 的情況。在 CompleteRoutine 中絕大多數就這么兩種情況,你需要使用其中的一種情況。那麼為什麼需要安裝 CompleteRoutine 呢?那是因為我們對其 IRP 從上層驅動,經過我們驅動,在經過底層設備棧返回到我們這一層驅動時需要得到其中內容作為參考依據的,還有對其中內容需要進行修改的。再有一種情況是沒有經過上層驅動,而 IRP 的產生是在我們驅動直接下發到底層驅動,而經過設備棧後返回到我們這一層,且我們不在希望它繼續向上返回的,因為這個 IRP 本身就不是從上層來的。綜上所述,先來看下 IoMarkIrpPending() 的情況。
(1) 在 CompleteRoutine 中判斷 Irp->PendingReturned 並使用 IoMarkIrpPending()然後返回。這種方法在沒有使用 KeSetEvent() 的情況下,且不是自建 IRP 發送到底層驅動返回時使用。也就是說有可能我所做的工作都是在 CompleteRoutine 中進行的。比如加/解密時,我在這里對下層驅動返回數據的判斷並修改。修改後因為沒有使用 STATUS_MORE_PROCESSING_REQUIRED 標志,它會延設備堆一直向上返回並到用戶得到數據為止。這里一定要注意,在這種情況下 CompleteRoutine返回後,不要在碰這個 IRP。也就是說如果這個時候你使用了 IoCompleteRequest()的話會出現一個 MULTIPLE_IRP_COMPLIETE_REQUEST 的 BSOD 錯誤。
(2) 在 CompleteRoutine 中直接返回 STATUS_MORE_PROCESSING_REQUIRED 標志。這種情況在使用了 KeSetEvent() 的函數下出現。這里又有兩個小小的分之。
1) 出現於上層發送到我這里,當我這里使用 IoCallDriver() 後,底層返回數據經過我這一層時,我想讓它暫時停止繼續向上傳遞,讓這個 IRP 稍微歇息一會,等我對這個 IRP 返回的數據操作完成後(一般是沒有在 CompleteRoutine中對返回數據進行操作情況下,也就是說等到完成常式返回後再進行操作),由我來調用 IoCompleteRequest() 讓它延著設備棧繼續返回。這里要注意,我們是想讓它返回的,所以調用了 IoCompleteRequest()。這個可不同於下面所講的自己從頭分配 IRP 時在 CompleteRoutine 中已經調用 IoFreeIrp() 釋放了當前IRP 的情況。比如我在做一個改變文件大小,向文件頭寫入加密標志的驅動時,在上層發來了 IRP_MJ_QUERY_INFORMATION 查詢文件,我想在這個時候獲得文件信息進行判斷,然後根據我的判斷結果再移動文件指針。注意:上面是兩步,第一步是先獲得文件大小,那麼在這個時候我就需要用到上述辦法,先讓這個 IRP傳遞下去,得到我想要的東西後在進行對比。等待適當時機完成這個 IRP,讓數據繼續傳遞,直到用戶收到為止。第二步我會結合下面小節來講。
2) 出現於自己從頭建立 IRP,當使用 IoAllocate() 或 IoBuildAsynchronousFsdRequest()創建 IRP 調用 IoCallDriver() 後,底層返回數據到我這一層時,我不想讓這個 IRP 繼續向上延設備棧傳遞。因為這個 IRP 就是在我這層次建立的,上層本就不知道有這么一個 IRP。那麼到這里我就要在 CompleteRoutine 中使用 IoFreeIrp()來釋放掉這個 IRP,並不讓它繼續傳遞。這里一定要注意,在 CompleteRoutine函數返回後,這個 IRP 已經釋放了,如果這個時候在有任何關於這個 IRP 的操作那麼後果是災難性的,必定導致 BSOD 錯誤。前面 1) 小節給出的例子只完成了第一步這里繼續講第二步,第一步我重用這個 IRP 得到了文件大小,那麼這個時候雖然知道大小,但我還是無法知道這個文件是否被我加過密。這時,我就需要在這里自己從頭建立一個 IRP_MJ_READ 的 IRP 來讀取文件來判斷是否我加密過了的文件,如果是,則要減少相應的大小,然後繼續返回。注意:這里的返回是指讓第一步的IRP 返回。而不是我們自己創建的。我們創建的都已經在CompleteRoutine 中銷毀了。
8、關於完成 IRP 的動作簡介
當一個底層驅動調用了 IoCompleteRequest() 函數時,基本上所有設備棧相關 IRP 處理工作都是在它那裡完成的。包括 IRP->Flags 的一些標志的判斷,對 APC 的處理,拋出MULTIPLE_IRP_COMPLETE_REQUESTS 錯誤等。當它延設備棧一直調用驅動所安裝的 CompleteRoutine時,如果發現 STATUS_MORE_PROCESSING_REQUIRED 這個標志,則會停止向上繼續回滾。這也是為什麼在 CompleteRoutine 中使用這個標志即可暫停 IRP 的原因。
9、關於 ObQueryNameString 的使用
這個函數的使用,在有些環境下會有問題。它的上層函數是 ZwQueryObject()。在某些情況下會導致系統掛起,或者直接 BSOD。它是從 對象管理器中的 ObpRootDirectoryObject開始遍歷,通過 OBJECT_HEADER_TO_NAME_INFO 獲得對象名稱。今天問了下 PolyMeta好象是在處理 PIPE 時會掛啟,這個問題出現在 2000 系統。在 XP 上好象補丁了。
10、關於重入問題
其實這個問題在很久前的 IFS FAQ 里已經介紹的很清楚,包括處理方法以及每種方法可能帶來的問題。IFS FAQ 里的 Q34 一共介紹了四種方法,包括自己從頭建立 IRP發送,使用 ShadowDevice,使用特徵字元串,根據線程 ID,在 XP 下使用() 函數。並且把以上幾種在不同環境下使用要處理的問題也做了簡單的介紹。且在 Q33 里介紹了在 CIFS 碰到的 FILE_COMPLETE_IF_OPLOCKED 問題的解決方法。
❺ 我本楚狂人,鳳歌笑孔丘.中的楚狂人指誰.
楚狂人:春秋時楚人陸通,字接輿,因不滿楚昭王的政治,佯狂不仕,時人謂之「楚狂」。
❻ 小說里有楚狂人的小說
應該是九歲小妖後,你再具體一點,我好確認。
❼ 我本楚狂人 的楚狂人指的是誰
說的是楚國的狂人接輿
接輿,相傳是古代的狂士、隱士。晉·皇甫謐《高士傳·陸通》有:「陸通,字接輿,楚人也。好養性,躬耕以為食。楚昭王時,通見楚政無常,乃佯狂不仕,故時人謂之楚狂。孔子適楚,楚狂接輿游其門曰:『鳳兮鳳兮,何德之衰?往者不可諫,來者猶可追!已而!已而!今之從政者殆而!』(《論語·微子》)」 這段意思是說,接輿見楚政無常,而孔子卻到處游說自己的政治主張,因而對孔子唱歌,說亂世沒有拯救的希望,勸說孔子。這就是「接輿歌鳳」典故的由來。
唐李白也有「我本楚狂人,鳳歌笑孔丘」之句。
❽ 我本楚狂人 鳳歌笑孔丘什麼意思
意思是表現對政治的不滿,而要像楚狂那樣游覽名山過隱居的生活。
楚狂人:春秋時楚人陸通,因不滿楚昭王的政治,佯狂不仕,時人謂之「楚狂」。
鳳歌笑孔丘:孔子適楚,陸通游其門而歌:「鳳兮鳳兮,何德之衰……」勸孔不要做官,以免惹禍。這里,李白以陸通自比,表現對政治的不滿,而要像楚狂那樣游覽名山過隱居的生活。
我本楚狂人 鳳歌笑孔丘出自《廬山謠寄盧侍御虛舟》。
原文:
《廬山謠寄盧侍御虛舟》
我本楚狂人,鳳歌笑孔丘。手持綠玉杖,朝別黃鶴樓。
五嶽尋仙不辭遠,一生好入名山游。廬山秀出南斗傍,屏風九疊雲錦張。
影落明湖青黛光,金闕前開二峰長,銀河倒掛三石樑。
香爐瀑布遙相望,回崖沓嶂凌蒼蒼。翠影紅霞映朝日,鳥飛不到吳天長。
登高壯觀天地間,大江茫茫去不還。黃雲萬里動風色,白波九道流雪山。
好為廬山謠,興因廬山發。
閑窺石鏡清我心,謝公行處蒼苔沒。早服還丹無世情,琴心三疊道初成。
遙見仙人彩雲里,手把芙蓉朝玉京。先期汗漫九垓上,願接盧敖游太清。
拓展資料:
《廬山謠寄盧侍御虛舟》是唐代偉大詩人李白晚年的作品。
此詩先寫作者之行蹤,次寫廬山之景色,末寫隱退幽居之願想;不僅濃墨重彩地描繪了廬山秀麗雄奇的景色,更主要的是表現了詩人狂放不羈的性格以及政治理想破滅後想要寄情山水的心境,流露了詩人一方面想擺脫世俗的羈絆,進入飄渺虛幻的仙境,一方面又留戀現實,熱愛人間的美好風物的矛盾復雜的內心世界。
全詩風格豪放飄逸,境界雄奇瑰瑋,筆勢錯綜變化,詩韻亦隨著詩人情感的變化幾次轉換,跌宕多姿,極盡抑揚頓挫之美,富於浪漫主義色彩。
網路-廬山謠寄盧侍御虛舟
❾ 吾本楚狂人電子書txt全集下載
吾本楚狂人 txt全集小說附件已上傳到網路網盤,點擊免費下載: