§
    bP»j©  ã                  óî  — d Z ddlmZ ddlZddlZddlZddlZddlmZ dZ ej	        ed¬¦  «          ej
        d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d„ Z e!dk    r e ¦   «          dS dS )a   RE verify - Kiem tra dia chi neo phase_1 hien co on khong (ca 3 PID lien quan).
ONLY ReadProcessMemory (VM_READ), never write. Requires Admin.
Usage: python verify_anchor.py [pid]   (PID gan dung nhat la 87600)
Output: logs/re_npc_list/verify_pid<PID>.txt
é    )ÚannotationsN)ÚwintypeszC:\Projects\JX\logs\re_npc_listT)Úexist_okÚkernel32)Úuse_last_erroré   i   iDìm ifìm iÌfi ip  it÷Zc           	     ó  — t          j        |z  ¦   «         }t          j        d¦  «        }t                               | t          j        |¦  «        ||t          j        |¦  «        ¦  «        sd S t          |¦  «        d |j        …         S )Nr   )	ÚctypesÚc_charÚc_size_tÚk32ÚReadProcessMemoryÚc_void_pÚbyrefÚbytesÚvalue)ÚhÚaddrÚsizeÚbufÚbrs        ú3c:\Projects\JX\scripts\re_npc_list\verify_anchor.pyÚread_memr   $   sr   € ÝŒ=˜4ÑÑ
"Ô
"€CÝ	Œ˜Ñ	Ô	€BÝ× Ò  ¥F¤O°DÑ$9Ô$9¸3ÀÅfÄlÐSUÑFVÔFVÑWÔWð ØˆtÝ�‰:Œ:�j˜œ�jÔ!Ð!ó    c                 ó¾  ‡‡‡‡— dd l } dd lŠg }| j        dd …         D ]5}	 |                     t	          |¦  «        ¦  «         Œ&# t
          $ r Y Œ2w xY w|sdg}|D �]ï}t          j                             t          d|› d�¦  «        Šg Šˆˆfd„} |d|› dt          d	›d
�¦  «         	 dd l}|                     |¦  «        } |d|                     ¦   «         › dt          j        dt          j        |                     ¦   «         ¦  «        ¦  «        › �¦  «         n%# t$          $ r} |d|› �¦  «         Y d }~nd }~ww xY wt&                               t*          t,          z  d|¦  «        }|s! |dt/          j        ¦   «         › �¦  «         �Œ2	 t3          |t4          d¦  «        }	t3          |t6          d¦  «        }
t3          |t8          d¦  «        }|	r0|	                     dd¦  «        d                              dd¦  «        nd} |d|› d|
rt                               |
d¦  «        nd› d|r#t                               |d d…         d¦  «        nd› �¦  «         tA          d¦  «        D �]A}t3          |t          dz
  d¦  «        Š‰rtC          ‰¦  «        dk     r |d|› d �¦  «          �n ˆˆfd!„} |d"¦  «         |d#¦  «         |d$¦  «         |d%¦  «        f\  }}}} |d¦  «         |d¦  «        }} |tD          ¦  «         |tD          dz   ¦  «        }}d|cxk    od&k     nc o|d'k    od|cxk    od&k     nc } |d|› d(|› d)|› d*|› d+|› d,|› d,|› d-|› d.|› d,|› d/tG          |d0z  ¦  «        › d,tG          |d1z  ¦  «        › d2�¦  «         |d3k     rt          j$        d¦  «         �ŒCnF# t$          $ r9}dd l%} |d4|› �¦  «          || &                    ¦   «         ¦  «         Y d }~nd }~ww xY wt&           '                    |¦  «          |d5|› d6�¦  «         �ŒÃ# t&           '                    |¦  «          |d5|› d6�¦  «         w xY wtQ          d7d8¬9¦  «         d S ):Nr   é   i0V Ú
verify_pidz.txtc                ó.  •— dt          j        d¦  «        › d| › �}t          |d¬¦  «         ‰                     |¦  «         t	          ‰dd¬¦  «        5 }|                     d	                     ‰¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nú[z%H:%M:%Sz] T©ÚflushÚwzutf-8)Úencodingú
)ÚtimeÚstrftimeÚprintÚappendÚopenÚwriteÚjoin)ÚmsgÚsÚfÚlinesÚlog_paths      €€r   Úlogzmain.<locals>.log;   sØ   ø€ Ø6•D”M *Ñ-Ô-Ð6Ð6°Ð6Ð6ˆAÝ�!˜4Ð Ñ Ô Ð Ø�LŠL˜‰OŒOˆOÝ�h ¨gÐ6Ñ6Ô6ð *¸!Ø—’˜Ÿ	š	 %Ñ(Ô(Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s   Á)B
Â
BÂBz===== VERIFY PID z
 target=0xÚXz =====zproc=z	 started=z%H:%Mzpsutil: FzOpenProcess FAILED err=é    é   é   ó    Úlatin1Úreplaceú?zname='z' level=Úlittleéÿÿÿÿz mapId=é(   i¨  r   z] KHONG doc duoc (fail)c                ó^   •— ‰                      d‰d| z   d| z   dz   …         ¦  «        d         S )Nz<ir<   r4   r   )Úunpack)ÚrelÚrawÚstructs    €€r   Úatzmain.<locals>.atZ   s2   ø€ Ø!Ÿ=š=¨¨s°4¸#±:¸dÀS¹jÈ1¹nÐ3LÔ/MÑNÔNÈqÔQÐQr   ièÿÿÿiìÿÿÿiðÿÿÿéüÿÿÿéÈ   éd   z] hp=z sta=ú/z sig=(ú,z	) sig_ok=z	 coords=(z) HUD=(é   i   ú)é   zEXCEPTION: z
===== PID z done =====zALL DONETr    ))ÚsysrA   Úargvr(   ÚintÚ
ValueErrorÚosÚpathr+   ÚLOG_DIRÚTARGETÚpsutilÚProcessÚnamer%   r&   Ú	localtimeÚcreate_timeÚ	Exceptionr   ÚOpenProcessÚPROCESS_QUERY_INFORMATIONÚPROCESS_VM_READr
   Úget_last_errorr   ÚSTATIC_NAMEÚSTATIC_LEVELÚ
STATIC_MAPÚsplitÚdecodeÚ
from_bytesÚrangeÚlenÚ	COORD_OFFÚroundÚsleepÚ	tracebackÚ
format_excÚCloseHandler'   )rK   ÚpidsÚaÚpidr1   rS   ÚpÚexr   ÚnmBÚlvBÚmpBrU   ÚirB   ÚhpÚs1Úv100Ús2ÚstaÚmsÚcxÚcyÚsig_okrh   r/   r0   r@   rA   s                            @@@@r   Úmainr}   ,   s	  øøøø€ Ø€J€J€JØ€M€M€MØ€DØŒX�a�b�bŒ\ð ð ˆð	Ø�KŠK�˜A™œÑÔÐÐøÝð 	ð 	ð 	ØˆDð	øøøàð ØˆwˆØð 4/ñ 4/ˆÝ”7—<’<¥Ð)?°cÐ)?Ð)?Ð)?Ñ@Ô@ˆØˆð	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	ˆÐ? Ð?Ð?­vÐ?Ð?Ð?Ð?Ñ@Ô@Ð@ð	!ØˆMˆMˆMØ—’˜sÑ#Ô#ˆAØˆCÐd˜Ÿš™œÐdÐd­4¬=¸Å$Ä.ÐQR×Q^ÒQ^ÑQ`ÔQ`ÑBaÔBaÑ+bÔ+bÐdÐdÑeÔeÐeÐeøÝð 	!ð 	!ð 	!ØˆC�˜2��Ñ Ô Ð Ð Ð Ð Ð Ð øøøøð	!øøøå�OŠOÕ5½ÑGÈÐPSÑTÔTˆØð 	ØˆCÐC­&Ô*?Ñ*AÔ*AÐCÐCÑDÔDÐDÙð	/Ý˜1�k¨2Ñ.Ô.ˆCÝ˜1�l¨AÑ.Ô.ˆCÝ˜1�j¨!Ñ,Ô,ˆCØKNÐW�3—9’9˜W aÑ(Ô(¨Ô+×2Ò2°8¸YÑGÔGÐGÐTWˆDØˆCð K˜ð Kð KÀsÐ'R¥s§~¢~°c¸(Ñ'CÔ'CÐ'CÐPRð Kð KØ=@ÐH�Ÿš¨¨B¨Q¨B¬°Ñ9Ô9Ð9ÀbðKð Kñ Lô Lð Lå˜1‘X”Xð "ñ "�Ý˜q¥&¨4¡-°Ñ>Ô>�Øð �c #™hœh¨Ò5Ð5Ø�CÐ6˜AÐ6Ð6Ð6Ñ7Ô7Ð7Ø‘EðRð Rð Rð Rð Rð Rð $& 2 c¡7¤7¨B¨B¨s©G¬G°R°R¸±W´W¸b¸bÀ¹f¼fÐ#DÑ ��B˜˜bØ˜"˜Q™%œ%   A¡¤�R�Ø˜�I™œ¨¨­9°q©=Ñ(9Ô(9�B�Ø˜b˜˜š˜ 3š˜˜˜ÐH¨4°3ª;ÐH¸1À¸=¸=º=¸=ÀSº=¸=¸=¸=�Ø�ð P˜ð Pð P ð Pð P¨ð Pð P¨rð Pð P¸ð Pð P¸dð Pð PÀRð Pð PÐRXð Pð PØ!ðPð PØ$&ðPð PÝ/4°R¸±V©}¬}ðPð PÝ?DÀRÈÁV¹}¼}ðPð Pð Pñ Qô Qð Qà�q’5�5Ý”J˜q‘M”M�MùøøÝð 	(ð 	(ð 	(ØÐÐÐØˆCÐ"˜bÐ"Ð"Ñ#Ô#Ð#ØˆC�	×$Ò$Ñ&Ô&Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'øøøøð	(øøøõ
 �OŠO˜AÑÔÐØˆCÐ-˜SÐ-Ð-Ð-Ñ.Ô.Ð.Ñ.øõ �OŠO˜AÑÔÐØˆCÐ-˜SÐ-Ð-Ð-Ñ.Ô.Ð.Ð.øøøÝ	ˆ*˜DÐ!Ñ!Ô!Ð!Ð!Ð!s[   ¡"AÁ
AÁAÂ(A3DÄ
D>Ä&D9Ä9D>ÆHN-Î,PÎ-
O0Î7/O+Ï&PÏ+O0Ï0PÐ+Q	Ú__main__)"Ú__doc__Ú
__future__r   r
   rO   Ú
subprocessr%   r   rQ   ÚmakedirsÚWinDLLr   r[   rZ   ÚHANDLErY   ÚrestypeÚDWORDÚBOOLÚargtypesr   ÚLPCVOIDÚLPVOIDr   ÚPOINTERrj   r]   r^   r_   re   rR   r   r}   Ú__name__© r   r   ú<module>rŽ      sh  ððð ð
 #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à
,€Ø €„ˆG˜dÐ #Ñ #Ô #Ð #à€f„m�J¨tÐ4Ñ4Ô4€Ø€Ø"Ð à"œ/€„Ô Ø$œN¨H¬M¸8¼>ÐJ€„Ô Ø (¤€Ô Ô Ø"*¤/°8Ô3CÀXÄ_Ø"(¤/°>°6´>À&Ä/Ñ3RÔ3Rð"T€Ô Ô à$œOÐ,€„Ô à€Ø€Ø€
Ø€	à	€ð"ð "ð "ð@"ð @"ð @"ðF ˆzÒÐØ€D�F„F€F€F€Fð Ðr   