原创 使NT支持長路徑名的參考代碼
在某些情況下,會有使用長路徑(大於MAX_PATH/260字符)的需求,如網絡文件管理之類的,WindowsNT之後的NTFS文件系統其實是支持這樣的操作的,但需求畢竟比較特殊,而且Explorer資源瀏覽器都不支持它,所以很少被認識到.
原创 OllyDbg教程-快捷鍵
預備知識 大多數殼都有一個共同的特點。在殼準備開始解壓時都要執行PUSHAD,當殼解壓 完時都要調用POPAD。到底PUSHAD和POPAD是什麼幹什麼用的呢?其實PUSHAD是用來將 所有普通寄存器順序進棧的指令,POPAD是所有普
原创 TS (Transport stream) 格式:
包:包是TS中最基本的數據單元.它內部包含固定的1個同步字節,值爲0x47.之後是3個比特標誌字段和13個 比特的包ID字段(PID),然後是4個比特的連續計數器字段,下面還可以有其它可選附加的字段,如可靠用 來提供支持信息的字段.其餘部
原创 Linux boot flow
Linux BootFlow: BIOS Post Setup->MBR(GRUB/LILO)->Kernel->Kernel self-extract->Kernel Start Kernel Start:Create the proc
原创 寫一段小型溢出代碼(譯自:Writing Small Shellcode)
背景: 這篇文章描述了一次以儘可能小體積來實現一個WIN32 ShellCode的嘗試,來完成一個通用的且有很多特性受限制的任務,試驗的最終結果是一個綁定某端口的,沒有空字符的('/0'),大小爲191字節的服務器端ShellCod
原创 使用熱轉印紙快速自制線路板【轉】
多年來製作線路板是每個電子愛好者的攔路虎,能快速地完成線路板的製作則是每個電子愛好者的心願。 工藝原理: 主要採用了熱轉移的原理.利用激光打印機的“碳粉”(含黑色塑料微粒)受激光打印機的硒鼓靜電吸引,在硒鼓上排列出精度極高的圖形及文字,
原创 wchar_t類型的實質
VC++編譯器中包括一種本機類型,用來支持長字符串,它就是wchar_t,它所佔用的內存長度爲2個字節,同時VC++編譯器2個字節長度的類型有short, unsigned short。(參考鏈接:http://msdn.microsof
原创 線程的退出與其相關資源的釋放
線程是可訪問進程資源的獨立運行的一系列代碼(過程),它使用的資源有兩種:1.進程中所有線程共享的資源。2.線程私有的資源。那麼如果線程退出的話,第2種資源也就沒有存在的意義了。 線程退出的方式:1.線程的入口函數執行完畢,這是最自然的退出
原创 MATROSKA 文件格式
MATROSKA 文件格式 1.EBML (Extensible Binary Meta Language): EBML語言使用不定長整數,這種方式相對於固定長度的32位/64位字長的整數值更節約空間.放置的位置也不受字節對齊約束..這種
原创 PTHEAD原理
引言 線程(thread)技術早在60年代就被提出,但真正應用多線程到操作系統中去,是在80年代中 期,solaris是這方面的佼佼者。傳統的Unix也支持線程的概念,但是在一個進程(process)中只允許有一個線程,這樣多線程就意
原创 #pragma directive
一:#pragma warning指令該指令允許有選擇性的修改編譯器的警告消息的行爲指令格式如下:#pragma warning( warning-s
原创 軟件開發中的自動化技術
實際的工作中,很多時候都需要在項目編譯完成後做一些工作,或是在編譯前做一些準備工作,它們是重複性的,如果手動操作是一件很麻煩的事情,VS中提供了生成前/生成後執行命令,使用腳本就可以完成大部分需要的操作. 例子(生成後自動將頭文件和庫文件
原创 基本INF文件格式
[Version]Signature="$Windows NT$" ;通知用戶此驅動使用在什麼平臺Class=Sample ;驅動的類型ClassGUID={C3077FCD-AE7F-3D86-9C1A-46A8181923E}
原创 C++語法巧題(一般被用做面試題)
題1: int ArrayParamFun( char Param[100] ) { int ParamLen; ParamLen = sizeof( Param ); prinf( "The array param
原创 Windows藍屏代碼含意速查表
代碼 含意 0 0x0000 作業完成。 1 0x0001 不正確的函數。 2 0x0002 系統找不到指定的檔案。 3 0x0003 系統找不到指定的路徑。 4 0x0004 系統無法開啓檔案。 5 0