o
    Hi                     @   s  d dl Z d dlZd dlZe je jeZe jeZeejvr(ej	d e d dl
mZ d dl
mZ d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z  d dlm!Z! d dlm"Z" d dlm#Z# d dlm$Z$ d dlm%Z% d dlm&Z& d dlm'Z' d dlm(Z( d dlm)Z) d dlm*Z* dd  Z+d!d" Z,e-d#kre+  dS )$    N)oc_util)oc_yaml)oc_tool)custom_a_framework)	b_project)c_folder)d_string)e_print_annotation)f_file)g_notification)$custom_h_search_file_content_message)
i_property)j_enum)k_block)
l_constant)
m_delegate)n_method)
n_c_method)o_image)p_uuid)
q_location)s_string)t_host)v_local_variable)u_class)custom_get_params)custom_start)
custom_end)custom_utilc                  C   s^  t   t  tjdd} td|   tdt	 }t
|| }td| |t _|d t _t
 t _tdt j t  t
  t  t d}t |t _|d	 }t|d
 t |t _t d}t jt | |d }t| t |t _t  g d}td| d|v rtd td td d|v rtd td
 td d|v rtd t   td d|v rtd t!"t j# td d|v rtd t$%  td d|v rtd  t&'  td! d"|v rtd# t()  td$ d%|v rtd& t*  td' d(|v r(td) t+  t,  td* d+|v r9td, t-  td- d.|v rJtd/ t.  td0 d1|v r[td2 t/  td3 d4|v rltd5 t0  td6 d7|v rtd8 t1  t2  td9 d:|v rtd; t3  td< d=|v rtd td
 td t4t5j6 t7  d S )>NOC_PROJECT_PATHz&/Users/apple/jumbo/xianxian/XXGPlayKitu   使用工程路径: z%Y%m%d%H%M%Su   Objective-C本次混淆目录: u   /混淆后工程u   当前工程名: z%system_framework_keywords_ios18.2.txtz/project_framework_keywords.txt   zxib_framework_keywords.txtz/project_all_string_words.txt)123456789aubcdeju   自动执行全部操作: r!   u   1删除注释开始...   u   1删除注释完成r"   u   2删除打印开始...u   2删除打印完成r.   u   d图片处理开始...u   d图片处理完成r#   u   3修改工程名开始...u   3修改工程名完成r$   u   4修改文件夹名开始...u   4修改文件夹名完成r%   u   5修改文件名开始...u   5修改文件名完成r&   u   6修改通知名开始...u   6修改通知名完成r)   u   9修改block名开始...u   9修改block名完成r'   u+   7修改属性名和全局变量名开始...u(   7修改属性名和全局变量名完成r(   u   8修改枚举开始...u   8修改枚举完成r*   u   a修改常量名开始...u   a修改常量名完成r,   u   b修改delegate名开始...u   b修改delegate名完成r+   u   u修改类名开始...u   u修改类名完成r-   u   c修改方法名开始...u   c修改方法名完成r/   u   e修改uuid开始...u   e修改uuid完成r0   )8r   initr   osenvirongetprinttimestrftime	localtimer   get_current_mix_pathpath_mixpath_mix_projectget_current_project_namename_current_projectr   
get_paramsr   get_config_file_pathget_text_lineslist_system_framework_wordr   init_projectlist_project_framework_wordextendr   get_project_stringlist_string_wordsr   r	   delete_print_or_annotationr   projectmodify_project_namenew_project_namer   modify_project_folder_namer
   modify_oc_file_namer   modify_project_notificationr   r   r   r   r   r   r   r   r   r   r   r   sdk_cn_or_osrun_build_script)
input_pathcurrent_datemix_pathsave_system_framework_pathsave_project_framework_pathsave_xib_framework_pathsave_project_string_pathfunc rY   5/data/storage/obfuscation/tool/ObjectiveC/oc_start.pyr2   '   s   




















r2   c                  C   s   ddl } tjtjdd}tj|std|  dS td td td | jd|gtjd	}|j	dkrEtd td
 td dS td td|j	  td dS )u9   混淆完成后自动执行 build.sh 构建最终 SDK 包r   Nscriptszbuild.shu3   ⚠️ build 脚本不存在，跳过自动构建: z<============================================================uG   🚀 混淆完成，开始自动执行 build.sh 构建最终 SDK 包...bash)cwdu   🎉 构建完成！u   ❌ 构建失败，退出码: )

subprocessr3   pathjoinr   r<   existsr6   run
returncode)r^   build_scriptresultrY   rY   rZ   rP      s&   
rP   __main__).r3   r7   sysr_   dirnameabspath__file__current_dirproject_rootinsert
ObjectiveCr   r   r   ObjectiveC.oc_customr   ObjectiveC.oc_functionr   rI   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   rP   __name__rY   rY   rY   rZ   <module>   sP    
 