黑網源碼
A. 怎麼察看隱藏的源代碼
很簡單啊
點滑鼠的右鍵
在選擇「查看源文件」
就會打開一個文檔
裡面就是它的源代碼
在<body>……</body>
之間就是頁面的排版『字體顏色』背景圖片什麼的 代碼
B. 600分全送了。一個程序設計提誰能幫我
一般來說,這個問題有三種可能的解決方案:
1. 把你的代碼放到一個DLL中;然後用 windows 鉤子把它映射到遠程進程。
2. 把你的代碼放到一個DLL中;然後用 CreateRemoteThread 和 LoadLibrary 把它映射到遠程進程。
3. 不用DLL,直接復制你的代碼到遠程進程(使用WriteProcessMemory)並且用CreateRemoteThread執行之。在這里有詳細的說明:
Ⅰ. Windows 鉤子
示常式序:HookSpy 和 HokInjEx
Windows鉤子的主要作用就是監視某個線程的消息流動。一般可分為:
1. 局部鉤子,只監視你自己進程中某個線程的消息流動。
2. 遠程鉤子,又可以分為:
a. 特定線程的,監視別的進程中某個線程的消息;
b. 系統級的,監視整個系統中正在運行的所有線程的消息。
如果被掛鉤(監視)的線程屬於別的進程(情況2a和2b),你的鉤子過程(hook procere)必須放在一個動態連接庫(DLL)中。系統把這包含了鉤子過程的DLL映射到被掛鉤的線程的地址空間。Windows會映射整個DLL而不僅僅是你的鉤子過程。這就是為什麼windows鉤子可以用來向其他線程的地址空間注入代碼的原因了。
在這里我不想深入討論鉤子的問題(請看MSDN中對SetWindowsHookEx的說明),讓我再告訴你兩個文檔中找不到的訣竅,可能會有用:
1. 當SetWindowHookEx調用成功後,系統會自動映射這個DLL到被掛鉤的線程,但並不是立即映射。因為所有的Windows鉤子都是基於消息的,直到一個適當的事件發生後這個DLL才被映射。比如:
如果你安裝了一個監視所有未排隊的(nonqueued)的消息的鉤子(WH_CALLWNDPROC),只有一個消息發送到被掛鉤線程(的某個窗口)後這個DLL才被映射。也就是說
::GetMoleFileName( hMole, lib_name, MAX_PATH );
::LoadLibrary( lib_name );
// 安全卸載鉤子
::UnhookWindowsHookEx( g_hHook );
}
return TRUE;
}
我們來看一下。首先,我們用鉤子映射這個DLL到遠程線程,然後,在DLL被真正映射進去後,我們立即卸載掛鉤(unhook)。一般來說當第一個消息到達被掛鉤線程後,這DLL會被卸載,然而我們通過LoadLibrary來增加這個DLL的引用次數,避免了DLL被卸載。
剩下的問題是:使用完畢後如何卸載這個DLL?UnhookWindowsHookEx不行了,因為我們已經對那個線程取消掛鉤(unhook)了。你可以這么做:
○在你想要卸載這個DLL之前再安裝一個鉤;
○發送一個「特殊」的消息到遠程線程;
○在你的新鉤子的鉤子過程(hook procere)中截獲該消息,調用FreeLibrary 和 (譯者註:對新鉤子調用)UnhookwindowsHookEx。
現在,鉤子只在映射DLL到遠程進程和從遠程進程卸載DLL時使用,對被掛鉤線程的性能沒有影響。也就是說,我們找到了一種(相比第二部分討論的LoadLibrary技術)WinNT和Win9x下都可以使用的,不影響目的進程性能的DLL映射機制。
但是,我們應該在何種情況下使用該技巧呢?通常是在DLL需要在遠程進程中駐留較長時間(比如你要子類[subclass]另一個進程中的控制項)並且你不想過於干涉目的進程時比較適合使用這種技巧。我在HookSpy中並沒有使用它,因為那個DLL只是短暫地注入一段時間――只要能取得密碼就足夠了。我在另一個例子HookInjEx中演示了這種方法。HookInjEx把一個DLL映射進「explorer.exe」(當然,最後又從其中卸載),子類了其中的開始按鈕,更確切地說我是把開始按鈕的滑鼠左右鍵點擊事件顛倒了一下。
你可以在本文章的開頭部分找到HookSpy和HookInjEx及其源代碼的下載包鏈接。
Ⅱ. CreateRemoteThread 和 LoadLibrary 技術
示常式序:LibSpy
中的線程過程的起始地址。
2. 如果把ThreadProc的lpParameter參數當做一個普通的32位整數(FreeLibrary把它當做HMODULE)那麼沒有如何問題,但是如果把它當做一個指針(LoadLibrary把它當做一個char*),它就必須指向遠程進程中的內存數據。
第一個問題其實已經迎刃而解了,因為LoadLibrary和FreeLibrary都是存在於kernel32.dll中的函數,而kernel32可以保證任何「正常」進程中都存在,且其載入地址都是一樣的。(參看附錄A)於是LoadLibrary/FreeLibrary在任何進程中的地址都是一樣的,這就保證了傳遞給遠程進程的指針是個有效的指針。
第二個問題也很簡單:把DLL的文件名(LodLibrary的參數)用WriteProcessMemory復制到遠程進程。
所以,使用CreateRemoteThread和LoadLibrary技術的步驟如下:
1. 得到遠程進程的HANDLE(使用OpenProcess)。
2. 在遠程進程中為DLL文件名分配內存(VirtualAllocEx)。
3. 把DLL的文件名(全路徑)寫到分配的內存中(WriteProcessMemory)
4. 使用CreateRemoteThread和LoadLibrary把你的DLL映射近遠程進程。
5. 等待遠程線程結束(WaitForSingleObject),即等待LoadLibrary返回。也就是說當我們的DllMain(是以DLL_PROCESS_ATTACH為參數調用的)返回時遠程線程也就立即結束了。
6. 取回遠程線程的結束碼(GetExitCodeThtread),即LoadLibrary的返回值――我們DLL載入後的基地址(HMODULE)。
7. 釋放第2步分配的內存(VirtualFreeEx)。
8. 用CreateRemoteThread和FreeLibrary把DLL從遠程進程中卸載。調用時傳遞第6步取得的HMODULE給FreeLibrary(通過CreateRemoteThread的lpParameter參數)。
9. 等待線程的結束(WaitSingleObject)。
同時,別忘了在最後關閉所有的句柄:第4、8步得到的線程句柄,第1步得到的遠程進程句柄。
sp; MEM_COMMIT, PAGE_READWRITE );
::WriteProcessMemory( hProcess, pLibRemote, (void*)szLibPath,
sizeof(szLibPath), NULL );
// 載入 "LibSpy.dll" 到遠程進程
// (通過 CreateRemoteThread & LoadLibrary)
hThread = ::CreateRemoteThread( hProcess, NULL, 0,
(LPTHREAD_START_ROUTINE) ::GetProcAddress( hKernel32,
nbsp; "LoadLibraryA" ),
pLibRemote, 0, NULL );
::WaitForSingleObject( hThread, INFINITE );
//取得DLL的基地址
::GetExitCodeThread( hThread, &hLibMole );
//掃尾工作
::CloseHandle( hThread );
::VirtualFreeEx( hProcess, pLibRemote, sizeof(szLibPath), MEM_RELEASE );
我們放在DllMain中的真正要注入的代碼(比如為SendMessage)現在已經被執行了(由於DLL_PROCESS_ATTACH),所以現在可以把DLL從目的進程中卸載了。
// 從目標進程卸載LibSpu.dll
// (通過 CreateRemoteThread & FreeLibrary)
hThread = ::CreateRemoteThread( hProcess, NULL, 0,
rocess Communications部分)或其他資料中都有很好的說明。我在LibSpy中使用的是#pragma data_seg。
你可以在本文章的開頭找到LibSpy及源代碼的下載鏈接。
Ⅲ.CreateRemoteThread和WriteProcessMemory技術
示常式序:WinSpy
另一種注入代碼到其他進程地址空間的方法是使用WriteProcessMemory API。這次你不用編寫一個獨立的DLL而是直接復制你的代碼到遠程進程(WriteProcessMemory)並用CreateRemoteThread執行之。
讓我們看一下CreateRemoteThread的聲明:
HANDLE CreateRemoteThread(
HANDLE hProcess, // handle to process to create thread in
LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to security
&nb
p; // attributes
DWORD dwStackSize, // initial thread stack size, in bytes
LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread
// function
LPVOID lpPa
teThread啟動遠程的ThreadFunc。
7. 等待遠程線程的結束(WaitForSingleObject)。
8. 從遠程進程取回指執行結果(ReadProcessMemory 或 GetExitCodeThread)。
9. 釋放第2、4步分配的內存(VirtualFreeEx)。
10. 關閉第6、1步打開打開的句柄。
另外,編寫ThreadFunc時必須遵守以下規則:
1. ThreadFunc不能調用除kernel32.dll和user32.dll之外動態庫中的API函數。只有kernel32.dll和user32.dll(如果被載入)可以保證在本地和目的進程中的載入地址是一樣的。(注意:user32並不一定被所有的Win32進程載入!)參考附錄A。如果你需要調用其他庫中的函數,在注入的代碼中使用LoadLibrary和GetProcessAddress強制載入。如果由於某種原因,你需要的動態庫已經被映射進了目的進程,你也可以使用GetMoudleHandle代替LoadLibrary。同樣,如果你想在ThreadFunc中調用你自己的函數,那麼就分別復制這些函數到遠程進程並通過INJDATA把地址提供給ThreadFunc。
2.
不要使用static字元串。把所有的字元串提供INJDATA傳遞。為什麼?編譯器會把所有的靜態字元串放在可執行文件的「.data」段,而僅僅在代碼中保留它們的引用(即指針)。這樣,遠程進程中的ThreadFunc就會執行不存在的內存數據(至少沒有在它自己的內存空間中)。
3. 去掉編譯器的/GZ編譯選項。這個選項是默認的(看附錄B)。
4. 要麼把ThreadFunc和AfterThreadFunc聲明為static,要麼關閉編譯器的「增量連接(incremental linking)」(看附錄C)。
5. ThreadFunc中的局部變數總大小必須小於4k位元組(看附錄D)。注意,當degug編譯時,這4k中大約有10個位元組會被事先佔用。
6. 如果有多於3個switch分支的case語句,必須像下面這樣分割開,或用if-else if代替:
switch( expression ) {
case constant1: statement1; goto END;
case constant2: statement2; goto END;
case constant3: statement2; goto END;
}
switch( expression
的緩沖
返回值:
成功復制的字元數。
讓我們看以下它的部分代碼,特別是注入的數據和代碼。為了簡單起見,沒有包含支持Unicode的代碼。
INJDATA
typedef LRESULT (WINAPI *SENDMESSAGE)(HWND,UINT,WPARAM,LPARAM);
typedef struct {
HWND hwnd; // handle to edit control
SENDMESSAGE fnSendMessage; // pointer to user32!SendMessageA
char psText[
28]; // buffer that is to receive the password
} INJDATA;
C. 中華吸血鬼的病毒來源
網上推銷「中華吸血鬼」
「有個叫『黑網之神』的人在網上賣病毒。」6月30日下午,永川區公安局網監支隊接到舉報電話,舉報者稱偶然逛到網名為「黑網之神」的人的博客上,發現對方正通過博客販賣一種名為「中華吸血鬼」的木馬下載器及下載器源代碼。
「黑網之神」正睡覺遭查獲
網監支隊立即展開調查,很快鎖定了「黑網之神」。7月1日上午10時許,民警在永川區桂山公園附近一居民樓內,將正在睡覺的「黑網之神」小周抓獲。小周對自己製作、販賣「中華吸血鬼」的違法事實供認不諱。
昨日,永川網監支隊陳紅支隊長介紹,網上購買「中華吸血鬼」的人一般都是有搞破壞、甚至犯罪的不良意圖,目前警方正對購買過此類病毒的人進一步追查。
10天編出「病毒」
經網監民警審查得知,現年18歲的小周文化程度並不高,中學畢業的他從13歲開始接觸計算機,17歲時曾到成都一家計算機專修學校進修一年。他沒有正式工作,一有時間就抱著書自學黑客技術。由於現在網上病毒肆虐,小周從中發現了商機。他決定編寫一個能破壞殺毒軟體、帶傳播能力的軟體賣錢。奮戰10天後,他編完了這個名為「中華吸血鬼」的病毒軟體。
有人花880元購買
在此期間,他對病毒進行了修改和完善,使其像穿上了「隱身衣」,掩護其他木馬程序傳播,現有的殺毒軟體幾乎無法發現這種病毒,甚至能破壞殺毒軟體。為了吸引買家的眼球,他的宣傳語包括「讓殺毒軟體商餓死」、「好病毒,中國造」等,並聲明:有興趣的可以免費下載試用版,試用滿意再付費購買。據警方事後統計,短時間內就有近500人下載了試用版,其中4人分別以880元的價格購買了正式版。
D. ftp伺服器 能架設網頁游戲嗎
不可以的。。。。。。例子你去黑網看下就知道了
E. 犇牛病毒的始作俑者
為幫助中招網友盡快擺脫「犇牛」的侵擾,360安全中心緊急推出了最新版的「360頑固木馬專殺大全」,使中招用戶無需將硬碟全盤格式化就能將其徹底查殺。同時,360安全專家石曉虹博士提醒網友,在將包括數碼產品在內的任何移動存儲介質連接電腦前,請先確認電腦中是否已安裝了360安全衛士等具有U盤防火牆功能的安全軟體,並推薦使用360安全瀏覽器等具有防掛馬功能的瀏覽器產品,將中招的概率降到最低。
從360安全中心獲悉,2009年以來肆掠互聯網的網路病毒「犇牛」始作俑者曝光。據360安全專家石曉虹博士介紹,「犇牛」的早期版本與一款名為「中華吸血鬼」的木馬完全一致,由此可以斷定「犇牛」是由獲得『中華吸血鬼』源代碼的黑客改寫。
據介紹,「中華吸血鬼」是由重慶市一個名為「黑網之神」的黑客所作,不僅打出「好病毒,中國造」的廣告,更是揚言「餓死殺毒軟體商」。不料他的如意算盤僅打了短短兩個月,自己就因涉嫌製作、傳播計算機病毒破壞性程序被當地警方抓捕,時間是2008年7月,「中華吸血鬼」的源代碼卻已流傳在網路之中。
石曉虹博士表示:「以『中華吸血鬼』源代碼為藍本改編的「犇牛」雛形當時並沒什麼威脅,不僅自我保護能力不強,傳播量和處理的技術難度都很低,對一般的安全軟體來說,基本上分析完樣本後再入病毒庫就可以解決。然而,在逐漸集成了『熊貓燒香』、『磁碟機』、『機器狗』、『AV終結者』等多種惡性木馬下載器的技術後,爆發在牛年春節的『犇牛』開始成為網路的最大危害。」
國家計算機網路應急技術處理協調中心2月11日發布的《關於警惕「犇牛」木馬下載器廣泛傳播的公告》指出,從2月1到10日已有66萬個IP地址感染「犇牛」,號召受害網民參考使用360安全中心官方網站提供的專殺工具進行查殺。
F. 如何復制網頁上面的源代碼
查看源代碼————選擇另存於或全選復制