§
    VI»ju
  ã                  ó¸  — d Z ddlmZ ddlZddlZddlmZ  ej        dd¬¦  «        ZdZd	Z	d
Z
ej        ej        _        ej        ej        ej        gej        _        ej        ej        _        ej        ej        ej        ej         ej        ej        ¦  «        gej        _        ej        gej        _        dZdZdZd„ Zd„ Zd„ Zedk    r e¦   «          dS dS )uµ   RE bÆ°á»›c 0 - Test kháº£ nÄƒng OpenProcess/ReadProcessMemory trÃªn vggame.exe (INV: chi DOC, khong bao gio ghi).
Chay thu khong admin truoc; neu that bai se chay lai bang elevated.é    )ÚannotationsN)ÚwintypesÚkernel32T)Úuse_last_erroré   i   i   iDìm ifìm iÌfi c                 ó~  — t          j        g d¢dd¬¦  «        } g }|                      ¦   «         D ]Œ}d„ |                     d¦  «        D ¦   «         }t	          |¦  «        dk    rX|d                              ¦   «         d	k    r:	 |                     t          |d
         ¦  «        ¦  «         Œ|# t          $ r Y Œˆw xY wŒ�|S )N)Útasklistz/FIzIMAGENAME eq vggame.exez/FOÚCSVz/NHTÚreplace)ÚtextÚerrorsc                ó8   — g | ]}|                      d ¦  «        ‘ŒS )ú")Ústrip)Ú.0Úps     ú/c:\Projects\JX\scripts\re_npc_list\open_test.pyú
<listcomp>zvggame_pids.<locals>.<listcomp>   s"   € Ð9Ð9Ð9 !�—’˜‘”Ð9Ð9Ð9ó    z","é   r   z
vggame.exeé   )	Ú
subprocessÚcheck_outputÚ
splitlinesÚsplitÚlenÚlowerÚappendÚintÚ
ValueError)ÚoutÚpidsÚlineÚpartss       r   Úvggame_pidsr%      sÝ   € Ý
Ô
!Ð"eÐ"eÐ"eÐlpð  zCð  Dñ  Dô  D€CØ€DØ—’Ñ Ô ð ð ˆØ9Ð9 t§z¢z°%Ñ'8Ô'8Ð9Ñ9Ô9ˆÝˆu‰:Œ:˜Š?ˆ?˜u QœxŸ~š~Ñ/Ô/°<Ò?Ð?ðØ—’�C  a¤™MœMÑ*Ô*Ð*Ð*øÝð ð ð Ø�ðøøøøà€Ks   Â(B,Â,
B9Â8B9c           	     ó  — t          j        |¦  «        }t          j        d¦  «        }t                               | t          j        |¦  «        ||t          j        |¦  «        ¦  «        }|sd S |j        d |j        …         S )Nr   )	ÚctypesÚcreate_string_bufferÚc_size_tÚk32ÚReadProcessMemoryÚc_void_pÚbyrefÚrawÚvalue)ÚhÚaddrÚsizeÚbufÚreadÚoks         r   Úread_memr6   '   sq   € Ý
Ô
% dÑ
+Ô
+€CÝŒ?˜1ÑÔ€DÝ	×	Ò	˜q¥&¤/°$Ñ"7Ô"7¸¸dÅFÄLÐQUÑDVÔDVÑ	WÔ	W€BØð ØˆtØŒ7�<�T”Z�<Ô Ð r   c                 ót  — dd l } t          d¦  «         t          ¦   «         D �]”}t                               t
          t          z  d|¦  «        }|sut          j        ¦   «         }t                               t          t          z  d|¦  «        }t          d|› d|› d|rdnd› �¦  «         |rt           
                    |¦  «         Œ£t          |t          d	¦  «        }t          |t          d
¦  «        }t          |t          d¦  «        }|r0|                     dd¦  «        d                              dd¦  «        nd}|rt"                               |d¦  «        nd}	|r#t"                               |dd
…         d¦  «        nd}
t          d|› d|› d|	› d|
› �¦  «         t           
                    |¦  «         �Œ–d S )Nr   z1is_admin_hint: use 'net session' check separatelyFzPID z(: OpenProcess(VM_READ|QUERY) FAILED err=z ; limited retry => ÚOKÚFAILé    é   é   ó    r   Úlatin1r   ú?Úlittleéÿÿÿÿz: OK name='z' level~z mapId~)ÚosÚprintr%   r*   ÚOpenProcessÚPROCESS_QUERY_INFORMATIONÚPROCESS_VM_READr'   Úget_last_errorÚ!PROCESS_QUERY_LIMITED_INFORMATIONÚCloseHandler6   ÚSTATIC_NAMEÚSTATIC_LEVELÚ
STATIC_MAPr   Údecoder   Ú
from_bytes)rB   Úpidr0   ÚerrÚh2ÚnameÚlvlÚmpÚnmÚlvÚmapids              r   ÚmainrX   0   sÃ  € Ø€I€I€IÝ	Ð
=Ñ>Ô>Ð>Ý‰}Œ}ð ñ ˆÝ�OŠOÕ5½ÑGÈÐPSÑTÔTˆØð 	ÝÔ'Ñ)Ô)ˆCÝ—’Õ!BÅ_Ñ!TÐV[Ð]`ÑaÔaˆBÝÐw˜ÐwÐwÀcÐwÐwÐgiÐ_uÐ_cÐ_cÐouÐwÐwÑxÔxÐxØð $Ý—’ Ñ#Ô#Ð#ØÝ˜�;¨Ñ+Ô+ˆÝ�q�,¨Ñ*Ô*ˆÝ�a� QÑ'Ô'ˆØFJÐSˆT�ZŠZ˜ Ñ#Ô# AÔ&×-Ò-¨h¸	ÑBÔBÐBÐPSˆØ.1Ð9�S�^Š^˜C Ñ*Ô*Ð*°rˆØ57Ð?•—’˜r ! A #œw¨Ñ1Ô1Ð1¸RˆÝÐC�SÐCÐC RÐCÐC°ÐCÐC¸EÐCÐCÑDÔDÐDÝ�Š˜ÑÔÐÑð!ð r   Ú__main__)Ú__doc__Ú
__future__r   r'   r   r   ÚWinDLLr*   rF   rE   rH   ÚHANDLErD   ÚrestypeÚDWORDÚBOOLÚargtypesr+   ÚLPCVOIDÚLPVOIDr)   ÚPOINTERrI   rJ   rK   rL   r%   r6   rX   Ú__name__© r   r   ú<module>rg      sS  ððGð Gà "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à€f„m�J¨tÐ4Ñ4Ô4€à€Ø"Ð Ø$*Ð !à"œ/€„Ô Ø$œN¨H¬M¸8¼>ÐJ€„Ô Ø (¤€Ô Ô Ø"*¤/°8Ô3CÀXÄ_ÐV\ÔVeÐguÐgmÔguÐv|ô  wFñ  hGô  hGð  "H€Ô Ô Ø$œOÐ,€„Ô à€Ø€Ø€
ð
ð 
ð 
ð!ð !ð !ðð ð ð, ˆzÒÐØ€D�F„F€F€F€Fð Ðr   