[19594] 2020-03-17_干货分享丨表哥带你学习导入表及导入表注入

文档创建者:s7ckTeam
浏览次数:3
最后更新:2025-01-18
2020-03-17_干货分享丨表哥带你学习导入表及导入表注入   f l a g 0   i   2 0 2 0 - 0 3 - 1 7   i   f l a g 0 1 5 i     D L L 便 d l l   I M A G E _ I M P O R T _ D E S C R I P T O R
O r i g i n a l F i r s t T h u n k   I N T ( I m p o r t   N a m e   T a b l e ) R V A I N T I M A G E _ T H U N K _ D A T A 0 I M A G E _ T H U N K _ D A T A I M A G E _ T H U N K _ D A T A I M A G E _ I M P O R T _ B Y _ N A M E T i m e D a t a S t a m p   - 1 N a m e R V A F i r s t T h u n k   I A T ( I m p o r t   A d d r e s s   T a b l e ) R V A I A T I N T I M A G E _ T H U N K _ D A T A   I A T I N T d l l I A T I A T d l l I m a g e B a s e d l l I A T W i n d o w s I M A G E _ T H U N K _ D A T A t y p e d e f   s t r u c t   _ I M A G E _ I M P O R T _ D E S C R I P T O R {         u n i o n {                 D W O R D   C h a r a c t e r i s t i c s ;                 D W O R D   O r i g i n a l F i r s t T h u n k ;         } ;         D W O R D   T i m e D a t a S t a m p ;         D W O R D   F o r w a r d e r C h a i n ;         D W O R D   N a m e ;         D W O R D   F i r s t T h u n k ; }   I M A G E _ I M P O R T _ D E S C R I P T O R ; t y p e d e f   I M A G E _ I M P O R T _ D E S C R I P T O R   U N A L G N E D   * P I M A G E _ I M P O R T _ D E S C R I P T O R ;
O r d i n a l   A P I A d d r e s s O f D a t a   I M A G E _ I M P O R T _ B Y _ N A M E R V A I M A G E _ T H U N K _ D A T A 1 3 1 0 R V A I M A G E _ I M P O R T _ B Y _ N A M E I M A G E _ I M P O R T _ B Y _ N A M E H i n t   D L L N a m e   0 I A T   I A T P E P E O r i g i n a l F i r s t T h u n k I N T I M A G E _ I M P O R T _ B Y _ N A M E F i r s t T h u n k I M A G E _ T H U N K _ D A T A t y p e d e f   s t r u c t   _ I M A G E _ T H U N K _ D A T A 3 2   {                                                                                 u n i o n   {                                                                                   P B Y T E     F o r w a r d e r S t r i n g ;                                                                                   P D W O R D   F u n c t i o n ;                                                                                         D W O R D   O r d i n a l ;                                   P I M A G E _ I M P O R T _ B Y _ N A M E     A d d r e s s O f D a t a ;         }   u 1 ;                                                                       }   I M A G E _ T H U N K _ D A T A 3 2 ;                                                                       t y p e d e f   I M A G E _ T H U N K _ D A T A 3 2   *   P I M A G E _ T H U N K _ D A T A 3 2 ; t y p e d e f   s t r u c t   _ I M A G E _ I M P O R T _ B Y _ N A M E   {         W O R D         H i n t ;                     B Y T E         N a m e [ 1 ] ;                                                       }   I M A G E _ I M P O R T _ B Y _ N A M E ,   * P I M A G E _ I M P O R T _ B Y _ N A M E ;
I N T I A T P E I A T F i r s t T h u n k F O A ( 2 3 2 8 0 ) - > I M A G E _ T H U N K _ D A T A 3 2 ( 0 2 4 2 B C ) - > I M A G E _ I M P O R T _ B Y _ N A M E ( 2 3 2 B 0 ) - > N a m e = " M e s s a g e B o x A "
F i r s t T h u n k F O A ( 4 2 4 2 8 C ) - > I M A G E _ T H U N K _ D A T A 3 2 ( 7 7 D 5 0 5 0 B )     V i r t u a l A d d r e s s   R V A F O A D W O R D   N a m e
D L L I N T O r i g i n a l F i r s t T h u n k I N T I M A G E _ T H U N K _ D A T A 1 1 0 I M A G E _ I M P O R T _ B Y _ N A M E R V A F O A I M A G E _ I M P O R T _ B Y _ N A M E I A T F i r s t T h u n k I A T / /   P r i n t I m p o r t . c p p   :   D e f i n e s   t h e   e n t r y   p o i n t   f o r   t h e   c o n s o l e   a p p l i c a t i o n . / / # i n c l u d e   " s t d a f x . h " # i n c l u d e   " s t d l i b . h " # i n c l u d e   " w i n d o w s . h " s i z e _ t   F i l e L e n g t h ( F I L E   * f p ) {         s i z e _ t   n u m ;         f s e e k ( f p , 0 , S E E K _ E N D ) ; / /         n u m   =   f t e l l ( f p ) ; / /         f s e e k ( f p , 0 , S E E K _ S E T ) ;         r e t u r n   n u m ; } L P V O I D   r e a d F i l e ( P C H A R   p a t h ) / / {         F I L E *   f p ;         s i z e _ t   l e n ;         L P V O I D   p F i l e B u f f e r ;         f p   =   f o p e n ( p a t h , " r b " ) ;         i f ( f p   = =   N U L L )         {                 p r i n t f ( " e r r o r n " ) ;
        }         l e n   =   F i l e L e n g t h ( f p ) ; / /         p F i l e B u f f e r   =   ( L P V O I D ) m a l l o c ( l e n ) ; / /         f r e a d ( p F i l e B u f f e r , l e n , 1 , f p ) ;         f c l o s e ( f p ) ;         r e t u r n   p F i l e B u f f e r ; } D W O R D   R V A T O F O A ( D W O R D   R V A , L P V O I D   p F i l e B u f f e r ) {         D W O R D   F O A   =   N U L L ;         P I M A G E _ D O S _ H E A D E R   p D o s H e a d e r   =   N U L L ;         P I M A G E _ N T _ H E A D E R S   p N t H e a d e r s   =   N U L L ;         P I M A G E _ F I L E _ H E A D E R   p F i l e H e a d e r   =   N U L L ;         P I M A G E _ O P T I O N A L _ H E A D E R   p O p t i o n a l H e a d e r   =   N U L L ;         P I M A G E _ S E C T I O N _ H E A D E R   p S e c t i o n H e a d e r   =   N U L L ;         p D o s H e a d e r   =   ( P I M A G E _ D O S _ H E A D E R ) p F i l e B u f f e r ;         p N t H e a d e r s   =   ( P I M A G E _ N T _ H E A D E R S ) ( ( D W O R D ) p D o s H e a d e r   +   p D o s H e a d e r - > e _ l f a n e w ) ;         p F i l e H e a d e r   =   ( P I M A G E _ F I L E _ H E A D E R ) ( ( D W O R D ) p N t H e a d e r s   +   4 ) ;         p O p t i o n a l H e a d e r   =   ( P I M A G E _ O P T I O N A L _ H E A D E R ) ( ( D W O R D ) p F i l e H e a d e r   +   I M A G E _ S I Z E O F _ F I L E _ H E A D E R ) ;         p S e c t i o n H e a d e r   =   ( P I M A G E _ S E C T I O N _ H E A D E R ) ( ( D W O R D ) p O p t i o n a l H e a d e r   +   p F i l e H e a d e r - > S i z e O f O p t i o n a l H e a d e r ) ;         i f ( R V A   < =   p O p t i o n a l H e a d e r - > S i z e O f H e a d e r s )                 r e t u r n   R V A ;         / / I m a g e B a s e   R V A F i l e A l i m e n t S e c t i o n A l i m e n t R V A         f o r ( ; R V A   >   ( p S e c t i o n H e a d e r - > V i r t u a l A d d r e s s   +   p S e c t i o n H e a d e r - > M i s c . V i r t u a l S i z e ) ; p S e c t i o n H e a d e r + + ) ; / /         F O A   =   R V A   -   p S e c t i o n H e a d e r - > V i r t u a l A d d r e s s   +   p S e c t i o n H e a d e r - > P o i n t e r T o R a w D a t a ;         r e t u r n   F O A ; } D W O R D   F O A T O R V A ( D W O R D   F O A , L P V O I D   p F i l e B u f f e r ) {
{         D W O R D   R V A   =   N U L L ;         P I M A G E _ D O S _ H E A D E R   p D o s H e a d e r   =   N U L L ;         P I M A G E _ N T _ H E A D E R S   p N t H e a d e r s   =   N U L L ;         P I M A G E _ F I L E _ H E A D E R   p F i l e H e a d e r   =   N U L L ;         P I M A G E _ O P T I O N A L _ H E A D E R   p O p t i o n a l H e a d e r   =   N U L L ;         P I M A G E _ S E C T I O N _ H E A D E R   p S e c t i o n H e a d e r   =   N U L L ;         p D o s H e a d e r   =   ( P I M A G E _ D O S _ H E A D E R ) p F i l e B u f f e r ;         p N t H e a d e r s   =   ( P I M A G E _ N T _ H E A D E R S ) ( ( D W O R D ) p D o s H e a d e r   +   p D o s H e a d e r - > e _ l f a n e w ) ;         p F i l e H e a d e r   =   ( P I M A G E _ F I L E _ H E A D E R ) ( ( D W O R D ) p N t H e a d e r s   +   4 ) ;         p O p t i o n a l H e a d e r   =   ( P I M A G E _ O P T I O N A L _ H E A D E R ) ( ( D W O R D ) p F i l e H e a d e r   +   I M A G E _ S I Z E O F _ F I L E _ H E A D E R ) ;         p S e c t i o n H e a d e r   =   ( P I M A G E _ S E C T I O N _ H E A D E R ) ( ( D W O R D ) p O p t i o n a l H e a d e r   +   p F i l e H e a d e r - > S i z e O f O p t i o n a l H e a d e r ) ;         i f ( F O A   < =   p O p t i o n a l H e a d e r - > S i z e O f H e a d e r s )                 r e t u r n   F O A ;         / / I m a g e B a s e   R V A F i l e A l i m e n t S e c t i o n A l i m e n t R V A         f o r ( ; F O A   >   ( p S e c t i o n H e a d e r - > V i r t u a l A d d r e s s   +   p S e c t i o n H e a d e r - > M i s c . V i r t u a l S i z e ) ; p S e c t i o n H e a d e r + + ) ; / /         R V A   =   F O A   -   p S e c t i o n H e a d e r - > P o i n t e r T o R a w D a t a   +   p S e c t i o n H e a d e r - > V i r t u a l A d d r e s s   ;         r e t u r n   R V A ; } V O I D   P r i n t I m p o r t ( L P V O I D   p F i l e B u f f e r ) {         P I M A G E _ D O S _ H E A D E R   p D o s H e a d e r   =   N U L L ; / / D O S         P I M A G E _ N T _ H E A D E R S   p N t H e a d e r s   =   N U L L ; / / N T         P I M A G E _ F I L E _ H E A D E R   p F i l e H e a d e r   =   N U L L ; / / P E         P I M A G E _ O P T I O N A L _ H E A D E R   p O p t i o n a l H e a d e r   =   N U L L ; / / P E         P I M A G E _ S E C T I O N _ H E A D E R   p S e c t i o n H e a d e r   =   N U L L ; / /         P I M A G E _ S E C T I O N _ H E A D E R   p N e w S e c   =   N U L L ; / /         P I M A G E _ E X P O R T _ D I R E C T O R Y   p E x p o r t D i r e c t o r y   =   N U L L ;   / /         P I M A G E _ I M P O R T _ D E S C R I P T O R   p I m p o r t D e s c r i p t o p   =   N U L L ; / /         p D o s H e a d e r   =   ( P I M A G E _ D O S _ H E A D E R ) p F i l e B u f f e r ;         p N t H e a d e r s   =   ( P I M A G E _ N T _ H E A D E R S ) ( ( D W O R D ) p D o s H e a d e r   +   p D o s H e a d e r - > e _ l f a n e w ) ;
        p F i l e H e a d e r   =   ( P I M A G E _ F I L E _ H E A D E R ) ( ( D W O R D ) p N t H e a d e r s   +   4 ) ;         p O p t i o n a l H e a d e r   =   ( P I M A G E _ O P T I O N A L _ H E A D E R ) ( ( D W O R D ) p F i l e H e a d e r   +   I M A G E _ S I Z E O F _ F I L E _ H E A D E R ) ;         / /         D W O R D   o f f s e t I m p o r t F o a   =   R V A T O F O A ( p O p t i o n a l H e a d e r - > D a t a D i r e c t o r y [ 1 ] . V i r t u a l A d d r e s s , p F i l e B u f f e r ) ;         / / p r i n t f ( ) ;         p I m p o r t D e s c r i p t o p   =   ( P I M A G E _ I M P O R T _ D E S C R I P T O R ) ( ( D W O R D ) p F i l e B u f f e r   +   o f f s e t I m p o r t F o a ) ;         w h i l e ( p I m p o r t D e s c r i p t o p - > N a m e   ! =   N U L L   & &   p I m p o r t D e s c r i p t o p - > O r i g i n a l F i r s t T h u n k   ! =   N U L L   & &   p I m p o r t D e s c r i p t o p - > F i r s t T h u n k   ! =   N U L L )         {                 D W O R D   o f f s e t D l l N a m e F o a   =   R V A T O F O A ( p I m p o r t D e s c r i p t o p - > N a m e , p F i l e B u f f e r ) ;                 P C H A R   D l l N a m e   =   ( P C H A R ) ( ( D W O R D ) p F i l e B u f f e r   +   o f f s e t D l l N a m e F o a ) ;                 p r i n t f ( " n D L L N a m e : % s   " , D l l N a m e ) ;                 p r i n t f ( " O r i g i n a l F i r s t T h u n k : % x n " , p I m p o r t D e s c r i p t o p - > O r i g i n a l F i r s t T h u n k ) ;                 D W O R D   o f f s e t T h u n k F O A   =   R V A T O F O A ( p I m p o r t D e s c r i p t o p - > O r i g i n a l F i r s t T h u n k , p F i l e B u f f e r ) ;                 P D W O R D   I m a g e T h u n k   =   ( P D W O R D ) ( ( D W O R D ) p F i l e B u f f e r   +   o f f s e t T h u n k F O A ) ;                 p r i n t f ( " = = = = = = I N T = = = = = = n " ) ;                 w h i l e ( * I m a g e T h u n k   ! =   0 x 0 0 0 0 )                 {                         p r i n t f ( " T h u n k V a l u e : % x     " , * I m a g e T h u n k ) ;                         P I M A G E _ I M P O R T _ B Y _ N A M E   I B N a m e   =   N U L L ;                         t r y {                                 i f ( * I m a g e T h u n k   &   0 x 8 0 0 0 0 0 0 0 )                                 {                                         p r i n t f ( " : % x n " , * I m a g e T h u n k   &   0 x 7 F F F F F F F ) ;                                 } e l s e                                 {                                         D W O R D   I B N a m e F o a   =   R V A T O F O A ( * I m a g e T h u n k , p F i l e B u f f e r ) ;                                         I B N a m e   =   ( P I M A G E _ I M P O R T _ B Y _ N A M E ) ( ( D W O R D ) p F i l e B u f f e r + I B N a m e F o a ) ;                                         p r i n t f ( " H i t   N a m e : % x - % s n " , I B N a m e - > H i n t , I B N a m e - > N a m e ) ;                                 }                                 I m a g e T h u n k + + ;                         } c a t c h ( . . . )                         {                                 p r i n t f ( " n " ) ;                                 I m a g e T h u n k + + ;
                        }                 }                 p r i n t f ( " = = = = = = I A T = = = = = = n " ) ;                 D W O R D   F i r s t T h u n k F O A   =   R V A T O F O A ( p I m p o r t D e s c r i p t o p - > F i r s t T h u n k , p F i l e B u f f e r ) ;                 I m a g e T h u n k   =   ( P D W O R D ) ( ( D W O R D ) p F i l e B u f f e r   +   F i r s t T h u n k F O A ) ;                 w h i l e ( * I m a g e T h u n k   ! =   0 x 0 0 0 0 )                 {                         p r i n t f ( " T h u n k V a l u e : % x     " , * I m a g e T h u n k ) ;                         P I M A G E _ I M P O R T _ B Y _ N A M E   I B N a m e   =   N U L L ;                         t r y {                                 i f ( * I m a g e T h u n k   &   0 x 8 0 0 0 0 0 0 0 )                                 {                                         p r i n t f ( " : % x n " , * I m a g e T h u n k   &   0 x 7 F F F F F F F ) ;                                 } e l s e                                 {                                         D W O R D   I B N a m e F o a   =   R V A T O F O A ( * I m a g e T h u n k , p F i l e B u f f e r ) ;                                         I B N a m e   =   ( P I M A G E _ I M P O R T _ B Y _ N A M E ) ( ( D W O R D ) p F i l e B u f f e r + I B N a m e F o a ) ;                                         p r i n t f ( " H i t   N a m e : % x - % s n " , I B N a m e - > H i n t , I B N a m e - > N a m e ) ;                                 }                                 I m a g e T h u n k + + ;                         } c a t c h ( . . . )                         {                                 p r i n t f ( " n " ) ;                                 I m a g e T h u n k + + ;                         }                 }                 p I m p o r t D e s c r i p t o p + + ;         } } i n t   m a i n ( i n t   a r g c ,   c h a r *   a r g v [ ] ) {         L P V O I D   p F i l e B u f f e r   =   N U L L ;         L P V O I D   p N e w S e c F o a   =   N U L L ;         P C H A R   p a t h   =   " C : . e x e . " ;         p F i l e B u f f e r   =   r e a d F i l e ( p a t h ) ;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则