[16513] 2021-03-04_逆向工程分析:iMessage如何利用硬件来保护软件

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-18
2021-03-04_逆向工程分析:iMessage如何利用硬件来保护软件 i M e s s a g e A l p h a _ h 4 c k   F r e e B u f   2 0 2 1 - 0 3 - 0 4 i M e s s a g e 广 使 i M e s s a g e i M e s s a g e A P N 使 m a c O S a p s d A P N i M e s s a g e i M e s s a g e / W i F i   i M e s s a g e 使   i P a d i P h o n e i P o d   t o u c h     M o u n t a i n   L i o n     M a c   A p p l e   i M e s s a g e   S i r i i M e s s a g e M a c A p p l e S c r i p t M e s s a g e s . a p p   U I 使 i M e s s a g e M a c i M e s s a g e X N U   O s e s M e s s a g e s . a p p X P C I P C P r o j e c t   Z e r o i M e s s a g e i M e s s a g e M e s s a g e s . a p p   - >   i m a g e n t   - >   i d e n t i t y s e r v i c e s d   - >   a p s d F r i d a O b j C A P I O b j e c t i v e - C - o b j t r e e U I 使 O b j C o b j t r e e 3 0 0 0 k e y D o w n O b j C / X P C - x p c s p y X P C s u d o   o b j t r e e   M e s s a g e s   - m   " - [ N S R e s p o n d e r   k e y D o w n : ] "
a p s d O b j e c t i v e - C c o n n e c t T o s e n d T C P A P I A P N P U S H r f c 5 2 4 6 C e r t i f i c a t e R e q u e s t c e r t i f i c a t e A P N c o n n e c t / n o n c e - [ A P S P r o t o c o l P a r s e r c o p y C o n n e c t M e s s a g e W i t h T o k e n : s t a t e : p r e s e n c e F l a g s : c e r t i f i c a t e : n o n c e : s i g n a t u r e : r e d i r e c t C o u n t : l a s t C o n n e c t e d : d i s c o n n e c t R e a s o n : ] A P N T L S - [ A P S T C P S t r e a m   _ c o n n e c t T o S e r v e r W i t h P e e r N a m e : ] T L S A P I - [ N S U R L S e s s i o n C o n f i g u r a t i o n   s e t _ s o c k e t S t r e a m P r o p e r t i e s : ] - [ N S U R L S e s s i o n C o n f i g u r a t i o n   s e t _ t l s T r u s t P i n n i n g P o l i c y N a m e : ] x x - c o u r i e r . p u s h . a p p l e . c o m 使 o p e n s s l T L S { " _ k C F S t r e a m P r o p e r t y E n a b l e C o n n e c t i o n S t a t i s t i c s "   =   1 ; " _ k C F S t r e a m P r o p e r t y N P N P r o t o c o l s A v a i l a b l e "   =   ( " a p n s - s e c u r i t y - v 3 " , " a p n s - p a c k - v 1 " ) ; " _ k C F S t r e a m P r o p e r t y N o C o m p a n i o n "   =   1 ; " _ k C F S t r e a m P r o p e r t y P r e f e r s N o P r o x y "   =   1 ; " _ k C F S t r e a m S o c k e t S e t N o D e l a y "   =   1 ; k C F S t r e a m P r o p e r t y S S L S e t t i n g s   =   { k C F S t r e a m S S L P e e r N a m e   =   " c o u r i e r . p u s h . a p p l e . c o m " ; k C F S t r e a m S S L V a l i d a t e s C e r t i f i c a t e C h a i n   =   1 ; } ; } %   o p e n s s l   s _ c l i e n t   - c o n n e c t   1 2 - c o u r i e r . p u s h . a p p l e . c o m : 5 2 2 3   - q u i e t d e p t h = 2   O   =   E n t r u s t . n e t ,   O U   =   w w w . e n t r u s t . n e t / C P S _ 2 0 4 8   i n c o r p .   b y   r e f .   ( l i m i t s   l i a b . ) ,   O U   =   ( c )   1 9 9 9   E n t r u s t . n e t   L i m i t e d ,   C N   =   E n t r u s t . n e t   C e r t i f i c a t i o n   A u t h o r i t y   ( 2 0 4 8 )
_ k C F S t r e a m P r o p e r t y N P N P r o t o c o l s A v a i l a b l e 使 N P N N P N A L P N T L S T L S 使 使 T L S 使 t c p d u m p a p s d l a u n c h c t l 使 a p s d _ d y l d _ s t a r t : d e p t h = 2   O   =   E n t r u s t . n e t ,   O U   =   w w w . e n t r u s t . n e t / C P S _ 2 0 4 8   i n c o r p .   b y   r e f .   ( l i m i t s   l i a b . ) ,   O U   =   ( c )   1 9 9 9   E n t r u s t . n e t   L i m i t e d ,   C N   =   E n t r u s t . n e t   C e r t i f i c a t i o n   A u t h o r i t y   ( 2 0 4 8 ) v e r i f y   r e t u r n : 1 d e p t h = 1   C   =   U S ,   O   =   " E n t r u s t ,   I n c . " ,   O U   =   S e e   w w w . e n t r u s t . n e t / l e g a l - t e r m s ,   O U   =   " ( c )   2 0 1 2   E n t r u s t ,   I n c .   -   f o r   a u t h o r i z e d   u s e   o n l y " ,   C N   =   E n t r u s t   C e r t i f i c a t i o n   A u t h o r i t y   -   L 1 K v e r i f y   r e t u r n : 1 d e p t h = 0   C   =   U S ,   S T   =   C a l i f o r n i a ,   L   =   C u p e r t i n o ,   O   =   A p p l e   I n c . ,   C N   =   c o u r i e r . p u s h . a p p l e . c o m v e r i f y   r e t u r n : 1 4 5 4 8 5 1 3 4 5 2 : e r r o r : 1 4 0 2 0 4 1 0 : S S L   r o u t i n e s : C O N N E C T _ C R _ S E S S I O N _ T I C K E T : s s l v 3   a l e r t   h a n d s h a k e   f a i l u r e : / A p p l e I n t e r n a l / B u i l d R o o t / L i b r a r y / C a c h e s / c o m . a p p l e . x b s / S o u r c e s / l i b r e s s l / l i b r e s s l - 5 6 . 4 0 . 4 / l i b r e s s l - 2 . 8 / s s l / s s l _ p k t . c : 1 2 0 0 : S S L   a l e r t   n u m b e r   4 0 4 5 4 8 5 1 3 4 5 2 : e r r o r : 1 4 0 2 0 0 E 5 : S S L   r o u t i n e s : C O N N E C T _ C R _ S E S S I O N _ T I C K E T : s s l   h a n d s h a k e   f a i l u r e : / A p p l e I n t e r n a l / B u i l d R o o t / L i b r a r y / C a c h e s / c o m . a p p l e . x b s / S o u r c e s / l i b r e s s l / l i b r e s s l - 5 6 . 4 0 . 4 / l i b r e s s l - 2 . 8 / s s l / s s l _ p k t . c : 5 8 5 : %   s u d o   l a u n c h c t l   a t t a c h   - k   s y s t e m / c o m . a p p l e . a p s d P r o c e s s   1 9 2 5   s t o p p e d *   t h r e a d   # 1 ,   s t o p   r e a s o n   =   s i g n a l   S I G S T O P f r a m e   # 0 :   0 x 0 0 0 0 0 0 0 1 0 b 4 4 7 0 0 0   d y l d `   _ d y l d _ s t a r t d y l d ` _ d y l d _ s t a r t : - >   0 x 1 0 b 4 4 7 0 0 0   < + 0 > :   p o p   r d i 0 x 1 0 b 4 4 7 0 0 1   < + 1 > :   p u s h   0 x 0 0 x 1 0 b 4 4 7 0 0 3   < + 3 > :   m o v   r b p ,   r s p 0 x 1 0 b 4 4 7 0 0 6   < + 6 > :   a n d   r s p ,   - 0 x 1 0 0 x 1 0 b 4 4 7 0 0 a   < + 1 0 > :   s u b   r s p ,   0 x 1 0 0 x 1 0 b 4 4 7 0 0 e   < + 1 4 > :   m o v   e s i ,   d w o r d   p t r   [ r b p   +   0 x 8 ] 0 x 1 0 b 4 4 7 0 1 1   < + 1 7 > :   l e a   r d x ,   [ r b p   +   0 x 1 0 ] 0 x 1 0 b 4 4 7 0 1 5   < + 2 1 > :   l e a   r c x ,   [ r i p   -   0 x 1 0 1 c ] T a r g e t   0 :   ( a p s d )   s t o p p e d . E x e c u t a b l e   m o d u l e   s e t   t o   " / S y s t e m / L i b r a r y / P r i v a t e F r a m e w o r k s / A p p l e P u s h S e r v i c e . f r a m e w o r k / a p s d " . A r c h i t e c t u r e   s e t   t o :   x 8 6 _ 6 4 h - a p p l e - m a c o s x - . W e ' l l   s t a r t   t h e   p a c k e t   r e c o r d i n ,   t h e n   c o n t i n u e   a p s d ' s   e x e c u t i o n   t o   r e c o r d   t h e   c o n n e c t i o n : %   s u d o   t c p d u m p   - i   e n 0   - w   / t m p / a p s d . p c a p A n d : ( l l d b )   c
使 - a l p n - s e r v e r n a m e A P N T L S A P N P a y l o a d - [ A P S T C P S t r e a m   w r i t e D a t a I n B a c k g r o u n d : ] - [ A P S C o u r i e r   t c p S t r e a m : d a t a R e c e i v e d : ] r d x   N S D a t a A P N %   o p e n s s l   s _ c l i e n t   - c o n n e c t   1 1 - c o u r i e r . p u s h . a p p l e . c o m : 5 2 2 3   - t l s 1 _ 2   - a l p n   a p n s - s e c u r i t y - v 3 , a p n s - p a c k - v 1   - s e r v e r n a m e   c o u r i e r . p u s h . a p p l e . c o m   - q u i e t d e p t h = 2   C   =   U S ,   O   =   A p p l e   I n c . ,   O U   =   A p p l e   C e r t i f i c a t i o n   A u t h o r i t y ,   C N   =   A p p l e   R o o t   C A v e r i f y   e r r o r : n u m = 1 9 : s e l f   s i g n e d   c e r t i f i c a t e   i n   c e r t i f i c a t e   c h a i n v e r i f y   r e t u r n : 0 P r o c e s s   1 9 5 8   s t o p p e d *   t h r e a d   # 1 ,   q u e u e   =   ' c o m . a p p l e . m a i n - t h r e a d ' ,   s t o p   r e a s o n   =   b r e a k p o i n t   1 . 1 f r a m e   # 0 :   0 x 0 0 0 0 0 0 0 1 0 9 a 5 5 d 8 3   a p s d `   _ _ _ l l d b _ u n n a m e d _ s y m b o l 2 6 0 7 $ $ a p s d a p s d ` _ _ _ l l d b _ u n n a m e d _ s y m b o l 2 6 0 7 $ $ a p s d : - >   0 x 1 0 9 a 5 5 d 8 3   < + 0 > :   p u s h   r b p 0 x 1 0 9 a 5 5 d 8 4   < + 1 > :   m o v   r b p ,   r s p 0 x 1 0 9 a 5 5 d 8 7   < + 4 > :   p u s h   r 1 5 0 x 1 0 9 a 5 5 d 8 9   < + 6 > :   p u s h   r 1 4 0 x 1 0 9 a 5 5 d 8 b   < + 8 > :   p u s h   r b x 0 x 1 0 9 a 5 5 d 8 c   < + 9 > :   s u b   r s p ,   0 x 1 8 0 x 1 0 9 a 5 5 d 9 0   < + 1 3 > :   m o v   r b x ,   r d i 0 x 1 0 9 a 5 5 d 9 3   < + 1 6 > :   m o v   r a x ,   q w o r d   p t r   [ r i p   +   0 x 9 2 4 a 6 ]   ;   ( v o i d   * ) 0 x 0 0 0 0 7 f f f 8 8 a 9 8 a f 0 :   _ _ s t a c k _ c h k _ g u a r d T a r g e t   0 :   ( a p s d )   s t o p p e d . ( l l d b )   p o   $ r d x < 0 7 f f e f 0 4   4 1 2 0 3 d f e   . . . l o t s   o f   r e d a c t e d   d a t a >
A P N 使 F I F O o p e n s s l c o n n e c t 0 x 0 8 A P N A P S P r o t o c o l P a r s e r a p s d i M e s s a g e 0 x 0 7 :   使 u i d   0 p u s h 0 x 0 c :   0 x 1 4 :   0 x 0 7 :   使 u i d   5 0 1 0 x 0 9 :   0 x 0 a :   a p s d o p e n s s l i M e s s a g e 0 x 0 9 :   - [ A P S P r o t o c o l P a r s e r c o p y F i l t e r M e s s a g e W i t h E n a b l e d H a s h e s : i g n o r e d H a s h e s : o p p o r t u n i s t i c H a s h e s : n o n W a k i n g H a s h e s : p a u s e d H a s h e s : t o k e n : ] 使 A P N 0 x 0 a :   A P N 访 A P N 使 c o n n e c t %   m k f i f o   / t m p / i n %   o p e n s s l   s _ c l i e n t   - c o n n e c t   1 2 - c o u r i e r . p u s h . a p p l e . c o m : 5 2 2 3   - t l s 1 _ 2   - a l p n   a p n s - s e c u r i t y - v 3 , a p n s - p a c k - v 1   - s e r v e r n a m e   c o u r i e r . p u s h . a p p l e . c o m   - q u i e t   <   / t m p / i n   >   / t m p / o u t A n d   f o r   r e a d i n g   r e s p o n s e   m e s s a g e s   e n t e r : %   x x d   / t m p / o u t 0 0 0 0 0 0 0 0 :   0 8 2 2   0 1 8 0   0 4 a 1   1 4 0 0   0 5 8 8   0 6 8 3   0 8 a 9   3 8 0 0   . " . . . . . . . . . . . . 8 . 0 0 0 0 0 0 1 0 :   0 a a 5   0 1 7 6   1 4 7 4   e e 7 b   0 c a 5   0 1 7 6   1 4 7 4   e e 7 b   . . . v . t . { . . . v . t . {

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

本版积分规则