рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ UEFI BIOS рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕рдВрд╢реЛрдзрдиреЛрдВ, рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдЦреЛрдЬ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдпреВрдИрдПрдлрдЖрдИрдЯреВрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рдЕрднреА рддрдХ рдХрдо рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рд╕реЗ рдпреВрдИрдПрдлрдЖрдИ BIOS рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдЖрдк рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдкрд░рд┐рдЪрдп рдФрд░ рдПрдХ рдФрд░ рдЕрд╕реНрд╡реАрдХрд░рдг
рдореИрдВ рдПрдХ рдПрд╕рдкреАрдЖрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдЬреЛрдЦрд┐рдо рдкрд░ рд╕рднреА рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдЪрд╛рдирдХ рдЗрд╕реЗ рдирд╣реАрдВ рдкрдврд╝рддреЗ рд╣реИрдВ,
рддреЛ рдЗрд╕реЗ рдкрдврд╝реЗрдВ рдФрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВред
рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрд╕рдлрд▓ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдпреВрдИрдлрд╝рд┐рдЯреВрд▓ рд╕реЗ рднреА рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддрдХрдиреАрдХреА рдореБрджреНрджреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ "рдореИрдВ рдХрд┐рд╕реА рдЫрд╡рд┐ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓реВрдВ" рдФрд░ "рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХреИрд╕реЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП" ред
рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг
рдЕрдкрдиреА UEFI BIOS рдЫрд╡рд┐ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:
- рдЕрдкрдиреА рдкрд╕рдВрдж рдХрд╛ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХред
- рдпреВрдИрдПрдлрдЖрдИ рдЫрд╡рд┐ рд╕рдВрдкрд╛рджрдХ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП, рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпреВрдИрдлрд┐рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдлреАрдирд┐рдХреНрд╕рдЯреВрд▓ (рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдмрдЧ рдХрд┐рдП рдЧрдП, рд▓реЗрдХрд┐рди рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдПрдордПрдордЯреВрд▓ (рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗрд╡рд▓ рдПрдПрдордЖрдИ рдПрдкреНрдЯрд┐рдУ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
- рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдерд╛рдпреА рдкреИрдЯрд░реНрди рдирд╣реАрдВ рд╣реИ, рддреЛ x86-64 рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕реЗрдВрдмрд▓рд░ рдФрд░ рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЕрд╕реЗрдореНрдмрд▓рд░ рдХрд╛рдлреА рдСрдирд▓рд╛рдЗрди рд╣реИ , рд▓реЗрдХрд┐рди рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╕рдВрд╢реЛрдзрди рдмрд┐рдВрджреБ рдХреА рдЦреЛрдЬ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдИрдбреАрдП рдкреНрд░реЛ рдХрд╛ рдирд┐: рд╢реБрд▓реНрдХ рд╕рдВрд╕реНрдХрд░рдг 64-рдмрд┐рдЯ рдкреАрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдбрдВрдкрдмрд┐рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдХрдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдУрдмреНрдЬрдореНрдкрдореНрдк рдпрд╛ рд╣реЙрдкрд░ рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдгред - рдпрджрд┐ рд╕рдВрд╢реЛрдзрди рдпреВрдИрдПрдлрдЖрдИ рдордВрдЪ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдХрд░рдиреЗ рджреЗрдВ - рдпрд╣ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, "рдЗрди рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдЪрдХреНрд░ рд╕рдВрдХреАрд░реНрдг рд╣реИ рдФрд░ рд╡реЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИрдВ," рдЗрд╕рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред
рд╕рдВрд╢реЛрдзрдиреЛрдВ
рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛, рдЪрд▓рд┐рдП рдЦреБрдж рд╣реА рд╕рдВрд╢реЛрдзрдиреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдореИрдВ рдХреЗрд╡рд▓ рдЙрди рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдБрдЧрд╛ рдЬрд┐рдирдХрд╛ рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╕реВрдЪреА рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЕрдкреВрд░реНрдг
рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдХреЛрдИ рдЕрдиреНрдп рдореЙрдб рдЖрдЬрд╝рдорд╛рдпрд╛ рд╣реИ - рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рд░реВрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛: рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рдирд╛рдо рдпрд╛ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рд╡рд░реНрдЧ, рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдгред рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВред
рд╕реАрдкреАрдпреВ рдкреАрдПрдо рдкреИрдЪ, рдПрдордПрд╕рдЖрд░ 0xE2 рд▓реЙрдХ рд░рд┐рдореВрд╡рд▓
рдХреНрдпрд╛ : POST рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж MSR_PMG_CST_CONFIG_CONTROL (0xE2) рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LOCK рдмрд┐рдЯ (0x0F) рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░реЗрдВ
рдХреНрдпреЛрдВ : MacOS X рдореЗрдВ CPU рдкрд╛рд╡рд░ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдУрдкрди рд░рдЬрд┐рд╕реНрдЯрд░ 0xE2 рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрдм рдмрдВрдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрд░реНрдиреЗрд▓ рдШрдмрд░рд╛рд╣рдЯ рд╣реЛрддреА рд╣реИред рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЖрдкрдХрд╛ рдпреВрдиреАрдлрд╛рдЗрдб рд╕реА-рд╕реНрдЯреЗрдЯ рдПрдордПрд╕рдЖрд░ рдЖрдкрдХреЗ рдпреВрдИрдПрдлрдЖрдИ BIOS рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рд╕рдВрд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд╣рд╛рдВ рджреЗрдЦреЗрдВ : рд╕реАрдкреАрдпреВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдпреВрдИрдПрдлрдЖрдИ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВред рдкреБрд░рд╛рдиреЗ BIOS рдореЗрдВ, рд▓реЙрдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛрдб CpuPei рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рдирдП BIOS рдореЗрдВ, PowerManagement рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реИ (рдЗрд╕реЗ PowerManagement2.efi рдпрд╛ PowerMgmtDxe.efi рднреА рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ : CpuPei рдореЗрдВ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
81 рдПрдлрдмреА рдбреА 0 06 02 00 рд╕реАрдПрдордкреА рдИрдмреЗрдХреНрд╕, 206 рдбреА0 рдПрдЪ
75 0C jne FFFE426E
0 рдбреА 00 80 00 18 рдпрд╛ рдИрдПрдХреНрд╕рдПрдХреНрд╕, 18008000 рдПрдЪ; рдмрд┐рдЯ 15 (LOCK) рдпрд╣рд╛рдВ рд╕реЗрдЯ рд╣реИред
EB 05 jmp FFFE426E
0 рдбреА 00 80 00 00 рдпрд╛ рдИрдПрдХреНрд╕рдПрдХреНрд╕, 8000 рдПрдЪ; рдпрд╛ рдпрд╣рд╛рдБ
6A FF 0FFFFFFFFh рдзрдХреНрдХрд╛
6A F8 рдкреБрд╢ 0FFFFFFF8h
рем рдП режреж рдзрдХреНрдХрд╛ реж
50 рдзрдХреНрдХрд╛ рдмрд╛рдЬ
56 рдзрдХреНрдХрд╛ рдПрд╕рдИрдЖрдИ
E8 DC 0F 00 00 рдХреЙрд▓ FFFE5257; рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ wrmsr рд╣реИ
рдпрд╣ рд▓реЙрдХ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 00800018 рдХреЛ 00000018 рдФрд░ 00800000 рдХреЛ 00000000 рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕реНрдерд╛рди рдкрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
PowerManagement рдореЗрдВ, рдХреЛрдб рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд┐рдЦрддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ:
80 рдПрдлрдмреА 01 рд╕реАрдПрдордкреА рдмреНрд▓реА, 1; рдпрджрд┐ рдмреАрдПрд▓ == 1
75 08 jne 0000000180002700; рдЕрдЧрд▓реА рджреЛ рдЯреАрдореЛрдВ рдкрд░ рдХреВрджреЗрдВ
0F рдмреАрдП E8 0F рдмреАрдЯреАрдПрд╕ рдИрдПрдХреНрд╕рдПрдХреНрд╕, 0 рдПрдлрдПрдЪ; рдмрд┐рдЯ 15 (рд▓реЙрдХ) рд╕реЗрдЯ рдХрд░реЗрдВ
реп рекрек реирек рейреж рейреж рдбреНрд╡реЛрд░реНрдб рдкреАрдЯреАрдЖрд░ [рдЖрд░рдПрд╕рдкреА + рейреж рдПрдЪ], рдИрдПрдХреНрд╕рдПрдХреНрд╕; рд╕реНрдЯреИрдХ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬреЗрдВ
48 8B 54 24 30 mov rxx, qword ptr [rsp + 30h]; RDX рдореЗрдВ рдЗрд╕ рдЪрд░ рд╕реЗ рд▓реЛрдб рдорд╛рди
рдмреА 9 рдИ 2 00 00 00 рдореВрд╡ рдПрдХреНрд╢, 0 рдИ 2 рдПрдЪ; рдФрд░ ECX рдореЗрдВ MSR рдирдВрдмрд░
E8 79 0C 00 00 рдХреЙрд▓ 0000000180003388; рдФрд░ рдлрдВрдХреНрд╢рди рдХреЛ рдЕрдВрджрд░ рдХреА рддрд░рдл рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ
рдЖрдк JNE рдХреЛ JMP, BTS рдХреЛ BTR рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рднреА рд▓реЙрдХ рд╕реЗрдЯрдЕрдк рдХреЛрдб рдХреЛ "рд╕реНрдХреВрдк" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛, рдЕрд░реНрдерд╛рддреНред 75 08 рдХреЛ рдИрдмреА 08 рдореЗрдВ рдмрджрд▓реЗрдВред
рдпрджрд┐ рдЖрдкрдХреЗ UEFI BIOS рдореЗрдВ рдРрд╕рд╛ рдХреЛрдб рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ CPU рдкрд╛рд╡рд░ рдкреНрд░рдмрдВрдзрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВ 0xE2 рджреЗрдЦреЗрдВ рдФрд░ 15 рд╡реЗрдВ рдмрд┐рдЯ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдХреБрдЫ рдЖрдзреБрдирд┐рдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдПрдордЖрдИ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо BIOS рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рд╡реЗ рдЕрдм рдЗрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рд▓реЙрдХ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЛрдб рдЙрдиреНрд╣реЗрдВ рдЕрдм рдФрд░ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ - рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдореЙрдб рдмрдирд╛рдпрд╛ рд╣реИред
рдПрдИрдПрд╕ рдПрдирдЖрдИ рдЕрдирд▓реЙрдХ
рдХреНрдпрд╛ : MSR рд░рдЬрд┐рд╕реНрдЯрд░ 0x13C рдХреЛ LOCK рдмрд┐рдЯ (0x02) рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ
рдХреНрдпреЛрдВ : рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдИрдПрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдХрд╣рд╛рдВ рджреЗрдЦреЗрдВ : рд╕реАрдкреАрдпреВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдпреВрдИрдПрдлрдЖрдИ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВ, рдЕрдХреНрд╕рд░ рдкрд╛рд╡рд░ рдореИрдирдЬрдореЗрдВрдЯ рдореЗрдВ
рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ : рдпрд╣ рдкреАрдПрдо рдкреИрдЪ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ (рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ
рд╕реЗ рд╣реА
рд╣реИрдмреЗ рдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ), рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред
рд╢реНрд╡реЗрддрдкреНрд░рджрд░
рдХреНрдпрд╛ : рд╕рдВрдЧрдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рд╕рдлреЗрдж рд╕реВрдЪреА рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдЬреЛ рдХреБрдЫ рд▓реИрдкрдЯреЙрдк рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдкрдиреЗ рдпреВрдИрдПрдлрдЖрдИ BIOS рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдХреНрдпреЛрдВ : рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЖрдк "рдЕрд╕рдВрдЧрдд" рдЙрдкрдХрд░рдг рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рд╕рдВрдЧрдд рдкреВрд░реНрд╡рд╡рдд рд░реАрдмреНрд░рд╛рдВрдб рдмреЗрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдпрд╣ рддрдп рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд▓реИрдкрдЯреЙрдк рдореЗрдВ рдХреМрди рд╕реЗ рдЙрдкрдХрд░рдг рд╕рдВрдЧрдд рд╣реИрдВ - рдпрд╣ рд╕рдВрд╢реЛрдзрди рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред
рдХрд╣рд╛рдВ рджреЗрдЦреЗрдВ : рдкреАрд╕реАрдЖрдИ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдпреВрдИрдПрдлрдЖрдИ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВред HP рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЖрдорддреМрд░ рдкрд░ BiosLockPcie рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, Lenovo рдХреЗ рд▓рд┐рдП рдпрд╣ LenovoWmaPolicyDxe.efi рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рднреА рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ : рдиреЛрдЯрдмреБрдХ рдирд┐рд░реНрдорд╛рддрд╛ рд╡реНрд╣рд┐рдЯреЗрд▓рд┐рд╕реНрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреБрдЫ рд╕реНрдерд╛рдпреА рддрд░реАрдХреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рдЦреЛрдЬ рд░рдгрдиреАрддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрдХ рдЕрд╕рдВрдЧрдд рдХрд╛рд░реНрдб рдбрд╛рд▓реЗрдВ, рд▓реЛрдбрд┐рдВрдЧ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВред
- рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ FFS рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЦреЛрдЬреЗрдВред
- рдЙрд╕ рдХреЛрдб рдХреЛ рдвреВрдВрдвреЗрдВ рдЬреЛ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдЗрд╕ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЪреЗрдХ рд╣рдореЗрд╢рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛред рдЖрдк рдЗрд╕реЗ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдпрд╛ рддреЛ рд╕рдВрдХреНрд░рдордг рдХреЛ рдкреИрдЪ рдХрд░реЗрдВ, рдпрд╛ рдЕрдкрдиреА рд╡реЗрдВрдбрд░ рдЖрдИрдбреА рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдИрдбреА рдХреЛ рд╕рдлреЗрдж рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдПрдЪрдкреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕рдВрд╢реЛрдзрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЙрдорд░реЗрдб
рдбреЛрдиреЛрд╡рди 6000 рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ
рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд
рд╣реИрдВ , рдЬреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ
рдореЛрдбрд░ рд╕рд░реНрдХрд▓ рдореЗрдВ рдЬреНрдЮрд╛рдд рд╣реИрдВ, рдФрд░ рдореИрдВ рд▓реЗрдиреЛрд╡реЛ рдПрдХреНрд╕ 121 рдИ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕рдВрд╢реЛрдзрди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рд╕рддреНрдпрд╛рдкрди LenovoWmaPolicyDxe.efi рдбреНрд░рд╛рдЗрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
44 38 0D F0 0F 00 00 cmp рдмрд╛рдЗрдЯ ptr [00001BF0h], r9b
75 18 jne 0000000000000C1A
E8 35 рдПрдлрдбреА рдПрдлрдПрдл рдПрдлрдПрдл рдХреЙрд▓ 000000000000093C
48 85 C0 рдкрд░реАрдХреНрд╖рдг рд░рдХреНрд╕, рд░рдХреНрд╕
4C 8B C8 mov r9, rax
0F 88 77 FF FF FF js 0000000000000B8A
C6 05 D6 0F 00 00 01 рдореВрд╡ рдмрд╛рдЗрдЯ ptr [00001BF0h], 1
49 8 рдмреА рд╕реА 1 рдореВрд╡ рд░рдХреНрд╕, рдЖрд░ 9
E9 68 FF FF FF jmp 0000000000000B8A
рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рднреА рдмрджрд▓рд╛рд╡ рдмрд┐рдирд╛ рд╢рд░реНрдд рдХреЗ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХреЛрдб рдореЗрдВ рд╣реА, рдкрд╣рд▓реА рдФрд░ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ "рд╕реНрдХреВрдк" рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЪреЗрдХ рд╣рдореЗрд╢рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
BIOS рд▓реЙрдХ рд╣рдЯрд╛рдиреЗ
рдХреНрдпрд╛ : рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдпреВрдИрдПрдлрдЖрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рд╣рдЯрд╛рдирд╛ред
рдХреНрдпреЛрдВ : рдпреВрдИрдПрдлрдЖрдИ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣рд░ рдмрд╛рд░ рдЬрд▓реНрджреА рд╕реЗ рдКрдм рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рд╛рде рддреЗрдЬ рд╣реЛрддрд╛ рд╣реИ (рдмрд╛рд╣рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╛рдзрд╛рд░рдг рдПрд╕рдкреАрдЖрдИ рдХреЗ рдмрдЬрд╛рдп рдХреНрд╡рд╛рдбрдПрд╕рдкреАрдЖрдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдСрдкрд░реЗрд╢рди рдХреЗ рдХрд╛рд░рдг)ред
рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдБ : рдЪрд┐рдкрд╕реЗрдЯ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдореЗрдВ, рдЕрдХреНрд╕рд░ PchInitDxe (рдореЙрдб рдХрд╛ рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг BiosWriteProtect рдореЗрдВ рд╣реИ)
рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ : PchInitDxe рд╕рдВрд╢реЛрдзрди рд╕рдВрд╕реНрдХрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ
рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд
рд╣реИ , рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдЪрд╛рд░ рджреВрдВрдЧрд╛ред рдЪрд┐рдкрд╕реЗрдЯ рдХреЗ BIOS_CNTL рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ BIOS рд▓реЙрдХ рдЗрдиреЗрдмрд▓ (BLE) рдмрд┐рдЯ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдвреВрдВрдврдирд╛ рдФрд░ рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдк рдЗрд╕реЗ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ:
рек 48 48 рдмреА рек рд╕реА реирек рекреж рдореВрд╡ рдЖрд░рдПрдХреНрд╕, рдХреНрдпреВрд╡рд░реНрдб рдкреАрдЯреАрдЖрд░ [рдЖрд░рдкреАрдПрд╕ + рекреж рдПрдЪ]; RCX рдореЗрдВ PchPlatformData рд╕рдВрд░рдЪрдирд╛ рдкрддрд╛ рд▓реЛрдб рдХрд░реЗрдВ
рек 48 48 рдмреА рекрез релреж рдореВрд╡ рд░рдХреНрд╕, рдХреНрд╡реЙрд░реНрдб рдкреАрдЯреАрдЖрд░ [рдЖрд░рдПрдХреНрд╕рдПрдХреНрд╕ + релреж рдПрдЪ]; рдФрд░ RAX рдореЗрдВ, рд▓реЙрдХрдбрд╛рдЙрди рдХреЙрдирдлрд┐рдЧ рдЪрд╛рдЗрд▓реНрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдкрддрд╛
F6 00 10 рдкрд░реАрдХреНрд╖рдг рдмрд╛рдЗрдЯ ptr [rax], 10h; рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд╛рдВрдЪрд╡рд╛рдВ рдмрд┐рдЯ рд╕реЗрдЯ рд╣реИ (BiosLock)
74 25 рдЬреЗрдИрдПрди 0000000180001452; рдпрджрд┐ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕рднреА рдХреЛрдб рдкрд░ рдХреВрджреЗрдВ
8A 50 01 mov dl, рдмрд╛рдЗрдЯ ptr [rax + 1]
рдмреА 9 рдмреА 2 00 00 00 рдПрдордИрдПрдо рдЗрдПрдХреНрд╕рдПрдХреНрд╕, 0 рдмреА 2 рдПрдЪ;
E8 A2 5A 00 00 рдХреЙрд▓ 0000000180006EDC
4C 8D 87 DC 00 00 00 r8, [rdi + 000000DCh]; RDI рдЪрд┐рдкрд╕реЗрдЯ рдХреЗ LPC рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЖрдзрд╛рд░ рдкрддрд╛ рд╣реИ, рдФрд░ 0xDC BIOS_CNTL рд░рдЬрд┐рд╕реНрдЯрд░ рдСрдлрд╝рд╕реЗрдЯ рд╣реИ
33 рд╕реА 9 рдПрдХреНрд╕реЛрд░ рдИрдПрдХреНрд╕рдПрдХреНрд╕, рдИрдПрдХреНрд╕рдПрдХреНрд╕
4 рд╕реА 8 рдмреА рд╕реАрдбреА рдореВрд╡ рдЖрд░ 9, рдЖрд░рдмреАрдкреА
33 рдбреА 2 рдПрдХреНрд╕рдЖрд░ рдПрдбрд┐рдХреНрд╕, рдПрдбрдПрдХреНрд╕
4C 89 44 24 20 mov qword ptr [rsp + 20h], r8
E8 AA 76 00 00 рдХреЙрд▓ 0000000180008AFC; рддрд╛рд▓рд╛ рд▓рдЧрд╛ рджреЛ
рдЖрдк рдЬреЗрдИ рдХреЛ рдЬреЗрдПрдордкреА рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдПрдХ рдЫреЛрдЯреА рдЫрд▓рд╛рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдПрдХ рд▓рдВрдмрд╛ рдПрдХ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдСрдлрд╕реЗрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХрдорд╛рдВрдб рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдмрджрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЬреЗрдбрдПрдл рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЖрд░ рд░реИрдХреНрд╕, рд░рдХреНрд╕ (48 31 C0), рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдХрд╛рд░ рдЕрдВрддрд░ред NOP рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдбред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб PchInitDxe рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдк BiosWriteProtect рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕реНрдерд┐рдд SMI рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛, рдЬреЛ рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп BLE рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд┐рдЯ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
рдЙрдиреНрдирдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдирд▓реЙрдХ
рдХреНрдпрд╛ : рдЫрд┐рдкреЗ рд╣реБрдП BIOS рд╕реЗрдЯрдЕрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдирд╛ред
рдХреНрдпреЛрдВ : рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмреАрдЪ, рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рднрд░ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рд╡реЗ рдПрдХ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВред
рдХрд╣рд╛рдВ рджреЗрдЦреЗрдВ : рдлреАрдирд┐рдХреНрд╕ рдФрд░ рдЗрдВрд╕рд╛рдЗрдб рдХреЗ рд▓рд┐рдП, рдореЗрдиреВ рдХреЛ HII рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ SetupMain, SetupAdvanced рдЖрджрд┐ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред AMI рдХреЗ рд▓рд┐рдП, рдореЗрдиреВ рдХреЛ рд╕реЗрдЯрдЕрдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ AMITSE рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдПрдордЖрдИ рдЕрдкрдиреЗ рдПрдПрдордЖрдИрдмреАрд╕реАрдкреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрддреНрдкрд╛рдж рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЕрдХреНрд╕рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдмрд┐рдВрджреБ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ - рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВред
рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ : рдПрдПрдордЖрдИ рдХреЗ рд▓рд┐рдП - рдПрдПрдордЖрдИрдмреАрд╕реАрдкреА рдореЗрдВ рдЫрд╡рд┐ рдЦреЛрд▓реЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реЗрдВ, рд╕рд╣реЗрдЬреЗрдВ, рдлреНрд▓реИрд╢ рдХрд░реЗрдВ, рдлрд╝реИрдХреНрдЯрд░реА рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ, рдХрд┐рдпрд╛ред рдЗрдВрд╕реАрдб рдФрд░ рдлреАрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдЪреАрдЬреЗрдВ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВред рдпрджрд┐
рдПрдирд╡реАрдЖрд░рдПрдПрдо рддрдХ рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд
рдлрд╛рд▓рд╕реЗрдХреЙрдХ рдХреЙрдорд░реЗрдб рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдХреЛрдИ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдкрдХреЛ рдПрдЪрдЖрдИрдЖрдИ рдлреЙрд░реНрдо рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпрд╛ рдЗрд╕реЗ рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрд╛
рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдЖрдИрдПрдлрдЖрд░ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдпреВрдИрдПрдлрдЖрдИ рдЫрд╡рд┐ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдПрдЪрдЖрдИрдЖрдИ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕рдХреЗ рдмрд╛рдж, рдирд┐рдХрд╛рд▓реЗ рдЧрдП HII рдлреЙрд░реНрдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЗрд╡рд▓ SUPRESS_IF рд╢рд░реНрддреЛрдВ рдХреЛ рдмрджрд▓реЗрдВ рддрд╛рдХрд┐ рд╡реЗ рдХрднреА рднреА рди рдЪрд▓реЗрдВ рдФрд░ рд╕рднреА рдореЗрдиреВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдВред
CPU Microcode, OptionROM, рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рдЪрд┐рддреНрд░ рдЕрдкрдбреЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ
рдХреНрдпрд╛ : рд╕реАрдкреАрдпреВ рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛, рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдзреАрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдлрд░реНрдорд╡реЗрдпрд░, рдИрдПрдлрдЖрдИ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдФрд░ рдмреВрдЯ рд╕рдордп рдФрд░ BIOS рд╕реЗрдЯрдЕрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЫрд╡рд┐рдпрд╛рдВред
рдХреНрдпреЛрдВ : рдХрднреА-рдХрднреА рдЕрдкрдбреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, RAID0 рдореЗрдВ SSD рдХреЗ рд▓рд┐рдП TRIM) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдВрддрддрдГ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХрд╣рд╛рдБ рджреЗрдЦрдирд╛ рд╣реИ : рдпрд╣ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, EFI рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдирд╛рдо (SataDriver, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рд╕реЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдорд╛рдЗрдХреНрд░реЛрдХреЛрдб рдЙрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдореЙрдбрд▓ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, OROMs рджреНрд╡рд╛рд░рд╛ VID / DID рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдЬреЛ рд╡реЗ рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЪрд┐рддреНрд░ JPEG рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ "JFIF", GIF рдореЗрдВ - "GIF8", рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ : рдПрдХ рдиреАрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓ - рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдвреВрдВрдвреЗрдВ, рдпрд╣ рдвреВрдВрдвреЗрдВ рдХрд┐ рдкреБрд░рд╛рдиреА рдЫрд╡рд┐ рдореЗрдВ рдХрд╣рд╛рдВ рд╣реИ, рдФрд░ рдПрдХ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред MMTool рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдереА рдХреЛ LS_29 рджреНрд╡рд╛рд░рд╛ AMI рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдк рдЗрд╕реЗ
рд╣рдорд╛рд░реЗ рд╡рд┐рд╖рдп рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред рдореИрдВрдиреЗ рдлреАрдирд┐рдХреНрд╕ рдпрд╛ рдЗрдВрд╕реАрдб рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИред
рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдпрд╛ рддреЛ рдПрдПрдордЖрдИ рдЪреЗрдВрдЬрд▓реЛрдЧреЛ рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рддрд╕реНрд╡реАрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рддрд╕реНрд╡реАрд░ рдХреЛ рдлреНрд░реАрдЬ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдк рдбрд┐рдХреЛрдбрд░ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, EXIF тАЛтАЛрдбреЗрдЯрд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдбрд┐рд▓реАрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрди рдореЙрдбреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд┐рдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рдкрд░рд┐рд╡рд░реНрдзрди рд╣реИ - рддреЛ рдореБрдЭреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореИрдВ рд╡рд┐рдирдореНрд░рддрд╛рдкреВрд░реНрд╡рдХ Habr рдкреНрд░рд╢рд╛рд╕рди рдФрд░ рдпреВрдПрдлрдУ рд╕реЗ рдпреВрдИрдПрдлрдЖрдИ рд╣рдм рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╖рдп рд╣реИ, рдФрд░ рдЗрд╕ рдкрд░ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЖрдкрдХреЛ рд╕рдлрд▓ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред