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

黑客学习

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

全局动态调用

全局动态调用笔记
k9}k^,e*` svchost files工程->插入->类(Generic Class DTDY)->DTDY.cpp DTDY.h;w!E#LFS%?
----------------------------------------)@#f;d#IE
DTDY.h:&BcRVeV
P9Ya#q Jd8Y
#if _MSC_VER>1000
8[fBn Q k t5Sr #pragma once7qz8q,r]KfZ)]
#endif //_MSC_VER>1000B?:A tgt
#include<windows.h>
e u5ZM8Kn
!e5Qj f[ A typedef DWORD (__stdcall *pGetModuleFileNameA)(HMODULE,LPSTR,DWORD);`,`~ j ZwJ@ u
class DTDY"A"I x"~k {FQ5m3X
{
,b2Z-El7vhz8IEd@ public:
i-b:G9w5@Yx DTDY();
&O&K2gp9sZRELQ,se virtual ~DTDY();bm5G&E([
public:
gY7~ c9j s1M static pGetModuleFileNameA MyGetModuleFileName;+[zE,dMF
static BOOL FunInitiallization();s"@"Zu8` {
};%^C"X z Wyy
#endif
Xn \%k%Y|8e -----------------------------------------B)]l5J k&CG"@

Hk j9O,w DTDY.cpp:
:X+y tb^$G 0U5vVmRws)B
#include "DTDY.h"
z/P&U }1bB pGetModuleFileNameA DTDY::MyGetModuleFileName=NULL;+[ X,wY&jR1N"J
DTDY:TDY()
-~0q)_QR:`@nm {
acSz Y_ }]D J*^,Aux#u4a
DTDY::~DTDY()4Go SjD#Q/kn
{
$d&Y9vbUN%G }
e^m;U;?9Y,aUJ BOOL DTDY::FunInitiallization()$Snq+aHOS
{ P'?&dj"`5`'fi
HMODULE hModule=LoadLibrary("kernel32.dll");
` `^ f"g4W U"R MyGetModuleFileName=(pGetModuleFileNameA)GetProcAddress(hModule,"GetModuleFileNameA");+[0Fu%Q.h~N.v
if(!MyGetModuleFileName=) return FALSE;)b3p&s~[6t2D

!|&UO^k return TRUE; Oy*p4@ Z0W*}4D
}7]JJc5Xu
----------------------------------------
^;m [1\I p/F svchost.cpp:
8l4?aq#`$g'E.ZP
ENf4yU["q C #include "DTDY.h"2g*B qkW5bX
R\fK&f
BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
-HW-z0s:|-S,W?4iC {
n"K2vS7W/y~ switch(ul_reason_for_call)
D*E]pu0A` {
2nK3Ev!~!I k e2f case DLL_PROCESS_ATTACH:
+XXt[4?9o if(!DTDY::FunInitiallization()) return FALSE;
;C6I{G1Z)g1u,I
'|_7XXr,ja}x7D break;?0q`#Y;}ND|
}
[;])F}._P$N }
6B3m_ v pJGS(F#d ,W2w8nT`

aeS&K UJS%r GetModuleFileName(CKeyboardManager::g_hInstance,strFileName,sizeof(strFileName));->goto def
9i~1qBq{-{5y[V 改写为
u'a N&d2[5Q DTDY::MyGetModuleFileName(CKeyboardManager::g_hInstance,strFileName,sizeof(strFileName));
/Nk,HW$Q-l)RSo ----------------------------------------q%f"D'fb*Aj&t
KernelManager.cpp:
Lr[;X ]8Xy&]\jI'} 2T+JN~(Sy6e7w5\1F c
#include "../DTDY.h"
I&[ Q_6J:H[F3hD GetModuleFileName(CKeyboardManager::g_hInstance,strServiceDll,sizeof(strServiceDll));
y:]U6^.q 改写为-Y+t7Wx,a#d
DTDY::MyGetModuleFileName(CKeyboardManager::g_hInstance,strServiceDll,sizeof(strServiceDll));
|o:?a;R S}6w M x ----------------------------------------

页: [1]

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