403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/py7zr/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/py7zr/__pycache__/win32compat.cpython-312.pyc
�

5�	fN���ddlZddlZddlZddlmZddlmZejdk(�rddlZddl	m
Z
mZmZm
Z
mZmZmZiZej$d�ed<edj&Zedj(Zedj*Zedj,ZdZdZd	Zd
ZdZdZd
ZdZdedede fd�Z!Gd�dejD�Z#Gd�dejD�Z$Gd�dej�Z%Gd�dejD�Z&dee'ejPfde fd�Z)dee'ejPfdee'ejTffd�Z+de fd�Z,de fd�Z-y) �N)�	getLogger)�Union�win32)�BOOL�DWORD�HANDLE�LPCWSTR�LPDWORD�LPVOID�LPWSTR�kernel32�li i�	il@l@i@�val�flag�returnc�$�t||z|k(�S�N)�bool)rrs  �3/usr/lib/python3/dist-packages/py7zr/win32compat.py�
_check_bitrs���C�$�J�$�&�'�'�c�T�eZdZdZdej
fdejedz
zfgZy)�SymbolicLinkReparseBuffera Implementing the below in Python:

        typedef struct _REPARSE_DATA_BUFFER {
            ULONG  ReparseTag;
            USHORT ReparseDataLength;
            USHORT Reserved;
            union {
                struct {
                    USHORT SubstituteNameOffset;
                    USHORT SubstituteNameLength;
                    USHORT PrintNameOffset;
                    USHORT PrintNameLength;
                    ULONG Flags;
                    WCHAR PathBuffer[1];
                } SymbolicLinkReparseBuffer;
                struct {
                    USHORT SubstituteNameOffset;
                    USHORT SubstituteNameLength;
                    USHORT PrintNameOffset;
                    USHORT PrintNameLength;
                    WCHAR PathBuffer[1];
                } MountPointReparseBuffer;
                struct {
                    UCHAR  DataBuffer[1];
                } GenericReparseBuffer;
            } DUMMYUNIONNAME;
        } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
        �flags�path_buffer�N)	�__name__�
__module__�__qualname__�__doc__�ctypes�c_ulong�c_byte� MAXIMUM_REPARSE_DATA_BUFFER_SIZE�_fields_�rrrrs4��	�<�f�n�n�%�
�F�M�M�-M�PR�-R�S�T�
�rrc�6�eZdZdejedz
zfgZy)�MountReparseBufferr�N)rrrr!r#r$r%r&rrr(r(@s!��
�F�M�M�-M�PR�-R�S�T�
�rr(c��eZdZdefdefgZy)�ReparseBufferField�symlink�mountN)rrrrr(r%r&rrr+r+Es��
�1�2�
�(�)�
�rr+c	���eZdZdZdej
fdejfdejfdejfdejfdejfdejfd	efgZy
)�
ReparseBuffer)�u�reparse_tag�reparse_data_length�reserved�substitute_name_offset�substitute_name_length�print_name_offset�print_name_lengthr0N)	rrr�_anonymous_r!r"�c_ushortr+r%r&rrr/r/Ksk����
�F�N�N�+�
"�F�O�O�4�
����)�
%�v���7�
%�v���7�
 �&�/�/�2�
 �&�/�/�2�
�$�%�	
�rr/�pathc��tgt_tt_ttt
|��tj�Sr)	r	�GetFileAttributesW�argtypesr�restyper�str�stat�FILE_ATTRIBUTE_REPARSE_POINT�r:s r�is_reparse_pointrCXs3��'.�i��#�%*��"��,�S��Y�7��9Z�9Z�[�[rc���t|tj�}t|�}tt
t
tt
t
tgt_	tt_
tt
tt
tt
ttgt_	tt_
tt|tddtt t"zd��}t%�}td�}t|t&ddt)j*|�t,t)j*|�d�}t/|�|s:t1t2�}|j5dj7|��t9d��|j:t<k(rM|j>}||j@z}	tC|jDjF�||	jId�}
nk|j:tJk(rM|j>}||j@z}	tC|jLjF�||	jId�}
nt9d��|
jOd�rd|
ddz}
|rtjP|
�S|
S)	Nrz(Failed IOCTL access to REPARSE_POINT {})z2not a symbolic link or access permission violationz	UTF-16-LEznot a symbolic linkz\??\�\\�))�
isinstance�pathlib�Pathr?rrrr�CreateFileWr=r>r
�DeviceIoControlr�GENERIC_READ�
OPEN_EXISTING�FILE_FLAG_BACKUP_SEMANTICS�FILE_FLAG_OPEN_REPARSE_POINTr/�FSCTL_GET_REPARSE_POINTr!�byrefr$�CloseHandler�__file__�error�format�
ValueErrorr1�IO_REPARSE_TAG_SYMLINKr4r5�	bytearrayr,r�decode�IO_REPARSE_TAG_MOUNT_POINTr-�
startswith�WindowsPath)r:�target_is_path�target�handle�buf�ret�status�logger�offset�ending�rpaths           r�readlinkrg]s���6$�D�'�,�,�7���T��� &��u�f�e�U�F�S���$���$*�E�6�5�&�%�QX�Z`�#a�� �"&�����F�L�!�T�=�$>�A]�$]�_`�b�c���o���A�h�� ��)@�$��6�<�<�X[�K\�!A�6�<�<�PS�CT�VZ�\���F����x�(�F��L�L�C�J�J�6�R�S��Q�R�R��?�?�4�4��/�/�F��c�8�8�8�F��c�k�k�5�5�6�v�f�E�L�L�[�Y�E�
�_�_� :�
:��/�/�F��c�8�8�8�F��c�i�i�3�3�4�V�F�C�J�J�;�W�E��2�3�3�&���H�%��U�1�2�Y�&�E���&�&�u�-�-��Lrc���tjdk(xrMtjdk(xr8dtj	�j�vxrdtjvS)Nr�nt�cygwin)�sys�platform�os�name�system�lowerr&rr�is_windows_native_pythonrq�sS�������	)��G�G�t�O�	)��H�O�O�-�3�3�5�5�	)�
�C�L�L�(�	rc�b�tjdk(xr|jjd�S)NrrE)rkrl�driver[rBs r�is_windows_unc_pathrt�s%���<�<�7�"�D�t�z�z�'<�'<�V�'D�Dr).rHr@rk�loggingr�typingrrlr!�ctypes.wintypesrrrr	r
rr�_stdcall_libraries�WinDLLrRrJrKr<rMrLrOrPrNrZrWr$�intrr�	Structurerr(r+r/r?rIrCr\rgrqrtr&rr�<module>r|s�����
����<�<�7���U�U�U���%2�V�]�]�:�%>��z�"�$�Z�0�<�<�K�$�Z�0�<�<�K�(��4�D�D�O�+�J�7�J�J���M��L�#-� �(��!+��!+��'��'0�$�(��(�3�(�4�(�!
�F�$4�$4�!
�F
�V�-�-�
�

�V�\�\�
�
��(�(�
�\�u�S�'�,�,�%6�7�\�D�\�
N�u�S�'�,�,�.�/�N�E�#�w�?R�?R�:R�4S�N�b�$��E��Er

Youez - 2016 - github.com/yon3zu
LinuXploit