Your IP : 216.73.216.52


Current Path : /snap/lxd/current/lib/python3/dist-packages/pyuefivars/__pycache__/
Upload File :
Current File : //snap/lxd/current/lib/python3/dist-packages/pyuefivars/__pycache__/__init__.cpython-312.pyc

�

5B�i����ddlZddlZddlmZmZddlmZddlmZddl	m
Z
ddlmZdZ
eje
krejd	e
z�ej#d
�Zej#d�Zd�Zd
�Zd�Zd�Zedk(re�yy)�N�)�UEFIVar�UEFIVarStore)�AWSUEFIVarStore)�EDK2UEFIVarStore)�JSONUEFIVarStore)�EFIVARFSUEFIVarStore)�rz#Python %s.%s or later is required.
z/61 df e4 8b ca 93 d2 11 aa 0d 00 e0 98 03 2b 8cz/cb b2 19 d7 3a 3d 96 45 a3 bc da d0 0e 67 65 6fc��tttttd�}||vr||Sdj|�}t
d|�d|�d���)N)�aws�edk2�json�efivarfs�nonez", "zUnknown Input type "z", choose from ("z"))rrrr	r�join�
SystemExit)�s�formats�fmts   �U/build/lxd/parts/uefivars/install/lib/python3.12/site-packages/pyuefivars/__init__.py�Str2UEFIVarStorersU��� � �(���G�	�G�|��q�z��
�+�+�g�
�C�
�+�A�3�.?��u�B�G�
H�H�c��d}d}d}d}||z|z|z}t|d�}|j�}	t|	�dk(r>tdj	|�t
j��tj�t||	||�S)	Nr��� �rbrz"Read empty variable "{}". Aborting��file)	�open�read�len�print�format�sys�stderr�exitr)
�arg�name�guid�EFI_VARIABLE_NON_VOLATILE�EFI_VARIABLE_BOOTSERVICE_ACCESS�EFI_VARIABLE_RUNTIME_ACCESS�2EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS�attr�varfile�vardatas
          r�ReadVarr2's��� *��&0�#�",��9C�6�$�'F�F�#�$�&X�Y�D��3��o�G��l�l�n�G��G����
�2�9�9�$�?�c�j�j�Q����
��4��$��-�-rc��tj�}|jdddd��|jdddd��|jd	d
d��|jd
dd��|jddd��|jddd��|jddd��|jddd��|j�}|S)Nz-iz--inputz6Input type ("aws", "json", "edk2", "efivarfs", "none")T)�help�requiredz-oz--outputz2Output type ("aws", "json", "edk2[,filesize=512]")z-Iz--inputfilezInput file (stdin if not given))r4z-Oz--outputfilez!Output file (stdout if not given)z-Pz--PKz*Insert PK from given file (usually PK.esl)z-Kz--KEKz,Insert KEK from given file (usually KEK.esl)z-bz--dbz*Insert db from given file (usually db.esl)z-xz--dbxz,Insert dbx from given file (usually dbx.esl))�argparse�ArgumentParser�add_argument�
parse_args)�parser�argss  r�_parserr<:s���
�
$�
$�
&�F�
����i�.f�qu��v�
����j�/c�nr��s�
����m�2S��T�
����n�3V��W�
����f�+W��X�
����g�,Z��[�
����f�+W��X�
����g�,Z��[�����D��Krc�	�d}d}d}d}t�}t|j�}|jj	d�D�cgc]}|j���c}|_|jdd}|jd|_t|j�}|jdk(rd}	n�|jdk(r
|j}	nh|jrt|jd�}
n5tjj}
td	tj�
�|
j�}	||	�}tdj|jj!��tj�
�t#|j�D]�\}}|j|}
|
j$dk(r|
j&t(k(r|}|
j$d
k(r|
j&t(k(r|}|
j$dk(r|
j&t*k(r|}|
j$dk(s��|
j&t*k(s��|}��|j,rgt/|j,dt(�}
|dk7r+tdtj�
�|
|j|<n<|jj1|
�n |dk(rtdtj�
�|j2rft/|j2d
t(�}
|dk7r+tdtj�
�|
|j|<n|jj1|
�|j4rft/|j4dt*�}
|dk7r+tdtj�
�|
|j|<n|jj1|
�|j6rft/|j6dt*�}
|dk7r+tdtj�
�|
|j|<n|jj1|
�||_|r|j;|�|j<rt|j<d�}ntj>j}|jAtC|��tdj|jj!��tj�
�ycc}w)N����,rrr�rrzReading uefivars from stdinrzRead {} variables�PK�KEK�db�dbxzReplacing PKzHNo PK (PlatformKey) was set; SecureBoot will not be enabled without a PKz
Replacing KEKzReplacing dbz
Replacing dbx�wbzWriten {} variables)"r<r�input�output�split�strip�	inputfiler r%�stdin�bufferr#r&r!r$�vars�__len__�	enumerater)r*�
globalEfiGUID�secureDatabaseGUIDrAr2�appendrBrCrD�	__class__�set_output_options�
outputfile�stdout�write�bytes)�pk_found�	kek_found�db_found�	dbx_foundr;�inclassr�output_options�outclass�indata�infile�varstore�i�var�outfiles               r�mainrfIs����H��I��H��I��9�D��t�z�z�*�G�&*�k�k�&7�&7��&<�=��1�7�7�9�=�D�K��[�[���_�N��+�+�a�.�D�K�����,�H��z�z�V����	
���z�	!������>�>��$�.�.�$�/�F��Y�Y�%�%�F��/�c�j�j�A�������v��H�	�
�
$�
$�X�]�]�%:�%:�%<�
=�C�J�J�O��(�-�-�(�
���1��m�m�A����H�H������]�!:��H��H�H���#�(�(�m�";��I��H�H������-?�!?��H��H�H���#�(�(�.@�"@��I�
�	
����d�g�g�t�]�3����N��.�s�z�z�2�&)�H�M�M�(�#��M�M� � ��%�
�b�.�
�X�_b�_i�_i�j�����d�h�h��}�5����O��/��
�
�3�'*�H�M�M�)�$��M�M� � ��%�����d�g�g�t�%7�8����N��.�s�z�z�2�&)�H�M�M�(�#��M�M� � ��%�����d�h�h��'9�:����O��/��
�
�3�'*�H�M�M�)�$��M�M� � ��%�"�H����#�#�N�3�����t����-���*�*�#�#���M�M�%��/�"�	�
�
&�
&�x�}�}�'<�'<�'>�
?�c�j�j�Q��g>s�S�__main__)r6r%rbrrrrr
rrrrr	�
MIN_PYTHON�version_infor'rX�fromhexrPrQrr2r<rf�__name__�rr�<module>rms����
�+� �"�"�*��
����j� ��C�H�H�
3�j�
@�A��
�
�O�P�
��]�]�#T�U��
I� .�&�\R�~�z���F�r