Time of Update: 2018-12-04
漫談相容核心之一:ReactOS怎樣實現系統調用毛德操有網友在論壇上發貼,要求我談談ReactOS是怎樣實現系統調用的。另一方面,我上次已經談到相容核心應該如何?Windows系統調用的問題,接著談談ReactOS怎樣實現系統調用倒也順理成章,所以這一次就來談談這個話題。不過這顯然不屬於“漫談Wine”的範疇,也確實沒有必要再來個“漫談ReactOS”,因此決定把除Wine以外的話題都納入“漫談相容核心”。ReactOS這個項目的目標是要開發出一個開源的Windows。不言而喻,它要實現的系統調
Time of Update: 2018-12-04
PNG是20世紀90年代中期開始開發的影像檔儲存格式,其目的是企圖替代GIF和TIFF檔案格式,同時增加一些GIF檔案格式所不具備的特性。流式網狀圖形格式(Portable Network Graphic Format,PNG)名稱來源於非官方的“PNG's Not GIF”,是一種位元影像檔案(bitmap file)儲存格式,讀成“ping”。PNG用來儲存灰階映像時,灰階映像的深度可多到16位,儲存彩色映像時,彩色映像的深度可多到48位,並且還可儲存多到16位的α通道資料。PNG使用從LZ
Time of Update: 2018-12-04
很多朋友雖然學習了不少SEO的知識,但是當他開始要最佳化一個網站的時候,卻無從下手,茫然不知所措。這裡給大家分享一下我最佳化網站的六大步驟。 第一步:關鍵詞選擇關鍵詞選擇錯了,後面做的工作等於零,所以進行網站最佳化前,先要鎖定自己網站的關鍵詞。如題操作步驟如下:1、列出基礎詞2、使用關鍵詞分析工具找出更多的關鍵詞和熱門關鍵詞。百度相關搜尋http://d.baidu.com/rs.php百度指數http://index.baidu.com/ 英文關鍵詞工具 https://adwords.go
Time of Update: 2018-12-04
在生產環境下進行故障診斷時,為了不終止正在啟動並執行服務或應用程式,有兩種方式可以對正在啟動並執行服務或應用程式的進程進行分析和調試。首先一種比較直觀簡潔的方式就是用WinDbg等調試器直接attach到需要調試的進程,調試完畢之後再detach即可。但是這種方式有個缺點就是執行debugger命令時必須先break這個進程,執行完debug命令之後又得趕緊F5讓他繼續運行,因為被你break住的時候意味著整個進程也已經被你掛起。另外也經常會由於First Chance
Time of Update: 2018-12-04
/////////////////////////////////////////////////////////////////// 自訂記憶體管理器//// [總空閑數(4 byte)]// [資料區塊(ItemSize byte)][是否佔用(1 byte)][當前塊索引(4 byte)][下塊索引(4 byte)]// [資料區塊(ItemSize byte)][是否佔用(1 byte)][當前塊索引(4 byte)][下塊索引(4
Time of Update: 2018-12-04
1原文:微軟公司 Dino Esposito(BHO) 原文出處:Browser Helper Objects: The Browser the Way You Want It http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/bho.asp 一、簡介 有時,你可能需要一個定製版本的瀏覽器。在這種情況下,你可以自由地把一些新穎但又不標準的特徵增加到一個瀏覽器上。結果,你最終有的只是一
Time of Update: 2018-12-04
(*1*): 寫程式。a.cpp 和 foo.cpp其中a.cpp的內容為:extern void Foo();void main(){ Foo();}foo.cpp的內容為:#include "stdio.h"void Foo(){ printf("I am Foo!");}編譯器產生a.obj foo.obj a.exe.(*2*):Copy以上3個檔案到../VisualStdio/VC98/BIN目錄下用以下命令解析:dumpbin /all a.obj >aobj.txt
Time of Update: 2018-12-04
// 標頭檔:MyStringList.h////////////////////////////////////////////////////////////////1、簡 介:對象列表類 - 索引串+對象指標//2、主要功能:// // 可以根據索引串活對象指標值擷取索引// 靈活添加刪除// // ////////////////////////////////////////////////
Time of Update: 2018-12-04
代碼可以直接編譯..編譯參數:nasmw -fbin MsgBoxA.asm -o MsgBoxA.exe請下載最新的NASM for Win32編譯器當前最新版本:NASM
Time of Update: 2018-12-04
----- 老鰓
Time of Update: 2018-12-04
我們都知道MFC裡的SDI程式實現了Frame-Doc-View結構,在這種模型中,實現了一個文檔對應一個VIEW,而MDI則實現了多文檔多視圖模型。但很多時候我們的程式不需要多文檔,但希望能處理多個VIEW,這時候可能會有人想到拆分視窗SplitterWnd,拆分視窗能在同一個架構裡同時顯示多個視圖(VIEW)。不過可能有人喜歡雖然存在多個視圖,但同一時間只想顯示一個視圖。例如某些軟體有幾個功能塊,如學生管理的學員管理、課程管理、生活管理等模組。那麼能否在SDI程式中實現這樣的多視圖支援呢?
Time of Update: 2018-12-04
----- 老鰓 -------- 考慮如下這個簡單類ttestunit Unit1;interfaceusesWindows, SysUtils, Variants, Classes;typettest = classpublicj:integer;i:integer;function aa(b,c: integer):integer;stdcall;end;implementationfunction ttest.aa(b,c:
Time of Update: 2018-12-04
閱讀本文之前,我先假設讀者已經知道了 SEH 和 API Hook 的基本概念,因為我不打算在此進行掃盲工作。什嗎?你不懂什麼叫 SEH 和 API Hook ?那……先去找點資料看看吧,到處都有哦,推薦讀物:Jeffrey Richter 大牛的《Windows核心編程》。(沒話可說,研究系統底層編程的葵花寶典,必備!)另外值得補充的是,API Hook 跟一般的 Hook
Time of Update: 2018-12-04
當線程中有訊息處理時,如一般的線程中顯示操作結果時,此時如果要在主線程中使用WaitForSingleObject的話,往往會導致阻塞,例如如下的主線程終止副線程,而副線程中用了諸如SendMessage的函數,那麼自然相互鎖住了,因為你運行等待的函數沒有返回,那麼線程中的訊息得不到處理,自然就兩邊的線程都阻塞在那裡,此時可以使用API函數MsgWaitForMultipleObjects來解決,如下所示。將等待到的訊息進行處理。再繼續等待,直到逾時或等待成功。 // 停止線程,
Time of Update: 2018-12-04
我們有時候需要對運行中的程式打記憶體補丁,或者對它的代碼掛一些鉤子之類的工作。但是現在相當多軟體進行了運行時的代碼檢測。一旦發現記憶體中的代碼被修改掉,就會進行處理。本文介紹了一種比較特別的辦法,用於通過這些檢測。首先需要說一下做運行時代碼校正的方法。一般來說,校正者需要取得當前模組的基地址,通過分析PE結構,獲得代碼節的位移和大小,然後對記憶體中的代碼進行CRC或者其他的一些校正。這其中有個很大的問題,校正者預設了通過這種方式取得的代碼節就是當前被使用到的代碼,但是事實卻不一定如此。一般編譯器
Time of Update: 2018-12-04
(一)更改Active Directory中IWAM_MYSERVER帳號的密碼 因IWAM帳號的密碼由系統控制,隨機產生,我們並不知道是什麼,為完成下面兩 步的密碼同步化工作,我們必須將IWAM帳號的密碼設定為一個我們知道的值。 1、選擇“開始”->“程式”->“管理工具”->"Active Directory使用者和電腦", 啟動“Active Directory使用者和電腦”嵌入式管理單元。
Time of Update: 2018-12-04
HOOK API是一個永恒的話題,如果沒有HOOK,許多技術將很難實現,也許根本不能實現。這裡所說的API,是廣義上的API,它包括DOS下的中斷,WINDOWS裡的API、中斷服務、IFS和NDIS過濾等。比如大家熟悉的即時翻譯軟體,就是靠HOOK
Time of Update: 2018-12-04
為了避免自己的某個dll模組被別人檢測出來,有時候希望在自己載入一個dll之後,或者將dll注入到他人進程之後避免被檢查出來。這就需要想辦法抹掉這個dll的模組資訊,使得Toolhelp、psapi等枚舉模組的API無法枚舉它。我們可以先簡單看看Windows枚舉進程內模組的辦法吧:首先是BOOL EnumProcessModules( HANDLE hProcess, HMODULE* lphModule, DWORD cb, LPDWORD
Time of Update: 2018-12-04
1、找尋支援QQ HTTP協議的伺服器。大家也許會被一些假像所迷惑,也許會認為QQ的HTTP伺服器是基於80口進行通訊的(如:218.17.209.23:80),其實不然,正真基於HTTP的伺服器應該是:http://tqq.tencent.com:8000,它是一個通過8000口進行通訊的伺服器。由於QQ的HTTP伺服器並不支援HTTP協議中GET方法,它支援POST方法。所以我們要給QQ的HTTP協議傳參數,那麼就必需要用POST方式才行。
Time of Update: 2018-12-04
最近做了幾個項目,想著將文檔,資料,代碼管理起來,實在是不停的copy,paste的資料備份方式已經厭倦,且需要復原的時候,就難上加難,為此浪費了很多時間。當前的管理工具中,subversion無疑是最好的選擇,其為cvs的升級,最感覺方便的是其目錄相對獨立和方便的備份。且有tortoisesvn等配套的用戶端產品,使得使用起來更加方便。