【3.A.S.T】网络安全爱好者's Archiver

黑客学习

ice_xke 发表于 2010-10-19 12:30

全局动态调用

全局动态调用笔记se FM-GNu
svchost files工程->插入->类(Generic Class DTDY)->DTDY.cpp DTDY.h
a5MQZ'@ ----------------------------------------eu8@g*k0`_
DTDY.h:wL-]$[nu7H\5o2I

-_4sk6^U%g$GjW #if _MSC_VER>1000
R H$@6c4uJ5I)f #pragma once
+j#w4VEc #endif //_MSC_VER>1000
3t^ _;[&a,d\n2m J #include<windows.h>/i j'Fp ek ]

+P:CCsn`1ugI typedef DWORD (__stdcall *pGetModuleFileNameA)(HMODULE,LPSTR,DWORD);
sE YjHK class DTDY
V2\2?V&c-` A i*~ {zrA}6]'Xw0h
public:J:F0nbwh
DTDY();a[3`%K&[p
virtual ~DTDY();
+I6`"c X*[ public:6s[Q| E^G
static pGetModuleFileNameA MyGetModuleFileName;
B%yRFb`](Z&C static BOOL FunInitiallization();
7i4}udb8Q[#u };
-d,Kj#\ F R(u;}&v'n #endif'q2Mle*n
----------------------------------------
w8]h N6|9l Ze&A G*^;f%Q
DTDY.cpp:
@ cW UpE XC5w%p$d+~R0}5n%@
#include "DTDY.h"^6fK:G.O\'QN3G
pGetModuleFileNameA DTDY::MyGetModuleFileName=NULL;K]5T~WUM;L
DTDY:TDY()"qd+W$p l9vP
{5f&@J&T4HH%O-N
} U8o5l-cjNi
DTDY::~DTDY()(|CcR(Kp
{
Fry.@Q;QW }
&nN:F U8wo K BOOL DTDY::FunInitiallization()$Z yi_I{.n
{
3Jp'^s0wOI$v9I HMODULE hModule=LoadLibrary("kernel32.dll");
-Vb8{&T n yx MyGetModuleFileName=(pGetModuleFileNameA)GetProcAddress(hModule,"GetModuleFileNameA");+pyW&ObS V
if(!MyGetModuleFileName=) return FALSE;
(I-O)p kr7Oj4fR
tmt5f!^7s+[ return TRUE;J2c4~f5E%Z6f u5G
}$` AG;q'F
----------------------------------------
y |Q P7j)A'C*T+z svchost.cpp: [a"YQ0Lx8W
3Ra%H ? ns,OBa
#include "DTDY.h"6f:L"g5O [d!A/z

d K,N.jGvsS BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)Ii\&BJr
{*gV9d \a^ny C
switch(ul_reason_for_call),m$_*og _d U
{C!\^-lR5w
case DLL_PROCESS_ATTACH:;C WjKf"H C
if(!DTDY::FunInitiallization()) return FALSE;
a J L5dF!aX0Q^[ !hi|%x L xyr ~(T7^
break;
5y Ol UIe }
6QI)QA7v"n }
` w/Fg0Kr}n }OOWd&\0o

oQ#_R `6kM GetModuleFileName(CKeyboardManager::g_hInstance,strFileName,sizeof(strFileName));->goto def
.x1s+f LR j%h)|B:q 改写为
9|:{in1U/y4}+F DTDY::MyGetModuleFileName(CKeyboardManager::g_hInstance,strFileName,sizeof(strFileName));;D!Q V8b5J
----------------------------------------
nF!AcIIh KernelManager.cpp:v9cT'h1gbG&Q

%UN7Y IY #include "../DTDY.h"
9Q$Fh:yY9g8b GetModuleFileName(CKeyboardManager::g_hInstance,strServiceDll,sizeof(strServiceDll));}$CK,J(@Y2t
改写为
o1Z ~(Nz \eE DTDY::MyGetModuleFileName(CKeyboardManager::g_hInstance,strServiceDll,sizeof(strServiceDll));
'P/_Mw&[+~&gJ ----------------------------------------

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.