hyb
2026-01-07 c7f60dc7e9a36596f0e0d1787bd0cca4e9b57bcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Ë
hñúh×#ãó8—dZddlmZd„Zd„Zd„Zd„Zd„Zd„Zy    )
z!
Utilities for Windows platform.
é)Úcompatcó\—tjj«}|s td«‚|S)z9
    Return the Windows directory, e.g., C:\Windows.
    z*ERROR: Cannot determine Windows directory!)rÚwin32apiÚGetWindowsDirectoryÚ
SystemExit)Úwindirs úSH:\Change_password\venv_build\Lib\site-packages\PyInstaller/utils/win32/winutils.pyÚget_windows_dirr
s*€ô_‰_× 0Ñ 0Ó 2€FÙ ÜÐEÓFÐFØ €MócóV—tjj«}|t«gS)z3
    Return the required Windows system paths.
    )rrÚGetSystemDirectoryr
)Úsys_dirs r    Úget_system_pathrs&€ôo‰o×0Ñ0Ó2€Gð
”_Ó&Ð 'Ð'r cóˆ—ddl}|j|d¬«5}|jjcddd«S#1swYyxYw)zL
    Return the machine type code from the header of the given PE file.
    rNT©Ú    fast_load)ÚpefileÚPEÚ FILE_HEADERÚMachine)ÚfilenamerÚpes   r    Úget_pe_file_machine_typer(s;€óà    ‰8 tˆÓ    ,ð&°Ø~‰~×%Ñ%÷&÷&ò&ús    ˜8¸Acó°—ddl}|j|d¬«5}|j«t|«}||j_t |dg«}|D]*}|jj
sŒ||j_Œ,|j«}ddd«t|d«5}|j«ddd«y#1swYŒ0xYw#1swYyxYw)zg
    Modifies the executable's build timestamp by updating values in the corresponding PE headers.
    rNTrÚDIRECTORY_ENTRY_DEBUGÚwb)
rrÚ    full_loadÚintrÚ TimeDateStampÚgetattrÚstructÚwriteÚopen)Úexe_pathÚ    timestamprrÚ debug_entriesÚ debug_entryÚdataÚfps        r    Úset_exe_build_timestampr*2s̀óà    ‰8 tˆÓ    ,ð°ð      ‰ Œô˜    “Nˆ    à'0ˆ‰Ô$ô  Ð$;¸RÓ@ˆ Ø(ò    =ˆKØ×!Ñ!×/Ó/Ø3< ×"Ñ"Õ0ð    =ð
x‰x‹zˆ÷%ô*
ˆh˜Ó    ð Ø
‰Œ÷ð÷+ðú÷*ðús˜ACÁ.#CÂ%C ÃC    à CcóT—ddl}    t|«}|j    |d¬«5}||j
_|j«}ddd«t|d«5}|j«ddd«y#t$r}td«|‚d}~wwxYw#1swYŒMxYw#1swYyxYw)a
    Compute the executable's PE checksum, and write it to PE headers.
 
    This optional checksum is supposed to protect the executable against corruption but some anti-viral software have
    taken to flagging anything without it set correctly as malware. See issue #5579.
    rNzFailed to compute PE checksum!Trr)    rÚcompute_exe_pe_checksumÚ    ExceptionÚ RuntimeErrorrÚOPTIONAL_HEADERÚCheckSumr"r#)r$rÚchecksumÚerr(r)s       r    Úupdate_exe_pe_checksumr3Qs°€óð
DÜ*¨8Ó4ˆð
 
‰8 tˆÓ    ,ð°Ø&.ˆ×ÑÔ#ðx‰x‹zˆ÷    ô
ˆh˜Ó    ð Ø
‰Œ÷ðøô òDÜÐ;Ó<À!ÐCûðDú÷ðú÷ðús.† A5¤"BÁBÁ5    BÁ> B
BÂBÂB'c    óR—ddl}ddlm}m}|jd«j}|jj
j }d|_|j|_    |j
j}|jf|_|j|_    |j
j}|j|j|j|j|j|j|jf|_|j|_    |j
j}|j|j|j|j|j|jf|_|j|_    |j
j }    |j|j|j|j|jf|    _|j|    _    |j
j"}
|j$f|
_|j|
_    |j
j&} |j|j(f| _|j*j,} |j|j|j.|j.f| _|j| _    ||j1|«dddddd«} | |k(r|«}t3d    |›d
|›«‚|j5d«}| | |«dk(r|«}|| «t3d |›«‚|j}|d kDr t3d «‚|| ddddd«}|s|«}|| «t3d|›«‚|    |dddd«}|dk(r%|«}||«|| «t3d|›«‚|jd«}|jd«}| |||j7|«|j7|««}|€|«}|
|«||«|| «|€t3d›«‚|jS)ar
    This is a replacement for the MapFileAndCheckSumW function. As noted in MSDN documentation, the Microsoft's
    implementation of MapFileAndCheckSumW internally calls its ASCII variant (MapFileAndCheckSumA), and therefore
    cannot handle paths that contain characters that are not representable in the current code page.
    See: https://docs.microsoft.com/en-us/windows/win32/api/imagehlp/nf-imagehlp-mapfileandchecksumw
 
    This function is based on Wine's implementation of MapFileAndCheckSumW, and due to being based entirely on
    the pure widechar-API functions, it is not limited by the current code page.
    rN)ÚwindllÚwintypeséÿÿÿÿ©léé€zFailed to open file z! Error code: z,Failed to query file size file! Error code: lÿÿzKExecutable size exceeds maximum allowed executable size on Windows (4 GiB)!éz Failed to map file! Error code: éz'Failed to create map view! Error code: z'CheckSumMappedFile failed! Error code: )Úctypesr5r6ÚHANDLEÚvalueÚkernel32Ú GetLastErrorÚargtypesÚDWORDÚrestypeÚ CloseHandleÚBOOLÚ CreateFileWÚLPCWSTRÚLPVOIDÚCreateFileMappingWÚ MapViewOfFileÚUnmapViewOfFileÚLPCVOIDÚ GetFileSizeExÚPLARGE_INTEGERÚimagehlpÚCheckSumMappedFileÚPDWORDÚ    c_wchar_pr.Ú LARGE_INTEGERÚbyref)r$r=r5r6ÚINVALID_HANDLErArErGrJrKrLrNrQÚhFileÚerrÚ
fileLengthÚhMappingÚ baseAddressÚ    headerSumÚcheckSumÚrets                     r    r,r,nså€óß'à—_‘_ RÓ(×.Ñ.€Nà—=‘=×)Ñ)×6Ñ6€LØ€LÔØ#Ÿ>™>€LÔà—/‘/×-Ñ-€Kà‰ð€KÔð#Ÿ-™-€KÔà—/‘/×-Ñ-€Kà×ÑØ‰Ø‰Ø‰Ø‰Ø‰Ø‰ð€KÔð#Ÿ/™/€KÔàŸ™×;Ñ;Ðà‰Ø‰Ø‰Ø‰Ø‰Ø×Ñð #ÐÔð"*§¡ÐÔà—O‘O×1Ñ1€Mà‰Ø‰Ø‰Ø‰Ø‰ð €MÔð%ŸO™O€MÔà—o‘o×5Ñ5€Oà×Ñð €OÔð'Ÿm™m€OÔà—O‘O×1Ñ1€Mà‰Ø×Ñð€MÔð
 Ÿ™×;Ñ;Ðà‰Ø‰Ø‰Ø‰ð    #ÐÔð "*§¡ÐÔñ Ø×јÓ"ØØØ Ø    Ø Ø ó €Eð ÒÙ‹nˆÜÐ1°(°¸>È#ÈÐOÓPÐPð×'Ñ'¨Ó*€JِU˜JÓ'¨1Ò,Ù‹nˆÙEÔÜÐIÈ#ÈÐOÓPÐPØ×!Ñ!€JؐYÒÜÐhÓiÐiñ"Ø Ø Ø Ø    Ø    Ø ó €Hñ Ù‹nˆÙEÔÜÐ=¸c¸UÐCÓDÐDñ ØØ    Ø    Ø    Ø    ó €KðaÒÙ‹nˆÙHÔِEÔÜÐDÀSÀEÐJÓKÐK𗑘qÓ!€I؏~‰~˜aÓ €HÙ
˜[¨*°f·l±lÀ9Ó6MÈvÏ|É|Ð\dÓOeÓ
f€CØ
€{Ù‹nˆñKԠِÔِÔà
€{ÜÐDÀSÀEÐJÓKÐKà >‰>Ðr N)    Ú__doc__Ú PyInstallerrr
rrr*r3r,r8r r    ú<module>ras.ðñõòò    (ò&òò>ó:Sr