[18487] 2019-07-30_逆向工程——栈[三]

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-18
2019-07-30_逆向工程——栈[三] [ ] H A C K   H A C K   2 0 1 9 - 0 7 - 3 0 C P U x 8 6 / x 6 4 A R M   x 8 6     A R M   T h u m b   E S P / R S P / S P 使 P U S H S t a c k   P i o n t e r , . S t a c k   P o i n t e r P U S H P O P 使 A R M d e s c e n d i n g   s t a c k ) S T M F A / L M D F A S T M F D / L D M F D S T M E D L D M E A E S P / R S P S P P U S H P O P P U S H 4 ( 3 2 8 ( 6 4 P O P 4 8
x 8 6 使 c a l l c a l l c a l l c a l l P U S H J M P R E T P O P + J M P 使 线 使 M S V C 2 0 0 8 , / O x , , , G C C   4 . 4 . 1     M S V C   ,   G C C   A R M A R M 使 h e l l o   w o r l d L R L R L R v o i d   f ( ) { f ( ) ; } c : t m p 6 > c l   s s . c p p   / F a s s . a s m M i c r o s o f t   ( R )   3 2 - b i t   C / C + +   O p t i m i z i n g   C o m p i l e r   V e r s i o n   1 5 . 0 0 . 2 1 0 2 2 . 0 8   f o r   8 0 x 8 6 C o p y r i g h t   ( C )   M i c r o s o f t   C o r p o r a t i o n .   A l l   r i g h t s   r e s e r v e d . s s . c p p c : t m p 6 s s . c p p ( 4 )   :   w a r n i n g   C 4 7 1 7 : f   :   r e c u r s i v e   o n   a l l   c o n t r o l   p a t h s .   F u n c t i o n   w i l l   c a u s e   r u n t i m e   s t a c k   o v e r f l o w ? f @ @ Y A X X Z   P R O C   ;   f ;   F i l e   c : t m p 6 s s . c p p ;   L i n e   2 p u s h   e b p m o v   e b p ,   e s p ;   L i n e   3 c a l l   ? f @ @ Y A X X Z   ;   f ;   L i n e   4 p o p   e b p r e t   0 ? f @ @ Y A X X Z   E N D P   ;   f ? f @ @ Y A X X Z   P R O C   ;   f ;   F i l e   c : t m p 6 s s . c p p ;   L i n e   2 $ L L 3 @ f : ;   L i n e   3 j m p   S H O R T   $ L L 3 @ f ? f @ @ Y A X X Z   E N D P   ;   f P U S H   R 4 - R 7 , L R
, L R L R , 使 R A M , x 8 6   , x 8 6   , c d e c l   c d e c l , : C a l l e e   f u n c t i o n g s ) f ( ) E S P E S P + 4 a r g 1 , I D A a r g 0 E S P + 8 a r g 2 , I D A a r g 4 E S P + 0 x C a r g 4 , I D A a r g 8 使 使 h e a p , E A X x 8 6   A R M , 使 , 便 , , ( % )   p r i n t f ( ) :   p r i n t f ( )   1 2 3 4 ,   1 2 3 4   ,   m a i n ( )   m a i n ( ) , m a i n ( i n t   a r g c ,   c h a r a r g v [ ] )   m a i n ( i n t   a r g c ,   c h a r   a r g v [ ] ,   c h a r   * e n v p [ ] )   C R T     m a i n ( ) P U S H   R 4 - R 7 , L R P O P   R 4 - R 7 , P C l e a f   f u n c t i o n p u s h   a r g 3 p u s h   a r g 2 p u s h   a r g 1 c a l l   f a d d   e s p , 1 2   4 * 3 = 1 2 p r i n t f ( " % d   % d   % d " ,   1 2 3 4 ) ; p u s h   e n v p p u s h   a r g v p u s h   a r g c c a l l   m a i n
使   m a i n ( ) 便 , ; ,   m a i n ( ) m a i n ( i n t   a r g c , c h a r * a r g v [ ] ) , 访 , 使 ,   m a i n (   i n t   a r g c ) , x 8 6 a l l o c a ( ) a l l o c a 0 使 m a l l o c ( ) . E S P a l l o c a 使 f r e e a l l o c a ( ) E S P E S P s n p r i n t p r i n t f 0 p r i n f s t d o u t t e r m i n a l c o n s o l e s n p r i n t f b u f p u t s b u f s t d o u t p r i n t f _ s n p r i n t f 1 p u t s M S V C 使   M S V C   2 0 1 0   ,   5 . 1   M S V C   2 0 1 0 # i f d e f   _ _ G N U C _ _ # i n c l u d e   < a l l o c a . h >   / /   G C C # e l s e # i n c l u d e   < m a l l o c . h >   / /   M S V C # e n d i f # i n c l u d e   < s t d i o . h > v o i d   f ( ) { c h a r   * b u f = ( c h a r * ) a l l o c a   ( 6 0 0 ) ; # i f d e f   _ _ G N U C _ _ s n p r i n t f   ( b u f ,   6 0 0 ,   " h i !   % d ,   % d ,   % d n " ,   1 ,   2 ,   3 ) ;   / /   G C C # e l s e _ s n p r i n t f   ( b u f ,   6 0 0 ,   " h i !   % d ,   % d ,   % d n " ,   1 ,   2 ,   3 ) ;   / /   M S V C # e n d i f p u t s   ( b u f ) ; } m o v   e a x , 6 0 0   ; 0 0 0 0 0 2 5 8 H c a l l   _ _ a l l o c a _ p r o b e _ 1 6 m o v   e s i , e s p p u s h   3 p u s h   2 p u s h   1 p u s h   S F F S E T   $ S G 2 6 7 2 p u s h   6 0 0   ; 0 0 0 0 0 2 5 8 H p u s h   e s i c a l l   _ p u t s a d d   e s p , 2 8   ; 0 0 0 0 0 1 c H
a l l o c a ( ) 使 使 E A X a l l o c a a l l o c a ( ) E S P 6 0 0 b u f G C C   I n t e l G C C   4 . 4 . 1     5 . 2   G C C   4 . 7 . 3 G C C +   A T & T A T & T I n t e l   I n t e l   + , A T & T   . L C 0 : . s t r i n g   " h i ! % d , % d , % d n " f : p u s h e b p m o v   e b p , e s p p u s h   e b x s u b   e s p , 6 6 0 l e a   e b x , [ e s p + 3 9 ] a n d   e b x , - 1 6   ; a l i g n   p o i n t e r   b y   1 6 - b i t   b o r d e r m o v   D W O R D   P T R   [ e s p ] , e b x   ; s m o v   D W O R D   P T R   [ e s p + 2 0 ] , 3 m o v   D W O R D   P T R   [ e s p + 1 6 ] , 2 m o v   D W O R D   P T R   [ e s p + 1 2 ] , 1 m o v   D W O R D   P T R   [ e s p + 8 ] , O F F S E T   F L A T : . L C O   ; " h i !   % d , % d , % d n " m o v   D W O R D   P T R   [ e s p + 4 ] , 6 0 0   ; m a x l e n c a l l   _ s n p r i n t f m o v   D W O R D   P T R   [ e s p ] , e b x   ; s c a l l   p u t s m o v   e b x , D W O R D   P T R   [ e s p - 4 ] l e a v e r e t . L C 0 : . s t r i n g   " h i !   % d ,   % d ,   % d n " f : p u s h 1   % e b p m o v 1   % e s p ,   % e b p p u s h 1   % e b x s u b 1   $ 6 6 0 ,   % e s p l e a 1   3 9 ( % e s p ) ,   % e b x a n d 1   $ - 1 6 ,   % e b x m o v 1   % e b x ,   ( % e s p ) m o v 1   $ 3 ,   2 0 ( % e s p ) m o v 1   $ 2 ,   1 6 ( % e s p ) m o v 1   $ 1 ,   1 2 ( % e s p ) m o v 1   $ . L C 0 ,   8 ( % e s p ) m o v 1   $ 6 0 0 ,   4 ( % e s p ) c a l l   _ s n p r i n t f m o v 1   % e b x ,   ( % e s p ) c a l l   p u t s m o v 1   - 4 ( % e b p ) ,   % e b x l e a v e r e t m o v l   $ 3 ,   2 0 ( % e s p ) m o v   D W O R D   P T R   [ e s p + 2 0 ] ,   3
( W i n d o w s ) S E H     S E H   ,   3 2   , , E S P - 0 x C   2   ,   I D A     v a r _ 8 E S P - 8   1   ,   I D A     v a r _ 4 E S P - 4   E B P   E S P E S P + 4 a r g 1 ,     I D A     a r g _ 0 E S P + 8 a r g 2 ,     I D A     a r g _ 4 E S P + 0 x C a r g 3 ,     I D A     a r g _ 8 使 ? 退 , ( % ) # i n c l u d e   < s t d i o . h > v o i d   f 1 ( ) { i n t   a = 1 ,   b = 2 ,   c = 3 ; } v o i d   f 2 ( ) { i n t   a , b , c ; p r i n t f ( " % d , % d , % d n " , a , b , c ) ; } i n t   m a i n ( ) { f 1 ( ) ; f 2 ( ) ; }
使 M S V C 2 0 1 0   5 . 4   N o n - o p t i m i z i n g   M S V C   2 0 1 0 : f 2 ( ) ,   f 1 ( ) $ S G 2 7 5 2   D B   ' % d ,   % d ,   % d ' ,   0 a H ,   0 0 H _ c $   =   - 1 2   ; s i z e = 4 - b $   =   - 8   ; s i z e = 4 - a $   =   - 4   ; s i z e = 4 _ f 1   P R O C p u s h   e b p m o v   e b p , e s p s u b   e s p , 1 2 m o v   D W O R D   P T R   _ a $ [ e b p ] , 1 m o v   D W O R D   P T R   _ b $ [ e b p ] , 2 m o v   D W O R D   P T R   _ c $ [ e b p ] , 3 m o v   e s p , e b p p o p   e b p r e t   0 _ f 1   E N D P _ c $   =   - 1 2   ; s i z e = 4 _ b $   =   - 8   ; s i z e = 4 _ a $   =   - 4   ; s i z e = 4 _ f 2   P R O C p u s h   e b p m o v   e b p , e s p s u b   e s p , 1 2 m o v   e a x , D W O R D   P T R   _ c $ [ e b p ] p u s h   e a x m o v   e c x , D W O R D   P T R   _ c $ [ e b p ] p u s h   e c x m o v   e d x , D W O R D   P T R   _ c $ [ e b p ] p u s h   e d x p u s h   O F F S E T   $ S G 2 7 5 2   ; " % d , % d , % d " c a l l   D W O R D   P T R   _ _ i m p _ _ p r i n t f a d d   e s p , 1 6 m o v   e s p , e b p p o p   e b p r e t   0 _ f 2   E N D P m a i n   P R O C p u s h   e b p m o v   e b p , e s p c a l l   _ f 1 c a l l   _ f 2 x o r   e a x , e a x p o p   e b p r e t   0 _ m a i n   E N D P c : P o l y g o n c > c l   s t . c   / F a s t . a s m   / M D M i c r o s o f t   ( R )   3 2 - b i t   C / C + +   O p t i m i z i n g   C o m p i l e r   V e r s i o n   1 6 . 0 0 . 4 0 2 1 9 . 0 1   f o r   8 0 x 8 6 C o p y r i g h t   ( C )   M i c r o s o f t   C o r p o r a t i o n .   A l l   r i g h t s   r e s e r v e d . s t . c c : p o l y g o n c s t . c ( 1 1 )   :   w a r n i n g   C 4 7 0 0 :   u n i n i t i a l i z e d   l o c a l   v a r i a b l e   ' c '   u s e d c : p o l y g o n c s t . c ( 1 1 )   :   w a r n i n g   C 4 7 0 0 :   u n i n i t i a l i z e d   l o c a l   v a r i a b l e   ' b '   u s e d c : p o l y g o n c s t . c ( 1 1 )   :   w a r n i n g   C 4 7 0 0 :   u n i n i t i a l i z e d   l o c a l   v a r i a b l e   ' a '   u s e d M i c r o s o f t   ( R )   I n c r e m e n t a l   L i n k e r   V e r s i o n   1 0 . 0 0 . 4 0 2 1 9 . 0 1 C o p y r i g h t   ( C )   M i c r o s o f t   C o r p o r a t i o n .   A l l   r i g h t s   r e s e r v e d . / o u t : s t . e x e s t . o b j c : P o l y g o n c > s t 1 ,   2 ,   3
, , ,   S P   , , , ( ) , , , , 使 , ,   x 8 6   / m 0 n s t 3 r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则