http://blog.csdn.net/aaa6695798/article/details/4879271 通訊端緩衝區用結構體struct sk_buff表示,它用於在網路子系統中的各層之間傳遞資料,處於一個核心地位,非常之重要。它包含了一群組成員資料用於承載網路資料,同時,也定義了在這些資料上操作的一組函數。下面是其完整的定義: struct sk_buff { struct sk_buff *next; struct sk_buff
從(一)中建立了初步的注入代碼後,需要把用來佔位的11223344H改為相應的地址,用一個函數來完成. view plaincopy to clipboardprint?//OEP是從PE頭中得到的程式進入點,VEP是病毒注入的起始位置,ImageBase是檔案基址 int BuildInjectCode(DWORD OEP, DWORD VEP, DWORD ImageBase) { unsigned char *p = InjectCode; *(DWORD *)(
用控制代碼操縱對象JVM是怎麼通過控制代碼訪問對象的(或者說控制代碼究竟是個什麼東西),給我的感覺就像指標或者引用。也有人說控制代碼就是“受到了嚴格限制和防範的指標”。在給方法傳參數的時候需要注意。所有的對象必須建立程式運行時可以儲存資料的六個地方:寄存器、堆棧(物件控點)、堆(對象)、靜態儲存(JAVA對象永遠不會置於靜態儲存空間)、常熟儲存、非RAM儲存。8種不用new初始化的變數:boolean、byte、short、char、int、float、long、double。從小到大排序。ja
http://hi.baidu.com/ahtaria/blog/item/969ae4447eaa59076a63e57d.htmlLibpcap 重點使用 BPF(BSD Packet Filter)包過濾機制,BPF 於 1992 年被設計出來,其設計目的主要是解決當時已存在的過濾機制效率低下的問題。BPF的工作步驟如下:當一個資料包到達網路介面時,資料連結層的驅動會把它向系統的協議棧傳送。但如果 BPF 監聽介面,驅動首先調用 BPF。BPF
Cassandra中資料存放規則data:儲存真正的資料檔案,既後面的SStable檔案,可以指定多個目錄。commitlog:儲存未寫入SSTable中的資料(在每次寫入之前先放入記錄檔)。cache:儲存系統中的快取資料(在服務重啟的時候從這個目錄中載入快取資料)。合理安排上面節點之間的位置以提高效能。CommitlogCommilog中包括兩個部分:Commilog-XXXX.log和Commilog-XXXX.log.header。Commitlog-XXXX.log檔案中儲存上次更新操
http://www.jollen.org/blog/2006/10/_asmlinkage.html什麼是 "asmlinkage"?jollen 發表於 October 26, 2006 4:15 PM有網友來信問到,kernel 裡的 system call 實作函數中(C 函數),為什麼每一個函數原型宣告的前面都有一個 "asmlinkage" 的字串?例如:asmlinkage long sys_nice(int increment)"asmlinkage" 是在 i386
sed結構分析sed/awk教程眾多,大多是執行個體教材,以舉例為主;或者是文法教材,以文法講解為主。學習了sed,又學習awk,結果學著學著,很容易迷糊,文法容易混淆。本文主要講解sed的結構,使大家學習完以後對sed有一個整體性的把握。至於什麼叫做結構,看完應該可以明白。本人sed/awk所學有限,錯誤之處請大家不吝指出。1: sed 文法sed -e 'pattern + action'
剛才的標籤對齊那片文章提到的關於調整兩行之間的長度差的問題。0-1背包問題解決這個問題就很簡單了:用其中的一些盡量去放滿一半的總容量就好了。比較麻煩的一個問題是如何記錄能達到最優情況的時候兩行裡面分別是什嗎?這個問題其實也是挺簡單的,具體看下面的代碼吧。#include <stdio.h>#include <math.h>#include <stdlib.h>#include <memory.h>#define MAX_NUM
http://blog.csdn.net/GaA_Ra/archive/2010/06/27/5697579.aspx在我看來,感染型病毒才是真正稱得上為病毒,因為感染型病毒的手動清除比較困難,大學的時候,幫同學殺毒最煩躁的就是碰上感染型的病毒,除非寫一個程式自動處理,不然手動清除是相當麻煩的.當然我所謂的真正病毒主要是在我看來,能夠輕易用手工清除的病毒都不是好的病毒.現在病毒製造者追求的是快速的傳播速度,而忽略了病毒的"頑固性",一個木馬簡單的就使用一個啟動的登錄機碼顯然在清理上太方便了,甚至
其實看了上個文章這個流程就基本能猜到了哈。資料更新流程更新資料寫入Commitlog。更新資料寫入Memtable。更新資料寫入SSTable。叢集資料跟新策略為了保證高可用性,寫入操作不必等待所有的伺服器都相應寫入成功,提供六種一致性寫入策略:ANY:有一個成功響應就通知用戶端成功(包括HINT訊息)。ONE:和ANY不同的是不包括HINT訊息。QUORUM:成功的伺服器數目不小於“ReplicationFactor/2+1”(不包括HINT訊息)。LOCAL_QUORUM:與3不同的是寫入成
strace gdb與ptrace2011-05-24 10:20 121人閱讀 評論(0) 收藏 舉報學習,
Linux2.6 核心的 Initrd 機制解析 李 大治 (dazhi.li@gmail.com), 軟體工程師 簡介: Linux 的 initrd 技術是一個非常普遍使用的機制,linux2.6 核心的 initrd 的檔案格式由原來的檔案系統鏡像檔案轉變成了 cpio 格式,變化不僅反映在檔案格式上, linux 核心對這兩種格式的 initrd 的處理有著截然的不同。本文首先介紹了什麼是 initrd 技術,然後分別介紹了 Linux2.4 核心和 2.6 核心的 initrd
使用NPAPI編寫瀏覽器外掛程式的源碼執行個體code:http://download.csdn.net/detail/echoisland/3878906用於種種原因,最近對製作瀏覽器(chrome,firefox)的外掛程式非常感興趣搜了一下,講的幾乎全都是在講的方法和API,找個簡單可以啟動並執行代碼執行個體,還真是難!不過最終還算幸運,終於找一個例子(http://geeklu.com/2010/10/getting-started-with-npapi-plugin/comment-p
16.1.1 函數模板。模板定義以關鍵字 template 開始。後接 模板形參表,模板形參表是用角括弧括住一個或多個形參列表,形參之間以逗號分隔。模板形參可以是表示類型的 類型形參,也可以是 表示常量運算式 的非類型形參。使用函數模板。使用函數模板時,編譯器會推斷哪個或哪些模板實參 綁定到模板形參。一旦編譯器確定了對應的模板實參,就稱為:執行個體化了一個函數模板執行個體。inline 函數模板template <typename T> inline T min(const
mmap的好處:和read、write系統調用相比不會產生無關的副本;如果不出錯就不會有系統調用、作業環境切換等開銷;不再需要lseek調用。mmap的壞處:記憶體映射總是PAGESIZE的整數倍,會浪費一定的記憶體;如果要映射的內容非常大的時候可能找不到連續的線性地址空間;建立並維護核心相關資料結構,這部分可能抵消雙重副本節省下的開銷,尤其是大型頻繁訪問的檔案。下面是一個檔案對應比較全面的例子:int main(){//取得頁大小//int pagesize =
資料讀取流程Cassandra會根據需要讀取的ColumnFamily查詢該ColumnFamily下的Memtable以及所有的SSTable,合并查詢結果,將最新的結果返回給用戶端。Cassandra從SSTable中讀取資料時,先要讀取Bloom
kernel-headers-2.6.18-194.el5.i386.rpmglibc-common-2.5-49.i386.rpm[14:04:14] ChingLiu YU: glibc-2.5-49.i686.rpm[14:04:22] ChingLiu YU: glibc-headers-2.5-49.i386.rpm[14:06:03] ChingLiu YU: glibc-devel-2.5-49.i386.rpm[14:06:11] ChingLiu YU: libgomp-4.4
可以調用posix_fadvise函數來設定一些操作檔案的方式,比如要清楚一定地區內的緩衝可以使用下面代碼:int main(){int fd = open("test", O_RDWR);int ret = posix_fadvise(fd, 0, 10, POSIX_FADV_DONTNEED); printf("%d\n", ret);if(ret == -1){ printf("posix_fadvise調用失敗!\n"); } close(fd);return
昨天看了下線程池,雖然原理什麼都比較好理解,但是實現起來感覺自己的方法還是非常笨。這裡沒直接把任務也做了一個池,就不用動態分配操作了。下面是代碼以及測試:#include <pthread.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <errno.h>#define MAX_THREAD_NUM 1
在這個模式中把物件導向的好處得到了很好的體現。在類設計的時候可能會遇到組合爆炸的情況,比如《head