原创 錯誤代碼中文查詢GetLastError返回代碼的含義

〖0〗-操作成功完成。  〖1〗-功能錯誤。  〖2〗-系統找不到指定的文件。  〖3〗-系統找不到指定的路徑。  〖4〗-系統無法打開文件。  〖5〗-拒絕訪問。  〖6〗-句柄無效。  〖7〗-存儲控制塊被損壞。  〖8〗-存儲空間不

原创 OD快捷鍵使用大全

無論當前的OllyDbg窗口是什麼,這些快捷鍵均有效:   Ctrl+F2 - 重啓程序,即重新啓動被調試程序。如果當前沒有調試的程序,OllyDbg會運行歷史列表[history list]中的第一個程序。程序重啓後,將會刪除所有

原创 OD使用技巧

OllyDbg 常用快捷熱鍵 聆風聽雨整理 =============================================================== 打開一個新的可執行程序 (F3) 重新運行當前調試的程序 (C

原创 VC6.0 + WDK 7600.16385.1 開發環境配置

之前用着VisualDDK挺爽的,可以直接用VS來調試,但是隻支持Visual2005以上版本,另外對VS2008中文旗艦版的支持不好,被迫無奈我下了個VS2010。無可置疑Visual DDK用起來真的挺爽的,起碼能省去配置環境的時間。

原创 windows驅動加載順序

CreateService的dwStartType 形參 有幾個選項值 SERVICE_BOOT_START SERVICE_AUTO_START SERVICE_SYSTEM_START   我們一般都只用SERVICE_DEMAND

原创 爲WinDbg設置符號文件路徑

WinDbg可以通過加載Symbol文件(*.pdb),即時的調試程序。 WinDbg如何找到相應的符號文件呢? WinDbg首先在.exe或者.dll所在目錄下尋找同名的.pdb文件。如果找不到,WinDbg在Symbol File P

原创 基於crc32實現的內存的代碼校驗

原理:a,crc32函數的實現 b,內存校驗:顧名思義,運行在內存代碼通過crc32得到一個值,當第二次運行可執行文件的時候,可以把第一次保存下來的值和第二次運行的結果相比較,從而根據比較結果判斷時候內存數據吧被修改。   1,crc3

原创 Google Hacking的實現以及應用

     Google Hacking其實並算不上什麼新東西,學習下它只是想加深自己搜索技術,更好的查找到自己需要的資料。   記得以前也曾看見過一些文章或者教程教到怎樣去尋找有漏洞的網站,查找一些暴露出來的文件,只是一直不以爲意。好吧,

原创 CR0-4寄存器介紹

控制寄存器(CR0~CR3)用於控制和確定處理器的操作模式以及當前執行任務的特性,如圖4-3所示。 CR0中含有控制處理器操作模式和狀態的系統控制標誌; CR1保留不用; CR2含有導致頁錯誤的線性地址; CR3中含有頁目錄表物理內存基

原创 記,17個日夜

11月1號,不知怎的,忽然跑到樣本書庫裏去了,摸索着,尋找着,終於還是“搬出”了期待已久的“Windows程序設計(第五版 珍藏版)”。很久就想看的一本書,但卻又一直對這本書有點恐懼,看這本書,的確需要一種勇氣。 書 這是我至今看過最厚

原创 WINDOWS 幾種座標系

在窗口中繪圖 圖形設備接口(GDI)與設備描述表(DC) 圖形設備接口(GDI) 許多MS-DOS程序都直接往視頻存儲區或打印機端口輸送數據,  這種做法的不利之處在於需要對每種顯示卡或打印機類型提供相應的驅動程序。 Windows

原创 Windows驅動程序框架

在配置好想對應的開發環境後,我們就可以開發驅動程序了。注:下面的主要以NT式驅動爲例,部分涉及到WDM驅動的差別會有特別說明。 在Console控制檯下,我們的有一個入口函數main;在Windows圖形界面平臺下,有另外一個入口函數Wi

原创 CRC原理及實現

CRC(Cyclic Redundancy Check)中文名是循環冗餘校驗,由於計算簡單等,被廣泛用於數據校驗,具有很強的檢錯能力。最常見的有網絡傳輸中信息的校驗,但同樣的道理,我們也可以將其應用到軟件中,如:winrar對文件的校驗。

原创 圖 - 每對頂點間最短路徑----Floyd算法

對於一個各邊權值均大於零的有向圖,對每一對頂點,求出vi與vj之間的最短路徑和最短路徑長度。 以下代碼包含有向圖的建立,Floyd算法的實現以及輸出最短路徑和最短路徑長度。 代碼說明幾點: 1、A[][]數組初始化爲各頂點間的原本

原创 __EMIT僞指令

__EMIT是VC內聯彙編的僞指令,相當於MASM中的DB. VC裏沒有DD及DW之類的內聯彙編指令,只有用這個_emit一個字節一個字節的填入。 __asm { ;nop __emit 0x90 } 點贊 收藏