shell bypass 403
o
ab%U � @ s� d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlmZm Z ej
ddgd� d dlT z
ejej�
d�d ZW n
eefyH dZY nw e�� dd
� Ze� dkrXdnd
Zedk r`dnd
Zde �� f Zde Zde Zddefddefddefddefdg d�efdg d�efddefd d!d" efd#d$d% efd&d'efg
ZG d(d)� d)ej �Z!G d*d+� d+e!�Z"e�#ed,�G d-d.� d.e!��Z$e�#ed/�G d0d1� d1e!��Z%e&d2kr�es�e'd3d4� e�(� dS dS )5� N)�
import_helper)�machine�
win32_edition�winreg�win)Zrequired_on)�*z--remote� � ZAMD64TF)� r z Python Test Key [%d] - Delete Mez SOFTWARE\zSOFTWARE\Classes\z Int Value�- zQword Valuel �w�*M z
String ValzA string valueZStringExpandzThe path is %path%zMulti-string)ZLotsZof�string�valuesz Multi-nul)� r r r zRaw Datas binary dataz
Big String�xi�? z
Big Binary� xi @ u Japanese 日本u 日本語c @ sT e Zd Zdd� Zdd� Zdefdd�Zdefdd �Zdd
d�Z ddd
�Z
dd� ZdS )�BaseWinregTestsc C s | � tt� d S �N)�delete_tree�HKEY_CURRENT_USER�
test_key_name��self� r �9/usr/local/python-3.10/lib/python3.10/test/test_winreg.py�setUp6 s zBaseWinregTests.setUpc C sp z t ||dt�}W n
ty Y d S w zt|d�}W n ty% Y q-w | �||� qt|� t||� d S �Nr )�OpenKey�KEY_ALL_ACCESS�OSError�EnumKeyr �CloseKey� DeleteKey)r �rootZsubkey�hkeyZ subsubkeyr r r r ; s ���zBaseWinregTests.delete_tree�sub_keyc C s" t |ttd� ||t�}| �|jdk� |||�}tD ]
\}}}t||d||� qt|�\} }
}| �| dd� | �|
dd� t|�\} }
}| �| dd� | �|
t t�d� t
|�}t|� zt|� | �d� W n t
yq Y nw t
|�}
|�� zt|
� | �d� W d S t
y� Y d S w )N�
Default valuer r z"Not the correct number of sub keysz Not the correct number of valueszAIt appears the CloseKey() function does not close the actual key!zBIt appears the key.Close() function does not close the actual key!)�SetValuer �REG_SZ�
assertTrue�handle� test_data�
SetValueEx�QueryInfoKey�assertEqual�len�intr �failr �Close)r �root_key� subkeystr� CreateKey�keyr$ �
value_name�
value_data�
value_type�nkeys�nvalues� since_modZint_sub_keyZint_keyr r r �_write_test_dataK s<