[27059] 2020-08-16_复现RCTF2020逆向cipher

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-19
2020-08-16_复现RCTF2020逆向cipher   |   R C T F 2 0 2 0 c i p h e r     M s 0 8 0 6 7   2 0 2 0 - 0 8 - 1 6   #   , 2 3 r o o k i e d r a g * ( ) g h i d r a   M i p s g h i d r a j e b i d a r e t d e c i d a 7 . 5 m i p s   M i p s g h i d r a         m i p s 6 4 M i p s a 0 - a 3 M i p s         v 0   v 1 西 m i p s   g h r i d a       m i p s   g h r i d a f l a g f l a g c i p h e r t e x t f l a g c i p h e r C i p h e r f l a g
C i p h e r c i p h e r p u t c h a r ( 1 0 )   c i p h e r t e x t 0 x 0 a e n c r y p t a 0 ,   a 1 , a 2   A 2 c i p h e r p a r a m 2 a 2 a 2 s b E n c r y p t
S t a c k 3 2   =   k e y 1   S t a c k 2 4   =   k e y 2 s t a c k x x u l o n g l o n g 8 k e y 2 0   k e y 1   0   k e y 2   0 S t a c k   4 0   =   x x x S t a c k 4 8   =   x x x S t a c k 2 4   =   ( ( s t a c k 2 4   > > 8 )   +   ( s t a c k 2 4 < < 0 x 3 8 )   +   u s t a c k 3 2 )   ^ i n d e x S t a c k 3 2   =   ( ( s t a c k 3 2 > > 0 x 3 d )   +   ( s t a c k 3 2 < < 3 ) ) ^ s t a c k 2 4 S t a c k 4 0   =   ( ( s t a c k 4 0 > > 8   +   s t a c k 4 0 < < 0 x 3 8 ) + s t a c k 4 8 )   ^   s t a c k 3 2 S t a c k 4 8   =   ( s t a c k 4 8 > > 0 x 3 d   +   s t a c k 4 8   < < 3 ) ^ s t a c k 4 0   h t t p s : / / b b s . p e d i y . c o m / t h r e a d - 2 5 9 8 9 2 . h t m   m i p s i m p o r t   s t r u c t d e f   s o l v e ( ) :         #   w i t h o p e n ( ' c i p h e r t e x t ' ,   ' r b ' ) a s   f :         #       e n c   =   f . r e a d ( )         e n c   =   b ' * x 0 0 x f 8 + x e 1 x 1 d w x c 1 x c 3 x b 1 q x f c # x d 5 x 9 1 x f 4 0 x f 1 x 1 e x 8 b x c 2 x 8 8 Y W x d 5 x 9 4 x a b w B / x e b u x e 1 ] v x f 0 F n x 9 8 x b 9 x b 6 Q x f d x b 5 ] w 6 x f 2 n '         f o r   i   i n   r a n g e ( 0 x 1 0 0 0 0 ) :                 v 3 2 ,   v 2 4   = g e t _ f i n a l _ r 1 _ r 2 ( 0 x 7 4 1 3   *   0 x 1 0 0 0 0 0 0 0 0 0 0 0 0 ,   0 )                 f l a g   =   b ' '                 f o r   k   i n   r a n g e ( l e n ( e n c )   / /   1 6 ) :                         f 1 ,   f 2   = d e c r y p t ( e n c [ k   *   1 6 : k   *   1 6   +   1 6 ] ,   v 3 2 ,   v 2 4 )                         f l a g   + =   s t r u c t _ e x a m p l e . p a c k ( ' > Q ' ,   f 1 )   + s t r u c t _ e x a m p l e . p a c k ( ' > Q ' ,   f 2 )                 i f   b ' R C T F '   i n   f l a g :                         p r i n t ( h e x ( i ) ,   f l a g )                         p r i n t ( i )                 b r e a k
d e f   d e c r y p t ( b y t e 1 6 ,   f c ,   f d ) :         v 4 8   =   s t r u c t _ e x a m p l e . u n p a c k ( ' > Q ' ,   b y t e 1 6 [ : 8 ] ) [ 0 ]         v 4 0   =   s t r u c t _ e x a m p l e . u n p a c k ( ' > Q ' ,   b y t e 1 6 [ 8 : ] ) [ 0 ]         v 3 2 ,   v 2 4   =   f c ,   f d         f o r   i   i n   r a n g e ( 0 x 1 e ,   - 1 ,   - 1 ) :                 # p r i n t ( ( v 4 0   ^   v 3 2 )   - v 4 8 )                 v 4 8   =   r o l 6 4 ( v 4 8   ^ v 4 0 ,   0 x 3 d )                 v 4 0   =   r o l 6 4 ( u l l ( ( v 4 0   ^   v 3 2 )   - v 4 8 ) ,   8 )                 v 3 2   =   r o l 6 4 ( v 3 2   ^   v 2 4 ,   0 x 3 d )                 v 2 4   =   r o l 6 4 ( u l l ( ( v 2 4   ^   i )   -   v 3 2 ) ,   8 )                     v 4 8   =   r o l 6 4 ( v 4 8   ^   v 4 0 ,   0 x 3 d )         v 4 0   =   r o l 6 4 ( u l l ( ( v 4 0   ^   v 3 2 )   -   v 4 8 ) ,   8 )         r e t u r n   v 4 8 ,   v 4 0 d e f   g e t _ f i n a l _ r 1 _ r 2 ( c ,   d ) :         v 3 2 ,   v 2 4   =   c ,   d         f o r   i   i n   r a n g e ( 0 x 1 f ) :                 v 2 4   =   u l l ( r o r 6 4 ( v 2 4 ,   8 )   +   v 3 2 )   ^   i                 v 3 2   =   r o r 6 4 ( v 3 2 ,   0 x 3 d )   ^   v 2 4         r e t u r n   v 3 2 ,   v 2 4 d e f   r o l 6 4 ( v a l u e ,   k ) :         r e t u r n   u l l ( v a l u e < <   k )   |   u l l ( v a l u e   > >   ( 6 4   -   k ) ) d e f   r o r 6 4 ( v a l u e ,   k ) :         r e t u r n   u l l ( v a l u e < <   ( 6 4   -   k ) )   |   u l l ( v a l u e   > >   k ) d e f   u l l ( n ) :         r e t u r n   n   &   0 x f f f f f f f f f f f f f f f f s o l v e ( )   2 8 0 0 0 +

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则