style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-5935214489160196"
data-ad-slot="8007533899">

剖析Linux上的kHttpd網頁伺服

int MainDaemon(void *cpu_poing)MainDaemon0MainDaemon1QueueManagement DaemonMainDaemonint WaitForHeaders(CPUNR)(waitqueue_decode.bmp) int WaitForHeaders(CPUNR) 1.Http Request 2.kHttpdUser Mode Web Server int WaitForHeaders(CPUNR) 2DecodeHeader 4~8IsForUserSpace!=0UserspaceQueue 9~12IsForUserSpace==0DataSendingQueue static int DecodeHeader(const int CPUNR, struct http_request *Request) 2http 3URL 4Mime 5~10MimeUser Mode Web ServerIsForUserSpace 11~15URLUser Mode Web ServerIsForUserSpace 16~28kHttpdkHttpd 18~22cache 23~27ClientcacheClientcache (Request)MainDaemonint WaitForHeaders(CPUNR) 1.ClientcacheMainDaemon(stack_send_httpdheader.bmp)Send304()SendBuffer() 2.MainDaemonSendHTTPHeader(Request)HTTPDataSending(CPUNR)SendBuffer_async()(stack_send_httpheader.bmp) 3.MainDaemonint Userspace(const int CPUNR)User Mode Web Server int Userspace(const int CPUNR) 2AddSocketToAcceptQueueUser Mode Web Server 4User Mode Web Server 8~9User Mode Web ServerHttp static int AddSocketToAcceptQueue(struct socket *sock,const int Port) User Mode Web ServerUser Mode Web Server 4.kHttpd key inkHttpd(stop)(MainDaemon.bmp)sysctl_khttpd_stop1MainDaemon0MainDaemon1Management Daemonkey in(unload)(managementdaemon.bmp)Management Daemon 5. […]

Windows NT系統介紹

<Step 3>WinICEidt2E0008:8013CBC0 KiReleaseSpinLock (NTOSKRNL)WinICE2EICENT2E2E () ICE2ENT DDK DriverWinICE()(DriverSource Code) SIDTWINICEWINICE WinICE Int 2d :0008:8013ddfc Int 2e :0008:8013cbc0 Int 31 : 0008:806b8044 Int 33 : 0008:80645dc4 Int 34 : 0008:806b9044 Int 37 : 0008:8013c336 WinICE Int 2d : 0008:8053c462 Int 2e : 0008:8053c471 Int 31 : 0008:8053c480 Int 33 : 0008:8053c48f Int 34 : 0008:8053c49e Int 37 : 0008:8053c4bc () 2E NTDLL.DLL2B2C : NtSetHighWaitLowThread 77F57F7C: CD 2B int 2Bh 77F57F7E: C3 ret NtSetLowWaitHighThread 77F58020: CD 2C int 2Ch 77F58022: C3 ret USER32.DLL IsWindow ……() 77E52244 8B442404 MOV EAX, 77E52248 CD2B INT 2B 2D31NT NTNT2E2ENTKernelUser Mode2EKernelNT API2E2EAPI? […]

Windows 98核心介紹

Windows 95,Andrew Schulman Unauthorized Windows 95 Developers Resource Kit,,Windows,Windows 98,,Windows 98,,,Windows 98Windows NTWindows 2000(NT),,Windows 98,Windows NT Windows 2000 ,Wnidows 98(),, VMM32.VXDLoadVXD,Ring 0,VMM32.VXD,Windows 98(95)Ring 0,VXD,.,VXD(LE),VXD(),,krnl386.exeVMM32.VXDDPMI Client DPMI Server,VMM32.VXDkrnl386.exe( krnl386.exeNE,16-bit),Andrew Schulmancommand.comkrnl386.exe,v86 DOS,Windows 98,WinICE,WindowsDOS V86WinICE,C:\Ctrl+DWinICE,()<Step 1>EXEHDRkrnl386.exe,krnl386.exeKernel,()<Step 2>krnl386.exe,NE,()<Step 3>krnl386.exeEXITKERNEL,krnl386.exeV8616 bit,,Kernel32.dll(Windows System Programming SECRECTS<Matt Pietrek>VWIN32.vxd ,Kernel32.dll,krnl386.exe),Windows 98Shell(system.iniShell = explorer.exe),,.,,Andrew SchulmanWinFile.exeExplorer.exe,Shell,Windows 98(95)Explorer.exe,,,Win 32,,,Win32 () () DriverVXD Service Windows 9820(),()<Step 1> […]

Windows 98動態連結函式庫攔截技巧

,repair_send,Send http://www.sparc14.cc.ncku.edu.tw/e9484110(^_^) () Windows 98WSOCK32.DLL , <Step 1>LoadLibraryAws2_32.dll,ws2_32.dll <Step 2>LoadLibraryAmswsock.dllmswsock.dll <Step 3>wsock32.dllgethostbynameGetProcAddressws2_32.dll <Step 4>wsock32.dllEnumProtocolsAGetProcAddressmswsock.dll () 785C132C MOV ,EAX ,LoadLibraryA(ws2_32.dll)785C6180,785C1335,LoadLibraryA(mswsock.dll)785C6184, 785C1810 PUSH 785C63C0 785C1815 PUSH DWORD PTR 785C181B CALL DWORD PTR GetProcAddress 785C63C0gethostbyname,785C6180LoadLibraryA(ws2_32.dll),HelpGetProcAddress, GetProcAddress( HMODULE hModule, // handle to DLL module LPCSTR lpProcName // name of function ); […]