рдпрд╣ рдкреНрд░рдХрд╛рд╢рди рд╡рд┐рдВрдбреЛрдЬ рдбреАрдмрдЧрд┐рдВрдЧ рдЗрдВрдЬрди (рдбреАрдмрдЧрд░ рдЗрдВрдЬрди) рдХреЗ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЙрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдореГрддрд┐ рдкрддреЛрдВ рдХреЛ рд░рдВрдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд░ рдореЗрдВ рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдбрд┐рдмрдЧрд░ рдЗрдВрдЬрди рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░рдВрддрд░ рдХреНрд╖реЗрддреНрд░ рд╣реЛрддрд╛ рд╣реИ: рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЖрдзрд╛рд░ рдкрддрд╛ (рдЕрдиреБрдорд╛рдирд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рдХрд╛ рдкрддрд╛) рдФрд░ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ред рдбрд┐рдмрдЧрд┐рдВрдЧ (рд▓рд╛рдЗрд╡ рдбрд┐рдмрдЧрд┐рдВрдЧ / рдбрдВрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб / рдХрд░реНрдиреЗрд▓ рдореЛрдб, рдЖрджрд┐) рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧрд░ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рддрдВрддреНрд░ рд╣реИред рдЕрджреНрдпрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ / s рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде .reload рдХрдорд╛рдВрдб рд╣реИ ред
рдпрджрд┐ рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд╛рдЗрд╡ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА рд▓реЛрдбрд░ рдХреА рддреАрди рдореБрдЦреНрдп рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ : рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд┐рдВрдЧ рдСрд░реНрдбрд░ рдХреА рдПрдХ рд╕реВрдЪреА (InLoadOrderModuleList), рдореЗрдореЛрд░реА рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА (InMemoryOrderModuleList) рдФрд░ рдПрдХ рдЖрд░рдВрднреАрдХрд░рдг рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реВрдЪреА (In InInadadOrderModuleList)ред рдПрдХ рдУрд░, рд╡рд╣рд╛рдБ ( рд▓рдЧрднрдЧ ) рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рд╣рдореЗрдВ рдордирдорд╛рдирд╛ рдбреЗрдЯрд╛ (рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рдкреАрдИ рдлрд╝рд╛рдЗрд▓ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рд▓реЗрдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдЙрдкрд░реЛрдХреНрдд рддреАрди рд▓реЛрдбрд░ рд╕реВрдЪрд┐рдпреЛрдВ (рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫреБрдкрд╛рдирд╛) рд╕реЗ рдирд┐рдпрдорд┐рдд рд╕рд╛рдзрдиреЛрдВ рд╕реЗ рд▓реЛрдб DLL рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рддрдХрдиреАрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИред
рджреЛрдиреЛрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп, рдЫрд┐рдкреЗ рд╣реБрдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВред рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдХреЗрд╡рд▓ WinDbg рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЙрд╕реА .reload рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рд╕реЗ рдбреНрд░реЙрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди / u рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реВрдЪреАрдмрджреНрдз рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ, рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ (notepad.exe) рдХреА рд╕рд╛рдорд╛рдиреНрдп рдбреАрдмрдЧрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, ntdll рдореЙрдбреНрдпреВрд▓ (0x07ffa8a160000) рдХрд╛ рдЖрдзрд╛рд░ рдкрддрд╛ рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ (0x01e1000) рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ:
0:007> lm m ntdll Browse full module list start end module name 00007ffa`8a160000 00007ffa`8a341000 ntdll 0:007> ? 00007ffa`8a341000-00007ffa`8a160000 Evaluate expression: 1970176 = 00000000`001e1000
рдПрдирдбреАрдЯреАрдПрд▓ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд╕рд░рд▓ RtlFreeSid рдлрд╝рдВрдХреНрд╢рди рдХреА рд╕реВрдЪреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ RtlFreeHeap рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде RtlFreeSid рдФрд░ RtlFreeSeap рд╡рд░реНрдгреЛрдВ рдХреЗ рдкрддреЗ (0x7ffa8a1cbc20 рдФрд░ 0x7ffa8a176df0) рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИред
0:007> uf ntdll!RtlFreeSid ntdll!RtlFreeSid: 00007ffa`8a1cbc20 4053 push rbx 00007ffa`8a1cbc22 4883ec20 sub rsp,20h 00007ffa`8a1cbc26 488bd9 mov rbx,rcx 00007ffa`8a1cbc29 33d2 xor edx,edx 00007ffa`8a1cbc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ffa`8a1cbc34 4c8bc3 mov r8,rbx 00007ffa`8a1cbc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ffa`8a1cbc3b e8b0b1faff call ntdll!RtlFreeHeap (00007ffa`8a176df0) 00007ffa`8a1cbc40 33c9 xor ecx,ecx 00007ffa`8a1cbc42 85c0 test eax,eax 00007ffa`8a1cbc44 480f45d9 cmovne rbx,rcx 00007ffa`8a1cbc48 488bc3 mov rax,rbx 00007ffa`8a1cbc4b 4883c420 add rsp,20h 00007ffa`8a1cbc4f 5b pop rbx 00007ffa`8a1cbc50 c3 ret
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░, ntdll рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ! RtlFreeSid рдлрд╝рдВрдХреНрд╢рди:
0:007> ? 00007ffa`8a1cbc51 - 0x07ffa8a1cbc20 Evaluate expression: 49 = 00000000`00000031
рдФрд░ ntdll рдХрд╛ рдЖрдХрд╛рд░! RtlFreeHeap рдлрд╝рдВрдХреНрд╢рди рд╣рдорд╛рд░реЗ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдПрдХ рдмрд╛рдЗрдЯ рдХреЗ рдмрд░рд╛рдмрд░ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рдПрдирдбреАрдЯреАрдПрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВ:
0:007> .reload /u ntdll Unloaded ntdll
рдбреАрдмрдЧрд░ рдореЗрдВ ntll! RtlFreeSid рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рдЗрд╕ рдХрд╛рд░реНрдп рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдЗрддрдирд╛ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ (рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреНрд░реЗрд╕ рджреНрд╡рд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ):
0:007> uf 00007ffa`8a1cbc20 00007ffa`8a1cbc20 4053 push rbx 00007ffa`8a1cbc22 4883ec20 sub rsp,20h 00007ffa`8a1cbc26 488bd9 mov rbx,rcx 00007ffa`8a1cbc29 33d2 xor edx,edx 00007ffa`8a1cbc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ffa`8a1cbc34 4c8bc3 mov r8,rbx 00007ffa`8a1cbc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ffa`8a1cbc3b e8b0b1faff call 00007ffa`8a176df0 00007ffa`8a1cbc40 33c9 xor ecx,ecx 00007ffa`8a1cbc42 85c0 test eax,eax 00007ffa`8a1cbc44 480f45d9 cmovne rbx,rcx 00007ffa`8a1cbc48 488bc3 mov rax,rbx 00007ffa`8a1cbc4b 4883c420 add rsp,20h 00007ffa`8a1cbc4f 5b pop rbx 00007ffa`8a1cbc50 c3 ret
рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ IDebugSymbols3 :: AddSyntheticModule рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред рдмрд╕ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдорд╛рдВрдб рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕ рдХреЙрд▓ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ)ред рдорд┐рдЦрд╛рдЗрд▓ рдЖрдИред рдЗрдЬрд╝рдореЗрд╕реНрдЯреЗрд╡ рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рдПрдХ рд╕рдорд╛рди рддрдВрддреНрд░ рд╣реИ - рд╕рдорд╛рди .рд▓реЛрдб , рд▓реЗрдХрд┐рди рдирд╛рдо, рдкрддрд╛ рдФрд░ рдЖрдХрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде: "рдореЙрдбреНрдпреВрд▓ = рдкрддрд╛, рдЖрдХрд╛рд░" (рдФрд░, рд╕рдВрднрд╡рддрдГ, рдпрд╣ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
.reload ntdll = 00007ff8`470e1000,001e1000 0:007> .reload ntdll=00007ff8`470e1000,001e1000 *** WARNING: Unable to verify timestamp for ntdll *** ERROR: Module load completed but symbols could not be loaded for ntdll 0:007> uf 00007ff8`4714bc20 ntdll+0x6ac20: 00007ff8`4714bc20 4053 push rbx 00007ff8`4714bc22 4883ec20 sub rsp,20h 00007ff8`4714bc26 488bd9 mov rbx,rcx 00007ff8`4714bc29 33d2 xor edx,edx 00007ff8`4714bc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ff8`4714bc34 4c8bc3 mov r8,rbx 00007ff8`4714bc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ff8`4714bc3b e8b0b1faff call ntdll+0x15df0 (00007ff8`470f6df0) 00007ff8`4714bc40 33c9 xor ecx,ecx 00007ff8`4714bc42 85c0 test eax,eax 00007ff8`4714bc44 480f45d9 cmovne rbx,rcx 00007ff8`4714bc48 488bc3 mov rax,rbx 00007ff8`4714bc4b 4883c420 add rsp,20h 00007ff8`4714bc4f 5b pop rbx 00007ff8`4714bc50 c3 ret
рдЦреИрд░, рд╣рдо рдбрд┐рдмрдЧрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрд╣рд╛рдВ pykd рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдПрдЧрд╛
ред рдирд╡реАрдирддрдо (рд▓реЗрдЦрди рдХреЗ рд╕рдордп) 0.3.4.3 рд░рд┐рд▓реАрдЬ рдореЗрдВ, рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗ: addSyntheticModule (...) (рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ) рдФрд░ removeSyntheticModule (...)ред
рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рдЖрдзрд╛рд░ рдкрддреЗ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдбрд┐рдмрдЧрд░ рдореЗрдВ рдЫрд┐рдкреЗ рд╣реБрдП ntdll рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореМрди рдирд┐рд╖реНрдкрд╛рджрди рд╕рдлрд▓рддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ, рдореБрджреНрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
0:007> !py Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> addSyntheticModule(0x07ffa8a160000, 0x01e1000, 'ntdll') *** WARNING: Unable to verify timestamp for ntdll >>> exit()
рдЕрдм disassembler рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛ рдЧрдИ рд╣реИ:
0:007> uf 00007ffa`8a1cbc20 ntdll+0x6bc20: 00007ffa`8a1cbc20 4053 push rbx 00007ffa`8a1cbc22 4883ec20 sub rsp,20h 00007ffa`8a1cbc26 488bd9 mov rbx,rcx 00007ffa`8a1cbc29 33d2 xor edx,edx 00007ffa`8a1cbc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ffa`8a1cbc34 4c8bc3 mov r8,rbx 00007ffa`8a1cbc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ffa`8a1cbc3b e8b0b1faff call ntdll+0x16df0 (00007ffa`8a176df0) 00007ffa`8a1cbc40 33c9 xor ecx,ecx 00007ffa`8a1cbc42 85c0 test eax,eax 00007ffa`8a1cbc44 480f45d9 cmovne rbx,rcx 00007ffa`8a1cbc48 488bc3 mov rax,rbx 00007ffa`8a1cbc4b 4883c420 add rsp,20h 00007ffa`8a1cbc4f 5b pop rbx 00007ffa`8a1cbc50 c3 ret
рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ ntdll рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкреНрд░рддреАрдХ
рдПрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ, рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдореВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдХреНрдкрдЯреБ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рдХрдореА рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо RtlFreeSid рдФрд░ RtlFreeHeap)ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдХреЙрд▓ рдлрд┐рд░ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ - IDebugSymbols3 :: AddSyntheticSymbol ред рдлрд┐рд░ рд╕реЗ рдкрдХреНрдХрдб
рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░:
0:007> !py Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> addSyntheticSymbol(0x07ffa8a1cbc20, 0x31, 'RtlFreeSid') <pykd.syntheticSymbol object at 0x0000014D47699518> >>> addSyntheticSymbol(0x07ffa8a176df0, 1, 'RtlFreeHeap') <pykd.syntheticSymbol object at 0x0000014D476994A8> >>> exit()
рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдХреБрдЫ рдЙрд╕реА рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬреЛ ntdll pdb рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
0:007> uf 00007ffa`8a1cbc20 ntdll!RtlFreeSid: 00007ffa`8a1cbc20 4053 push rbx 00007ffa`8a1cbc22 4883ec20 sub rsp,20h 00007ffa`8a1cbc26 488bd9 mov rbx,rcx 00007ffa`8a1cbc29 33d2 xor edx,edx 00007ffa`8a1cbc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ffa`8a1cbc34 4c8bc3 mov r8,rbx 00007ffa`8a1cbc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ffa`8a1cbc3b e8b0b1faff call ntdll!RtlFreeHeap (00007ffa`8a176df0) 00007ffa`8a1cbc40 33c9 xor ecx,ecx 00007ffa`8a1cbc42 85c0 test eax,eax 00007ffa`8a1cbc44 480f45d9 cmovne rbx,rcx 00007ffa`8a1cbc48 488bc3 mov rax,rbx 00007ffa`8a1cbc4b 4883c420 add rsp,20h 00007ffa`8a1cbc4f 5b pop rbx 00007ffa`8a1cbc50 c3 ret
рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд▓реЛрдЧреЛрдВ рдореЗрдВред рдпрд╣реА рд╣реИ, рдЖрдк рджреЛрдиреЛрдВ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд╕реБрд▓рдн рдкреАрдбреАрдмреА-рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде , рдФрд░ рдЙрди рдореЙрдбреНрдпреВрд▓реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреАрдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд╣рд░ рд╡рд░реНрдг рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред рдпрд╣реА рд╣реИ, рдореМрдЬреВрджрд╛ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдордирдорд╛рдиреЗ рд╕реНрдореГрддрд┐ рдкрддреЗ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдПрдХ рд▓рд┐рдлрд╛рдлрд╛ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдЗрд╕рдореЗрдВ рдПрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкреНрд░рддреАрдХ рдмрдирд╛рдПрдВред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд╣рд╛рде рдХреЗ рдПрдХ рд▓рд╛рдкрд░рд╡рд╛рд╣ рдЖрдВрджреЛрд▓рди рдХреЗ рд╕рд╛рде рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдореЙрдбреНрдпреВрд▓ рдХреЗ рдбрд┐рдмрдЧ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рднреА рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд╕рднреА рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдирд┐рдХрд▓ рдЬрд╛рдПрдВрдЧреЗред
рд╣рд╛рд▓рд╛рдВрдХрд┐ pykd рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдмреВрдЯрд╕реНрдЯреИрдкрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реБрдП), рдХрднреА-рдХрднреА рдЖрдк рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ pykd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрдХ рдмрд╛рд░ host'ovy рдорд╢реАрди рд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд┐рд╕ рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, pykd рдиреЗ рдХрд╛рдлреА рд╕рдордп рд╕реЗ XP рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкрд╛рддреНрд░реЛрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реЗ рдЫреЛрдЯреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ pykd рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг XP рд╕рдорд░реНрдерди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕рдВрдХреАрд░реНрдг рд╢реНрд░реЗрдгреА рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ред рдирддреАрдЬрддрди, рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ ! Synexts рдмрдирд╛рдИ рдЧрдИ рдереАред
рдпрд╣ рдПрдХ рд╕рд░рд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЛ рдирд┐рд░реНрдпрд╛рдд рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- ? synexts.addsymbol - рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкреНрд░рддреАрдХ рдмрдирд╛рддрд╛ рд╣реИ;
- ? synexts.addmodule - рдбреАрдмрдЧрд┐рдВрдЧ рдЗрдВрдЬрди рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдореЗрдВ рдПрдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд┐рд░ рд╕реЗ ntdll рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ:
0:007> .reload /u ntdll Unloaded ntdll 0:007> uf 00007ffa`8a1cbc20 00007ffa`8a1cbc20 4053 push rbx 00007ffa`8a1cbc22 4883ec20 sub rsp,20h 00007ffa`8a1cbc26 488bd9 mov rbx,rcx 00007ffa`8a1cbc29 33d2 xor edx,edx 00007ffa`8a1cbc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ffa`8a1cbc34 4c8bc3 mov r8,rbx 00007ffa`8a1cbc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ffa`8a1cbc3b e8b0b1faff call 00007ffa`8a176df0 00007ffa`8a1cbc40 33c9 xor ecx,ecx 00007ffa`8a1cbc42 85c0 test eax,eax 00007ffa`8a1cbc44 480f45d9 cmovne rbx,rcx 00007ffa`8a1cbc48 488bc3 mov rax,rbx 00007ffa`8a1cbc4b 4883c420 add rsp,20h 00007ffa`8a1cbc4f 5b pop rbx 00007ffa`8a1cbc50 c3 ret
рдлрд┐рд░, рд╣рдо рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА! Synexts рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
0:007> !synexts.addmodule ntdll C:\Windows\System32\ntdll.dll 00007ffa`8a160000 0x01e1000 *** WARNING: Unable to verify timestamp for C:\Windows\System32\ntdll.dll Synthetic module successfully added 0:007> !synexts.addsymbol RtlFreeSid 00007ffa`8a1cbc20 31 Synthetic symbol successfully added 0:007> !synexts.addsymbol RtlFreeHeap 00007ffa`8a176df0 1 Synthetic symbol successfully added
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдХрд▓рд┐рдд synexts.dll рд▓рд╛рдЗрдмреНрд░реЗрд░реА (WinDbg рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдмрд┐рдЯ рдЧрд╣рд░рд╛рдИ рдХреЗ рдЕрдиреБрд░реВрдк) рдХреЛ рдбрд┐рдмрдЧрд░ рдХреЗ рдбрд╛рдЗрд░реЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ:
0:007> .chain Extension DLL search Path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\WINXP;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\arcade;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\pri;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64;<тАж> Extension DLL chain: pykd.pyd: image 0.3.4.3, API 1.0.0, built Thu Jan 10 19:56:25 2019 [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\pykd.pyd] synexts: API 1.0.0, built Fri Jan 18 17:38:17 2019 [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\synexts.dll] <тАж>
рдФрд░ рдлрд┐рд░ рд╕реЗ рд╣рдо рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╡рд░реНрдг рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВ:
0:007> uf 00007ffa`8a1cbc20 ntdll!RtlFreeSid: 00007ffa`8a1cbc20 4053 push rbx 00007ffa`8a1cbc22 4883ec20 sub rsp,20h 00007ffa`8a1cbc26 488bd9 mov rbx,rcx 00007ffa`8a1cbc29 33d2 xor edx,edx 00007ffa`8a1cbc2b 65488b0c2560000000 mov rcx,qword ptr gs:[60h] 00007ffa`8a1cbc34 4c8bc3 mov r8,rbx 00007ffa`8a1cbc37 488b4930 mov rcx,qword ptr [rcx+30h] 00007ffa`8a1cbc3b e8b0b1faff call ntdll!RtlFreeHeap (00007ffa`8a176df0) 00007ffa`8a1cbc40 33c9 xor ecx,ecx 00007ffa`8a1cbc42 85c0 test eax,eax 00007ffa`8a1cbc44 480f45d9 cmovne rbx,rcx 00007ffa`8a1cbc48 488bc3 mov rax,rbx 00007ffa`8a1cbc4b 4883c420 add rsp,20h 00007ffa`8a1cbc4f 5b pop rbx 00007ffa`8a1cbc50 c3 ret