[13158] 2018-09-08_Frida在爆破Windows程序中的应用

文档创建者:s7ckTeam
浏览次数:7
最后更新:2025-01-18
2018-09-08_Frida在爆破Windows程序中的应用 F r i d a W i n d o w s g e e k   F r e e B u f   2 0 1 8 - 0 9 - 0 8 * g e e k F r e e B u f w e b 使 使 b r u p s u i t e h o o k c t f i d a h t t p : / / c t f 5 . s h i y a n b a r . c o m / r e / 1 0 0 w . e x e f l a g 6 F r i d a F r i d a A n d r o i d F r i d a F r i d a S o   w h a t   i s   F r i d a ,   e x a c t l y ? I t s G r e a s e m o n k e y   f o r n a t i v e   a p p s ,   o r ,   p u t   i n   m o r e   t e c h n i c a l   t e r m s ,   i t s   a   d y n a m i c   c o d e i n s t r u m e n t a t i o n   t o o l k i t .   I t   l e t s   y o u   i n j e c t   s n i p p e t s   o f   J a v a S c r i p t   o r   y o u r   o w n l i b r a r y   i n t o   n a t i v e   a p p s   o n   W i n d o w s ,   m a c O S ,   G N U / L i n u x ,   i O S ,   A n d r o i d ,   a n d   Q N X .
F r i d a   a l s o   p r o v i d e s   y o u   w i t h   s o m e   s i m p l e   t o o l s   b u i l t   o n   t o p   o f   t h e   F r i d a   A P I . T h e s e   c a n   b e   u s e d   a s - i s ,   t w e a k e d   t o   y o u r   n e e d s ,   o r   s e r v e   a s   e x a m p l e s   o f   h o w   t o u s e   t h e   A P I . F r i d a j s w i n m a c o s l i n u x a n d r o i d i o s F r i d a 使 p y t h o n p i p f r i d a   s e s s i o n . c r e a t e _ s c r i p t j s c r a c k m e e - d e b u g c a l l o d p i p   i n s t a l l   f r i d a i m p o r t   f r i d a d e f   o n _ m e s s a g e ( m e s s a g e ,   d a t a ) :         p r i n t ( " [ % s ]   = >   % s "   %   ( m e s s a g e ,   d a t a ) ) s e s s i o n   =   f r i d a . a t t a c h ( ' 1 0 0 f w . e x e ' ) # f r i d a s c r i p t   =   s e s s i o n . c r e a t e _ s c r i p t ( ' s o m e   j s   c o d e   h e r e ' ) s c r i p t . o n ( ' m e s s a g e ' ,   o n _ m e s s a g e ) s c r i p t . l o a d ( ) s y s . s t d i n . r e a d ( ) s e s s i o n . d e a t c h ( )
f r i d a j s   a p i N t i v e F u n c t i o n o n c e p y t h o n f r i d a h o o k . . o k 0 X 0 0 4 0 1 C E 7 c a l l h o o k v a r   f = n e w   N a t i v e F u n c t i o n ( p t r ( ' 0 x 0 0 4 0 1 7 3 a ' ) ,   ' v o i d ' , [ ] ) ; r p c . e x p o r t s = {         o n c e : f u n c t i o n ( ) {                 f ( ) ;         } } ; w h i l e ( T r u e ) :         s c r i p t . e x p o r t s . o n c e ( )
N e e d A d d t m p . h o o k h o o k . . h o o k h o o k   M e s s a g e B o x O D A P I M e s s a g e B o x c a l l h o o k 沿 a p i c a l l c a l l h o o k . . c a l l n o p . . a d d   e s p 0 x 2 8 p e r f e c t 0 x 0 0 4 0 1 c 0 3   n o p h o o k v a r   t m p = 1 0 0 0 0 0 ; v a r   N e e d A d d = t r u e ; v a r   f 3 = p t r ( ' 0 x 0 0 4 0 1 C E 7 ' ) ; I n t e r c e p t o r . a t t a c h ( f 3 , {         o n L e a v e : f u n c t i o n ( r e s u l t ) {         / *                 c o n s o l e . l o g ( ' - - - - - - - - - - ' )                 c o n s o l e . l o g ( r e s u l t . t o I n t 3 2 ( ) ) ; * /                 M e m o r y . w r i t e A n s i S t r i n g ( p t r ( r e s u l t . t o I n t 3 2 ( ) ) , t m p . t o S t r i n g ( ) ) / / r e s u l t                 i f ( N e e d A d d ) { t m p = t m p + 1 ; N e e d A d d = f a l s e ; }                 e l s e { N e e d A d d = t r u e ; }                 / *                 c o n s o l e . l o g ( M e m o r y . r e a d A n s i S t r i n g ( p t r ( r e s u l t . t o I n t 3 2 ( ) ) ) ) ; * / / /         } } ) ; v a r   f 4 = p t r ( ' 0 x 0 0 4 0 1 C 0 3 ' ) ; I n t e r c e p t o r . a t t a c h ( f 4 , {         o n E n t e r : f u n c t i o n ( a r g s ) {                 / / c o n s o l e . l o g ( a r g s [ 0 ] ) ;                 s e n d ( M e m o r y . r e a d A n s i S t r i n g ( p t r ( a r g s [ 0 ] ) ) ) ; / /                 r e t u r n ;         } } ) ;
f r i d a h o o k h o o k p u s h a r g s [ 0 ] c a l l i m p o r t   f r i d a i m p o r t   s y s d e f   o n _ m e s s a g e ( m e s s a g e ,   d a t a ) :         p r i n t ( " [ % s ]   = >   % s "   %   ( m e s s a g e ,   d a t a ) ) s e s s i o n   =   f r i d a . a t t a c h ( ' 1 0 0 f w . e x e ' ) s c r i p t   =   s e s s i o n . c r e a t e _ s c r i p t ( ' ' '         v a r   t m p = 7 0 0 0 0 0 ;         v a r   N e e d A d d = t r u e ;         v a r   f 1   =   p t r ( ' 0 x 0 0 4 0 1 0 9 6 ' ) ;         v a r   f 2   =   p t r ( ' 0 x 0 0 4 0 1 6 9 d ' ) ;         I n t e r c e p t o r . a t t a c h ( f 1 ,   {                 o n E n t e r : f u n c t i o n ( a r g s ) {                 }         } ) ;         I n t e r c e p t o r . a t t a c h ( f 2 ,   {                 o n E n t e r : f u n c t i o n ( a r g s ) {                 }         } ) ;         v a r   f = n e w   N a t i v e F u n c t i o n ( p t r ( ' 0 x 0 0 4 0 1 7 3 a ' ) ,   ' v o i d ' , [ ] ) ;         r p c . e x p o r t s = {                 o n c e : f u n c t i o n ( ) {                         f ( ) ;                 }         } ;         v a r   f 3 = p t r ( ' 0 x 0 0 4 0 1 C E 7 ' ) ;         I n t e r c e p t o r . a t t a c h ( f 3 , {                 o n L e a v e : f u n c t i o n ( r e s u l t ) {                 / *                         c o n s o l e . l o g ( ' - - - - - - - - - - ' )                         c o n s o l e . l o g ( r e s u l t . t o I n t 3 2 ( ) ) ; * /                         M e m o r y . w r i t e A n s i S t r i n g ( p t r ( r e s u l t . t o I n t 3 2 ( ) ) , t m p . t o S t r i n g ( ) )                         i f ( N e e d A d d ) { t m p = t m p + 1 ; N e e d A d d = f a l s e ; }                         e l s e { N e e d A d d = t r u e ; }                         / / c o n s o l e . l o g ( M e m o r y . r e a d A n s i S t r i n g ( p t r ( r e s u l t . t o I n t 3 2 ( ) ) ) ) ;                         c o n s o l e . l o g ( t m p ) ;                 }         } ) ;         / *         v a r   f 4 = p t r ( ' 0 x 0 0 4 0 1 C 0 3 ' ) ;         I n t e r c e p t o r . a t t a c h ( f 4 , {                 o n E n t e r : f u n c t i o n ( a r g s ) {                         / / c o n s o l e . l o g ( a r g s [ 0 ] ) ;                         s e n d ( M e m o r y . r e a d A n s i S t r i n g ( p t r ( a r g s [ 0 ] ) ) ) ;                         r e t u r n ;                 }         } ) ;         * / ' ' ' ) s c r i p t . o n ( ' m e s s a g e ' ,   o n _ m e s s a g e ) s c r i p t . l o a d ( ) w h i l e ( T r u e ) :         s c r i p t . e x p o r t s . o n c e ( ) s y s . s t d i n . r e a d ( ) s e s s i o n . d e a t c h ( )
p y c p u o r z F r i d a 使 F r i d a j s   a p i d a l a o * g e e k F r e e B u f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则