
рдЖрдЗрд╡реА рдмреНрд░рд┐рдЬ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдПрдХ рдирдИ рдкреАрдврд╝реА рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдПрдХ рдирдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ Intel SMEP рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред NX рдмрд┐рдЯ рдХреА рддрд░рд╣, рдЬреЛ рдХреЛрдб рдХреЛ рдореЗрдореЛрд░реА рдкреЗрдЬ рдкрд░ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рдпрд╣ рдХрд░реНрдиреЗрд▓-рдореЛрдб рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рд░рджрд░реНрдж рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдмрджрд▓реЗ рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рд╡рд┐рдВрдбреЛрдЬ 8 рдореЗрдВ рдПрд╕рдПрдордИрдкреА рд╕рдкреЛрд░реНрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдЗрд╕ рддрд░рд╣ рдпрд╣ рдУрдПрд╕ рдФрд░ рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрд╕рдПрдордИрдкреА рд╕рдорд░реНрдерди "рд╣реЗрдб-рдСрди" рдХрд╛ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдорд╛рдореВрд▓реА рджреЛрд╖ рдирд┐рдХрд▓рд╛, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдЕрднреА рднреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬреЛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рджрд░реНрдж рд░рд╣рд┐рдд рд╣реИред
SMEP рдХреНрдпрд╛ рд╣реИ?
SMEP рдХрд╛ рдЕрд░реНрде "рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдореЛрдб рдирд┐рд╖реНрдкрд╛рджрди рд░реЛрдХрдерд╛рдо" рд╣реИ - рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдореЛрдб рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрдирд╛ред рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд░ рдореЛрдб рдПрдХ рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЛрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ 8 рдХрд╛ рдХрд░реНрдиреЗрд▓ рдЪрд▓рддрд╛ рд╣реИред OS рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЗрд╕ рдореЛрдб рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЛрдб рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рд╣реИ - рдЗрд╕ рдореЛрдб рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдУрдПрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд┐рдд рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, I / O рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рдпрдВрддреНрд░рдг рд░рдЬрд┐рд╕реНрдЯрд░ рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рдПрдХреНрд╕реЗрд╕ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рдХреЛрдб рдХреЛ рд╕реАрдзреЗ рдкрдврд╝, рд╕рдВрд╢реЛрдзрд┐рдд рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреА рд╣реИред
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдореЛрдб, рдмрджрд▓реЗ рдореЗрдВ, рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдПрд╕рдПрдордИрдкреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдпрджрд┐ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреГрд╖реНрда рджреЛрд╖ рд╣реЛрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ 8 рдкрд░ рдкреГрд╖реНрда рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рдпрд╣ рд╕реНрдерд┐рддрд┐ рдмрдЧрдЪреЗрдХ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧреАред
рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдЕрдЧрд░ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдХреЛрдИ рднреА рдбреНрд░рд╛рдЗрд╡рд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЙрдбреНрдпреВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдм рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдПрдХ рдЙрджрд╛рд╕ рдЗрдореЛрдЯрд┐рдХреЙрди рдХреЗ рд╕рд╛рде рдореМрдд рдХреА рдиреАрд▓реА рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдХреНрдпрд╛ рдмрд╛рдд рд╣реИ?
рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ "рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯ" рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдлрд▓ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рд╡рд╣ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╣рдорд▓рд╛рд╡рд░, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╢реЗрд▓ рдХреЛрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред
тАЬрд▓реЗрдХрд┐рди рдХрд░реНрдиреЗрд▓ рдореЛрдб рдореЗрдВ, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдореЛрд░реА рдХреЗ рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рдФрд░ рд╢реЗрд▓ рдХреЛрдб рдХреЛ рдХрд╣рд╛рдБ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рд╣реИ? рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╢реЗрд▓рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рд╣рдорд▓реЗ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рддрдм рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ?
рдЗрд╕ рддрд░рд╣ рдХреА рд╣рдорд▓рд╛рд╡рд░ рдЯреНрд░реЗрди рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рдЙрдореНрдореАрдж рдХреЗ рд╕рд╛рде, рдпрд╣ рддрдХрдиреАрдХ рдмрдирд╛рдИ рдЧрдИ рдереАред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рд░рдХреНрд╖рд╛ рддрдВрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде "рд░рд┐рдпрд░" рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдорд▓реЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╢реНрд░реЗрдгреА рд╕реЗ рдмрдЪрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред

рдкрд╣рд▓рд╛ рдкреИрдирдХреЗрдХ рдЧрд╛рдВрдарджрд╛рд░ рд╣реИ
рдЗрд╕реЗ рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рд╢реЗрд▓рдХреЛрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдкрд╕рдВрдж рдХреЗрд╡рд▓ рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИ - рдХреЗрд╡рд▓ рджреЛ рдореЛрдб), рдЗрд╕ рдореЗрдореЛрд░реА рдЕрдиреБрднрд╛рдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рд╕реЗ рд╕реАрдзреЗ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рд╕реЗ рдЗрд╕ рдореЗрдореЛрд░реА рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ) рдФрд░ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рд╕реЗ рдкрдврд╝реЗрдВ)ред рдХрд░реНрдиреЗрд▓ рдХреЛ рд╢реЗрд▓рдХреЛрдб рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдВрдбреЛрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЬрд┐рди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрдгрдирдХрд░реНрддрд╛ (рд╣реИрдВрдбрд▓) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЯрд╛рдЗрдорд░, рдШрдЯрдирд╛рдПрдБ, рдореНрдпреВрдЯреЗрдХреНрд╕, I / O рд╕рдорд╛рдкрди рдкреЛрд░реНрдЯ, рдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрджрд┐ рд╣реИрдВред рдРрд╕реА рд╡рд╕реНрддреБ рдХрд╛ рд╢рд░реАрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЛрдб рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд░реНрдиреЗрд▓ рд╕реНрдерд╛рди рдореЗрдВ рд╡реЗ рдХрд┐рд╕ рдкрддреЗ рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВ!
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╣рдо CreateFile () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЦреБрд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓ рдорд┐рд▓рддрд╛ рд╣реИред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреБрдЫ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдмрдлрд╝рд░ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо ReadFile () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд┐рд╡рд░рдг рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ _FILE_OBJECT рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдЪрд░ рдХреНрд╖реЗрддреНрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╣реИред рдпрд╛рдиреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк "\ 0xBAADC0DE" рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рд╢реЗрд▓рдХреЛрдб рд╣реЛрдЧрд╛ред рдлрд┐рд░ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░реНрдиреЗрд▓ рдореЛрдб рднреЗрджреНрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд╢реЗрд▓ рдХреЛрдб рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
0: kd> dt nt! _FILE_OBJECT
+ 0x000 рдкреНрд░рдХрд╛рд░: Int2B
+ 0x002 рдЖрдХрд╛рд░: Int2B
...
+ 0x050 рдлреНрд▓реИрдЧ: Uint4B
+ 0x058 рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо: _UNICODE_STRING+ 0x068 CurrentByteOffset: _LARGE_INTEGER
...
+ 0x0c0 IrpList: _LIST_ENTRY
+ 0x0d0 FileObjectExtension: Ptr64 рд╢реВрдиреНрдп
рд╕рдлрд▓рддрд╛? рдЕрднреА рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ 8 рдкрд░ рдПрд╕рдПрдордИрдкреА рдПрдХ рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдкреВрд░рдХ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХреЛрдб рдХрд░реНрдиреЗрд▓ рдореЛрдб рдкреГрд╖реНрда рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЪрд┐рд╣реНрди (рдмрд┐рдЯ NX) рд╣реИ рдЬреЛ рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ! рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рд╢реЗрд▓ рдХреЛрдб рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХрдерди Windows 8 рдХреЗ x64 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, x86 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЧреНрд░рд╛рдлрд╝рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ!
рдкреИрд▓реЗрдЯ рдПрдХ рд╢реЗрд▓рдХреЛрдб рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╡рд╕реНрддреБ рдирд┐рдХрд▓рд╛ред рдпрд╣ CreatePalette () рдлрд╝рдВрдХреНрд╢рди рдФрд░ LOGPALETTE рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рд╢реЗрд▓ рдХреЛрдб рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИред рдлрд┐рд░ рднреА, рдкреИрд▓реЗрдЯ рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреЛ рдХреИрд╕реЗ рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рдЬрд╛рдП? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкреИрд▓реЗрдЯ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд░рдВрдЧ рд╣реЛрдВрдЧреЗ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ! рдФрд░ рд╣рдо NOP (0x90) рдХреЗ рдХрдИ рдмрд╛рдЗрдЯреНрд╕, рдФрд░ рд╢реЗрд▓рдХреЛрдб рдХреЗ рдХрдИ рдмрд╛рдЗрдЯреНрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ "рджреБрд╖реНрдЯ" рдкреИрд▓реЗрдЯ рд╣реИ ...

рдХреБрд▓ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ 8 x86 рдкрд░ SMEP рдмрд╛рдИрдкрд╛рд╕ рдпреЛрдЬрдирд╛ рд╣реИ:
1. "рдмреБрд░рд╛рдИ" LOGPALETTE рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдБ, рдЗрд╕реЗ рд╢реЗрд▓рдХреЛрдб рдХреЗ рд╕рд╛рде рднрд░рдирд╛ред
2. CreatePalette () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкреИрд▓реЗрдЯ рдмрдирд╛рдПрдВред
3. рд╕рд╛рдЭрд╛ GDI рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреИрд▓реЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред
4. рд╣рдо рдкреИрд▓реЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдСрдлрд╕реЗрдЯ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
5. ???????
6. рд▓рд╛рдн !!!
рдФрд░ x64 рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
рд╡рд┐рдВрдбреЛрдЬ 8 x64 рдкрд░ SMEP рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ! рд╢рд╛рдпрдж рдпрд╣ рддрд░реАрдХрд╛ рдЗрддрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред X64 рдкрд░ SMEP рдХреЛ рд░рд┐рдЯрд░реНрди рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (ROP) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдИрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, ROP рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдХреЛрдб рдХреЗ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдореЛрд░реА рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╢реЗрд▓ рдХреЛрдб рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдмреЗрд╢рдХ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреЗрд▓реЛрдб рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рд╣рдорд▓рд╛рд╡рд░ рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдорд▓рд╛рд╡рд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╕рднреА SMEP рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП, ntoskrnl рдореЙрдбреНрдпреВрд▓ рдХреЛ HvlEndSystemInterrupt () рдФрд░ KiConfigureDynamDProProcessor () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ "рдкреНрд░рд╕реНрддреБрдд" рдХрд░рддрд╛ рд╣реИред рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯреНрд╕ рдЖрдкрдХреЛ рджрд┐рдП рдЧрдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ SMEP рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
HvlEndSystemInterrupt(): тАж pop rax pop rcx retn
KiConfigureDynamicProcessor(): тАж mov cr4, rax add rsp, 28h retn

рдкреНрд░рддрд┐рдмрдВрдз рдиреАрдЪреЗ
рдПрд╕рдПрдордИрдкреА рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд▓рд╛рд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдлрд░ рд╕реЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЕрд░реНрдерд╛рддред рд╢реЗрд▓рдХреЛрдб рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдХреЛрдИ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред рдЖрдк рдХрд░реНрдиреЗрд▓ рднреЗрджреНрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ SMEP рдХреЛ "рдмреБрд░рд╛рдИ" рд╢реЗрд▓ рдХреЛрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдмреЗрд╢рдХ, рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рднреЗрджреНрдпрддрд╛ рдХреА рдЕрдкрдиреА рд╢реЛрд╖рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡рд░реНрдХрдЖрд░реНрдб рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдореЗрдВ рд╡реЗ рдЖрдо рддреМрд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдордЭрдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рд╢реЛрд╖рдХ рднреЗрджреНрдпрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдХреБрдЫ рдЕрдиреНрдп рд╢реЛрд╖рдХ рднреЗрджреНрдпрддрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
PS SMEP рдХреЛрдб рдХреЗ 13 рдмрд╛рдЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрдХреНрд╖рдо рд╣реИред рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
рд╡рд┐рдВрдбреЛрдЬ 8 x86 рдкрд░ SMEP рдХреЛ рдХреИрд╕реЗ рд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрд╡рд┐рдВрдбреЛрдЬ 8 x64 рдкрд░ рдПрд╕рдПрдордИрдкреА рдХреЛ рдХреИрд╕реЗ рд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрд▓реЗрдЦрдХ: рдЕрд░реНрдЯреЛрдо рд╢рд┐рд╢рдХрд┐рди рдФрд░ рдЗрд▓рд┐рдпрд╛ рд╕реНрдорд┐рде