[1173] 2021-03-10_使用C#进行直接系统调用syscall

文档创建者:s7ckTeam
浏览次数:6
最后更新:2025-01-16
2021-03-10_使用C#进行直接系统调用syscall 使 C # s y s c a l l Y 4 e r   C h a B u g   2 0 2 1 - 0 3 - 1 0 s y s c a l l 使 s y s c a l l e d r h o o k 使 c c # C # s y s c a l l 1 . h t t p s : / / j h a l o n . g i t h u b . i o / u t i l i z i n g - s y s c a l l s - i n - c s h a r p - 1 / 2 . h t t p s : / / j h a l o n . g i t h u b . i o / u t i l i z i n g - s y s c a l l s - i n - c s h a r p - 2 / 3 . h t t p s : / / g i t h u b . c o m / j h a l o n / S h a r p C a l l s y s c a l l W i n d o w s
i m a g e . p n g s y s c a l l 使 P r o c e s s M o n i t o r
i m a g e . p n g ( U s e r   M o d e ) ( K e r n e l   M o d e ) C r e a t e F i l e K e r n e l B a s e . d l l ! C r e a t e F i l e W - > n t d l l . d l l ! N t C r e a t e F i l e - > n t o s k r n l . e x e ! N t C r e a t e F i l e N t C r e a t e F i l e n t d l l . d l l n t o s k r n l . e x e n t d l l . d l l W i n d o w s A P I n t o s k r n l ( A P I ) C P U W i n D B G A t t a c h x   n t d l l ! N t C r e a t e F i l e
i m a g e . p n g N t C r e a t e F i l e s y s c a l l C P U N t C r e a t e F i l e Z w C r e a t e F i l e 使 使 s y s c a l l c p p a s m N t C r e a t e F i l e   s y s c a l l C # C # . n e t   C L R C L R C # C L R c p p m o v           r 1 0 , r c x m o v           e a x , 5 5 h s y s c a l l r e t m o v           r 1 0 , r c x m o v           e a x , 5 5 h s y s c a l l r e t
C # P / I n v o k e P / I n v o k e C # 访 D L L S y s t e m . R u n t i m e . I n t e r o p S e r v i c e s M e s s a g e B o x P / I n v o k e D l l I m p o r t u s e r 3 2 . d l l M e s s a g e B o x i m a g e . p n g P / I n v o k e ( P l a t f o r m   I n v o k e ) u s i n g   S y s t e m ; u s i n g   S y s t e m . R u n t i m e . I n t e r o p S e r v i c e s ; p u b l i c   c l a s s   P r o g r a m {         [ D l l I m p o r t ( " u s e r 3 2 . d l l " ,   C h a r S e t   =   C h a r S e t . U n i c o d e ,   S e t L a s t E r r o r   =   t r u e ) ]         p r i v a t e   s t a t i c   e x t e r n   i n t   M e s s a g e B o x ( I n t P t r   h W n d ,   s t r i n g   l p T e x t ,   s t r i n g   l p C a p t i o n ,   u i n t   u T y p e ) ;         p u b l i c   s t a t i c   v o i d   M a i n ( s t r i n g [ ]   a r g s )         {                 M e s s a g e B o x ( I n t P t r . Z e r o ,   " H e l l o   f r o m   u n m a n a g e d   c o d e ! " ,   " T e s t ! " ,   0 ) ;         } }
C #   D e l e g a t e   C     C + +   D e l e g a t e   D e l e g a t e D e l e g a t e   S y s t e m . D e l e g a t e   P / I n v o k e s y s c a l l E n u m W i n d o w s P r o c E n u m W i n d o w s   A P I E n u m W i n d o w s O u t p u t W i n d o w O u t p u t W i n d o w u s i n g   S y s t e m ; u s i n g   S y s t e m . R u n t i m e . I n t e r o p S e r v i c e s ; n a m e s p a c e   P r o g r a m {         p u b l i c   s t a t i c   c l a s s   P r o g r a m         {                 / /                   p r i v a t e   d e l e g a t e   b o o l   E n u m W i n d o w s P r o c ( I n t P t r   h w n d ,   I n t P t r   l P a r a m ) ;                 / /   u s e r 3 2 . d l l                 [ D l l I m p o r t ( " u s e r 3 2 . d l l " ) ]                 p r i v a t e   s t a t i c   e x t e r n   i n t   E n u m W i n d o w s ( E n u m W i n d o w s P r o c   l p E n u m F u n c ,   I n t P t r   l P a r a m ) ;                 / /                     p r i v a t e   s t a t i c   b o o l   O u t p u t W i n d o w ( I n t P t r   h w n d ,   I n t P t r   l P a r a m )                 {                         C o n s o l e . W r i t e L i n e ( h w n d . T o I n t 6 4 ( ) ) ;                         r e t u r n   t r u e ;                 }                 p u b l i c   s t a t i c   v o i d   M a i n ( s t r i n g [ ]   a r g s )                 {                         / /                             E n u m W i n d o w s ( O u t p u t W i n d o w ,   I n t P t r . Z e r o ) ;                         C o n s o l e . R e a d K e y ( ) ;                 }         } } B O O L   E n u m W i n d o w s (     W N D E N U M P R O C   l p E n u m F u n c ,     L P A R A M             l P a r a m ) ;
c p p V i r t u a l A l l o c s h e l l c o d e T y p e   m a r s h a l i n g M a r s h a l . G e t D e l e g a t e F o r F u n c t i o n P o i n t e r N t O p e n P r o c e s s T y p e   m a r s h a l i n g n a t i v e   c o d e u s i n g   S y s t e m ; u s i n g   S y s t e m . C o m p o n e n t M o d e l ; u s i n g   S y s t e m . R u n t i m e . I n t e r o p S e r v i c e s ; n a m e s p a c e   S h a r p C a l l {         c l a s s   S y s c a l l s         {                 / /   N t O p e n P r o c e s s   S y s c a l l   A S M                 s t a t i c   b y t e [ ]   b N t O p e n P r o c e s s   =                 {                         0 x 4 C ,   0 x 8 B ,   0 x D 1 ,                               / /   m o v   r 1 0 ,   r c x                         0 x B 8 ,   0 x 2 6 ,   0 x 0 0 ,   0 x 0 0 ,   0 x 0 0 ,       / /   m o v   e a x ,   0 x 2 6   ( N t O p e n P r o c e s s   S y s c a l l )                         0 x 0 F ,   0 x 0 5 ,                                           / /   s y s c a l l                         0 x C 3                                                         / /   r e t                 } ;                 p u b l i c   s t a t i c   N T S T A T U S   N t O p e n P r o c e s s (                         / /   F i l l   N t O p e n P r o c e s s   P a r a m t e r s )                 {                         / /   s e t   b y t e   a r r a y   o f   b N t O p e n P r o c e s s   t o   n e w   b y t e   a r r a y   c a l l e d   s y s c a l l                         b y t e [ ]   s y s c a l l   =   b N t O p e n P r o c e s s ;                         / /   s p e c i f y   u n s a f e   c o n t e x t                         u n s a f e                         {                                 / /   c r e a t e   n e w   b y t e   p o i n t e r   a n d   s e t   v a l u e   t o   o u r   s y s c a l l   b y t e   a r r a y                                 f i x e d   ( b y t e *   p t r   =   s y s c a l l )                                 {                                         / /   c a s t   t h e   b y t e   a r r a y   p o i n t e r   i n t o   a   C #   I n t P t r   c a l l e d   m e m o r y A d d r e s s                                         I n t P t r   m e m o r y A d d r e s s   =   ( I n t P t r ) p t r ;                                 }                         }                 }         } }
W i n D B G N t O p e n P r o c e s s u n s a f e f i x e d C L R m e m o r y A d d r e s s 使 M a r s h a l . G e t D e l e g a t e F o r F u n c t i o n P o i n t e r s y s c a l l N t C r e a t e F i l e w i n d b g a p i N T S T A T U S A C C E S S _ M A S K O B J E C T _ A T T R I B U T E S h t t p s : / / w w w . p i n v o k e . n e t /   c # S h a r p S y s C a l l N a t i v e . c s [ 1 ] } 0 : 0 0 1 >   x   n t d l l ! N t C r e a t e F i l e 0 0 0 0 7 f f 8 ` 5 0 f a d 0 b 0   n t d l l ! N t C r e a t e F i l e   ( N t C r e a t e F i l e ) 0 : 0 0 1 >   u   0 0 0 0 7 f f 8 ` 5 0 f a d 0 b 0 n t d l l ! N t C r e a t e F i l e : 0 0 0 0 7 f f 8 ` 5 0 f a d 0 b 0   4 c 8 b d 1                     m o v           r 1 0 , r c x 0 0 0 0 7 f f 8 ` 5 0 f a d 0 b 3   b 8 5 5 0 0 0 0 0 0             m o v           e a x , 5 5 h 0 0 0 0 7 f f 8 ` 5 0 f a d 0 b 8   f 6 0 4 2 5 0 8 0 3 f e 7 f 0 1   t e s t         b y t e   p t r   [ S h a r e d U s e r D a t a + 0 x 3 0 8   ( 0 0 0 0 0 0 0 0 ` 7 f f e 0 3 0 8 ) ] , 1 0 0 0 0 7 f f 8 ` 5 0 f a d 0 c 0   7 5 0 3                         j n e           n t d l l ! N t C r e a t e F i l e + 0 x 1 5   ( 0 0 0 0 7 f f 8 ` 5 0 f a d 0 c 5 ) 0 0 0 0 7 f f 8 ` 5 0 f a d 0 c 2   0 f 0 5                         s y s c a l l 0 0 0 0 7 f f 8 ` 5 0 f a d 0 c 4   c 3                             r e t 0 0 0 0 7 f f 8 ` 5 0 f a d 0 c 5   c d 2 e                         i n t           2 E h 0 0 0 0 7 f f 8 ` 5 0 f a d 0 c 7   c 3                             r e t _ _ k e r n e l _ e n t r y   N T S T A T U S   N t C r e a t e F i l e (     P H A N D L E                         F i l e H a n d l e ,     A C C E S S _ M A S K                 D e s i r e d A c c e s s ,     P O B J E C T _ A T T R I B U T E S   O b j e c t A t t r i b u t e s ,     P I O _ S T A T U S _ B L O C K       I o S t a t u s B l o c k ,     P L A R G E _ I N T E G E R           A l l o c a t i o n S i z e ,     U L O N G                             F i l e A t t r i b u t e s ,     U L O N G                             S h a r e A c c e s s ,     U L O N G                             C r e a t e D i s p o s i t i o n ,     U L O N G                             C r e a t e O p t i o n s ,     P V O I D                             E a B u f f e r ,     U L O N G                             E a L e n g t h ) ;
N t C r e a t e F i l e   s t a t i c   b y t e [ ]   b N t C r e a t e F i l e   =                 {                                   0 x 4 C ,   0 x 8 B ,   0 x D 1 ,                               / /   m o v   r 1 0 ,   r c x                         0 x B 8 ,   0 x 5 5 ,   0 x 0 0 ,   0 x 0 0 ,   0 x 0 0 ,       / /   m o v   e a x ,   0 x 5 5   ( N t C r e a t e F i l e   S y s c a l l )                         0 x 0 F ,   0 x 0 5 ,                                           / /   s y s c a l l                         0 x C 3                                                         / /   r e t                 } ;
N t C r e a t e F i l e W i n d o w s 访 w i n d b g N t C r e a t e F i l e P A G E _ E X E C U T E _ R E A D 0 : 0 0 1 >   ! a d d r e s s   0 0 0 0 7 f f 8 ` 5 0 f a d 0 b 0 M a p p i n g   f i l e   s e c t i o n   r e g i o n s . . . M a p p i n g   m o d u l e   r e g i o n s . . . M a p p i n g   P E B   r e g i o n s . . . M a p p i n g   T E B   a n d   s t a c k   r e g i o n s . . . M a p p i n g   h e a p   r e g i o n s . . . M a p p i n g   p a g e   h e a p   r e g i o n s . . . M a p p i n g   o t h e r   r e g i o n s . . . M a p p i n g   s t a c k   t r a c e   d a t a b a s e   r e g i o n s . . . M a p p i n g   a c t i v a t i o n   c o n t e x t   r e g i o n s . . . U s a g e :                                     I m a g e B a s e   A d d r e s s :                       0 0 0 0 7 f f 8 ` 5 0 f 1 1 0 0 0 E n d   A d d r e s s :                         0 0 0 0 7 f f 8 ` 5 1 0 2 c 0 0 0 R e g i o n   S i z e :                         0 0 0 0 0 0 0 0 ` 0 0 1 1 b 0 0 0   (       1 . 1 0 5   M B ) S t a t e :                                     0 0 0 0 1 0 0 0                     M E M _ C O M M I T P r o t e c t :                                 0 0 0 0 0 0 2 0                     P A G E _ E X E C U T E _ R E A D T y p e :                                       0 1 0 0 0 0 0 0                     M E M _ I M A G E A l l o c a t i o n   B a s e :                 0 0 0 0 7 f f 8 ` 5 0 f 1 0 0 0 0 A l l o c a t i o n   P r o t e c t :           0 0 0 0 0 0 8 0                     P A G E _ E X E C U T E _ W R I T E C O P Y I m a g e   P a t h :                           C : W i n d o w s S Y S T E M 3 2 n t d l l . d l l M o d u l e   N a m e :                         n t d l l L o a d e d   I m a g e   N a m e :             C : W i n d o w s S Y S T E M 3 2 n t d l l . d l l M a p p e d   I m a g e   N a m e :            
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则