[11634] 2017-08-07_Angr:一个具有动态符号执行和静态分析的二进制分析工具

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-18
2017-08-07_Angr:一个具有动态符号执行和静态分析的二进制分析工具 A n g r S t a y R e a l   F r e e B u f   2 0 1 7 - 0 8 - 0 7 a n g r a n g r a n g r p y t h o n K L E E M a y h e m a n g r 1 a n g r 2 i n t e r m e d i a t e   r e p r e s e n t a t i o n ,   I R 3 I R 4 L i n u x a n g r a n g r M a c   O S a n g r a n g r a n g r a n g r   p y t h o n a n g r a n g r u b u n t u 1 4 . 0 4 p y t h o n a n g r a n g r a n g r s u d o   a p t - g e t   i n s t a l l   p y t h o n - d e v   l i b f f i - d e v   b u i l d - e s s e n t i a l   v i r t u a l e n v w r a p p e r m k v i r t u a l e n v   a n g r   & &   p i p   i n s t a l l   a n g r p i p   i n s t a l l   - I   - - n o - u s e - w h e e l   a n g r - o n l y - z 3 - c u s t o m p i p   i n s t a l l   a n g r
a n g r - C L E C L E a n g r b i n a r y s h a r e d l i b r a r y a r c h   i n f o r m a t i o n a n g r _ I R a n g r V E X   I R I R I R A R M V E X   I R a n g r - S o l v e r   E n g i n e a n g r C l a r i p y a n g r h t t p s : / / g i t h u b . c o m / a n g r / a n g r - d o c / t r e e / m a s t e r / e x a m p l e s / s y m - w r i t e C p y t h o n p y t h o n G i t H u b a n g r s m   =   p . f a c t o r y . s i m g r ( s t a t e )     s i m g r m a i n r e t u r n s m . f o u n d [ 0 ] . s t a t e . s e . a n y _ i n t ( u ) p a t h s e > > >   i m p o r t   a n g r > > >   b   =   a n g r . P r o j e c t ( " . / t e s t " ) s u b s   R 2 ,   R 2 ,   # 8 t 0   =   G E T : I 3 2 ( 1 6 ) t 1   =   0 x 8 : I 3 2 t 3   =   S u b 3 2 ( t 0 , t 1 ) P U T ( 1 6 )   =   t 3 P U T ( 6 8 )   =   0 x 5 9 F C 8 : I 3 2 > > >   i m p o r t   c l a r i p y > > >   b v   =   c l a r i p y . B V V ( 0 x 4 1 4 2 4 3 4 4 ,   3 2 ) # i n c l u d e   < s t d i o . h > c h a r   u = 0 ; i n t   m a i n ( v o i d ) {         i n t   i ,   b i t s [ 2 ] = { 0 , 0 } ;         f o r   ( i = 0 ;   i < 8 ;   i + + )   {                 b i t s [ ( u & ( 1 < < i ) ) ! = 0 ] + + ;         }         i f   ( b i t s [ 0 ] = = b i t s [ 1 ] )   {                 p r i n t f ( " y o u   w i n ! " ) ;         }         e l s e   {                 p r i n t f ( " y o u   l o s e ! " ) ;         }         r e t u r n   0 ; }
便 p y t h o n a n g r , . / i s s u e S i m S t a t e S i m S t a t e a n g r S i m u V E X C u u u 1 0 w i n l o s e u a c t i v e C i f ( b i t s [ 0 ] = = b i t s [ 1 ] ) U w i n u G i t H u b p y t h o n w i n U a n g r a n g r i m p o r t   a n g r i m p o r t   c l a r i p y d e f   m a i n ( ) :                 p   =   a n g r . P r o j e c t ( ' . / i s s u e ' ,   l o a d _ o p t i o n s = { " a u t o _ l o a d _ l i b s " :   F a l s e } )                 s t a t e   =   p . f a c t o r y . e n t r y _ s t a t e ( a d d _ o p t i o n s = { " S Y M B O L I C _ W R I T E _ A D D R E S S E S " } )                 u   =   c l a r i p y . B V S ( " u " ,   8 )                 s t a t e . m e m o r y . s t o r e ( 0 x 8 0 4 a 0 2 1 ,   u )                 s m   =   p . f a c t o r y . p a t h _ g r o u p ( s t a t e )                 s m . s t e p ( u n t i l   =   l a m b d a   l p g :   l e n ( l p g . a c t i v e )   >   1 )                 f o r   I   i n   r a n g e ( l e n ( s m . a c t i v e ) ) :                       p r i n t   " p o s s i b l e   % d :   "   %   I   ,   s m . a c t i v e [ I ] . s t a t e . s e . a n y _ i n t ( u )                 r e t u r n   s m . a c t i v e [ 0 ] . s t a t e . s e . a n y _ i n t ( u ) i f   _ _ n a m e _ _   = =   ' _ _ m a i n _ _ ' :                 p r i n t ( r e p r ( m a i n ( ) ) )   p   =   a n g r . P r o j e c t ( ' . / i s s u e ' ,   l o a d _ o p t i o n s = { " a u t o _ l o a d _ l i b s " :   F a l s e } ) s t a t e   =   p . f a c t o r y . e n t r y _ s t a t e ( a d d _ o p t i o n s = { " S Y M B O L I C _ W R I T E _ A D D R E S S E S " } ) u   =   c l a r i p y . B V S ( " u " ,   8 ) s t a t e . m e m o r y . s t o r e ( 0 x 8 0 4 a 0 2 1 ,   u ) s m   =   p . f a c t o r y . p a t h _ g r o u p ( s t a t e )   s m . s t e p ( u n t i l   =   l a m b d a   l p g :   l e n ( l p g . a c t i v e )   >   1 ) f o r   I   i n   r a n g e ( l e n ( s m . a c t i v e ) ) :                       p r i n t   " p o s s i b l e   % d :   "   %   I   ,   s m . a c t i v e [ I ] . s t a t e . s e . a n y _ i n t ( u ) r e t u r n   s m . a c t i v e [ 0 ] . s t a t e . s e . a n y _ i n t ( u )
* S t a y R e a l   F r e e B u f . C O M
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则