
ASLR рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рд▓реЗрдЖрдЙрдЯ рд░реИрдВрдбрдорд╛рдЗрдЬреЗрд╢рди, рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рд░реИрдВрдбрдорд╛рдЗрдЬреЗрд╢рди рд╣реИред рдпрд╣ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдПрдбреНрд░реЗрд╕ рдХрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд╣рдорд▓реЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред рд▓рдХреНрд╖реНрдп рд╕рдВрд░рдЪрдирд╛ рдХреА рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕реНрдерд╛рди рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд▓рд╛рд╡рд░ рдХреА рд╕рдлрд▓рддрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЫреЛрдЯреА рд╣реИрдВред
рд╡рд┐рдВрдбреЛрдЬ рдПрдПрд╕рдПрд▓рдЖрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рддрдВрддреНрд░ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдПрдХ рдкреАрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ рди рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд╕рдВрджреАрджрд╛ рдЖрдзрд╛рд░ рдкрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреАрдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрднрд╛рдЧ рдЫрд╡рд┐ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрд░рдЪрдирд╛ рд╣реИред рдпрд╣ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдЖрдзрд╛рд░ рдкрддреЗ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╣реА рдХрд╛рдордХрд╛рдЬ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдПрд╕рдПрд▓рдЖрд░ рдХреЗ рдХрд╛рдо рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдФрд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рднрд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬреЛ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреАрдИ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрддреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИред
рд╡рд┐рдВрдбреЛрдЬ 8 рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ j = 24 рдФрд░ k = 55 рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд▓рдВрдмрд┐рдд рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рдЬрдирд░реЗрдЯрд░ рд╣реИред рдЗрд╕рдХреА рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ winload.exe рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Winload.exe рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдПрдиреНрдЯреНрд░реЙрдкреА рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ: рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреБрдВрдЬреА, рдЯреАрдкреАрдПрдо, рд╡рд░реНрддрдорд╛рди рд╕рдордп, рдПрд╕реАрдкреАрдЖрдИ, рд╕рд╛рде рд╣реА рдирдП rdrand рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдкрд░рдорд╛рдгреБ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рд╕реНрд░реЛрдд [1] рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЗрдП рдирдП rrrand рдмрдпрд╛рди рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдЖрдИрд╡реА рдмреНрд░рд┐рдЬ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ, рдЗрдВрдЯреЗрд▓-рд╕рд┐рдХреНрдпреЛрд░ рдХреА рддрдХрдиреАрдХ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЫрджреНрдо рдЖрдпрд╛рдореА рд╕рдВрдЦреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрд╢ рдХреА рдЧрдИ рдереАред рдпрд╣ рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд░реИрдВрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░ (DRNG) рдФрд░ rdrand рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рдиреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, DRNG рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЪрд┐рдк рдкрд░ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╣реИред рдпрд╣ 3 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреЗ рд╕рд╛рде рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред DRNG рдПрдВрдЯреНрд░реЛрдкреА рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдерд░реНрдорд▓ рд╢реЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдПрдХ рдПрдХреАрдХреГрдд рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЬрд╛рдВрдЪ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд░рддреА рд╣реИред рдЕрд╕рдВрддреЛрд╖рдЬрдирдХ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, DRNG рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред
рд░реИрдВрдбреНрд░рд╛рди рдЕрдиреБрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ DRNG рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдХрд┐ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, DRNG рдПрдХ рдЕрд╕рдВрддреЛрд╖рдЬрдирдХ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рдЦрд╛рд▓реА рдЖрдВрддрд░рд┐рдХ рдХрддрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╢реВрдиреНрдп рдорд╛рди рд▓реМрдЯрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, DRNG рдХреЛ рдЦрд╛рд▓реА рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред
рдЗрдВрдЯреЗрд▓ рд╕рд┐рдХреНрдпреЛрд░ рдХреА рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЙрдЪреНрдЪ рдЧрддрд┐ рдкрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред Rdrand рдЕрдиреБрджреЗрд╢ (рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреЗ рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЗрдирд░реЗрдЯрд░ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред
рдкрд░рдорд╛рдгреБ PRNG рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдлрд╝рдВрдХреНрд╢рди ExGenRandom () рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдПрдХреНрд╕рдкреЛрд░реНрдЯреЗрдб рд░реИрдкрд░ рдлрдВрдХреНрд╢рди RtlRandomEx () рднреА рд╣реИред рд╡рд┐рдВрдбреЛрдЬ 8 рдкрд░ ASLR ExGenRandom () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЬреЛ rdtsc рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдирд┐рд░реНрднрд░ рдерд╛ред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдкреАрдпреВ рдкрд░ рдПрдХ рд╕рдордп рдХрд╛рдЙрдВрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЙрддреНрдкрдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреА рдЙрдЪрд┐рдд рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
ASLR рддрдВрддреНрд░ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп MiSelectImageBase () рд╣реИред рд╡рд┐рдВрдбреЛрдЬ 8 рдореЗрдВ, рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЫрджреНрдо рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
#define MI_64K_ALIGN(x) (x + 0x0F) >> 4 #define MmHighsetUserAddress 0x7FFFFFEFFFF typedef PIMAGE_BASE ULONG_PTR; typedef enum _MI_MEMORY_HIGHLOW { MiMemoryHigh = 0, MiMemoryLow = 1, MiMemoryHighLow = 2 } MI_MEMORY_HIGHLOW, *PMI_MEMORY_HIGHLOW; MI_MEMORY_HIGHLOW MiSelectBitMapForImage(PSEGMENT pSeg) { if (!(pSeg->SegmentFlags & FLAG_BINARY32))
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдБ рддреАрди рдЕрд▓рдЧ рдЕрд▓рдЧ рдмрд┐рдЯрдореИрдк рдЫрд╡рд┐рдпреЛрдВ рд╣реИрдВред рдкрд╣рд▓рд╛ 32-рдмрд┐рдЯ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рджреВрд╕рд░рд╛ 64-рдмрд┐рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреАрд╕рд░рд╛ 64-рдмрд┐рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рд╕рдореЗрдВ 4 рдЬреАрдмреА рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдЙрдЪреНрдЪ рдПрдиреНрдЯреНрд░рд╛рдкреА рдХреЗ рд╕рд╛рде рдПрдХ рдЖрднрд╛рд╕реА рдкрддрд╛ рджреЗрддрд╛ рд╣реИред
рдпрд╛рджреГрдЪреНрдЫрд┐рдХреАрдХрд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЫрд╡рд┐рдпреЛрдВ рд╕реАрдзреЗ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрддрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдПрд╕рдПрд▓рдЖрд░ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ: рдирдпрд╛ рдЖрдзрд╛рд░ рдкрддрд╛ рдЪреБрдирддреЗ рд╕рдордп рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░ рдЫрд╡рд┐рдмрд┐рдПрд╕ рдЪрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
VOID MiInitializeRelocations() { MiImageBias = ExGenRandom(1) % 256; MiImageBias64Low = ExGenRandom(1) % MiImageBitMap64Low.SizeOfBitMap; MiImageBias64High = ExGenRandom(1) % MiImageBitMap64High.SizeOfBitMap; return; }
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдЯрдореИрдк рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд╕реНрдерд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЫрд╡рд┐ рдХреЛ рдмреВрдЯ рд╕рдордп рдкрд░ рдЖрдзрд╛рд░ рдкрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЙрд╕реА рдЖрдзрд╛рд░ рдкрддреЗ рдкрд░ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдмреВрдЯрд▓реЛрдбрд░ рдХрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЙрдкреА-рдСрди-рд░рд╛рдЗрдЯ рддрдВрддреНрд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдЧрддрд┐ рдФрд░ рд╕реНрдореГрддрд┐ рдмрдЪрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реИред
рд╡рд┐рдВрдбреЛрдЬ 8 рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдПрдПрд╕рдПрд▓рдЖрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЛ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрддреЗ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдПрдПрд╕рдПрд▓рдЖрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд▓рд┐рдВрдХрд░ рдЭрдВрдбреЗ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджрд░реНрд╢рд╛рддреА рд╣реИред
* MSVS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ / DYNAMICBASE рдзреНрд╡рдЬ рдХреЗ рд▓рд┐рдП / FIXED: NO рдзреНрд╡рдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдПрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрднрд╛рдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИрдЖрдк рдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рдВрдбреЛрдЬ 8 рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ: рдпрджрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЫрд╡рд┐ рдореЗрдВ рдПрдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрднрд╛рдЧ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ ASLR рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рддрдВрддреНрд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдФрд░ рд╕рдмреВрдд рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо рдпрд╣ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ 8 рдореЗрдВ рдирдП рдПрдПрд╕рдПрд▓рдЖрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдХреЛрдб рдХреЗ рддрд░реНрдХ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреНрдЯреНрд░рд╛рдкреА рдмрдврд╝рд╛рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЛрдб рдореЗрдВ рд╕реНрдерд┐рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд░реЗрдЦрд╛рдВрдХрди рдХреЛрдб рдирд┐рд░реАрдХреНрд╖рдг рдЖрдЪрд░рдгред
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ[рез] рд╡реИрд▓реЗрд╕реЗрдХ рдЪред, рдореИрдВрдбреЗрдЯ рдЯреАред рд╡рд┐рдВрдбреЛрдЬ als рд╣реАрдк рдЗрдВрдЯрд░реНрдирд▓ред 2012ред
[реи] рдЬреЙрдирд╕рди рдХреЗред, рдорд┐рд▓рд░ рдПрдоред рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ рдорд┐рдЯрд┐рдЧреЗрд╢рди рдЗрдВрдкреНрд░реВрд╡рдореЗрдВрдЯ рдЗрди рд╡рд┐рдВрдбреЛрдЬредред рд╕реНрд▓рд╛рдЗрдбреНрд╕, рдмреНрд▓реИрдХ рд╣реИрдЯ рдпреВрдПрд╕рдП, реирежрезреиред
[рей] рдЗрдВрдЯреЗрд▓ред рдЗрдВрдЯреЗрд▓ рдбрд┐рдЬрд┐рдЯрд▓ рд░реИрдВрдбрдо рдирдВрдмрд░ рдЬреЗрдирд░реЗрдЯрд░ (DRNG): рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд╛рдЗрдбред рдЗрдВрдЯреЗрд▓ рдХреЙрд░реНрдкреЛрд░реЗрд╢рди, 2012ред
[рек] рд╡реНрд╣рд╛рдЗрдЯрд╣рд╛рдЙрд╕ рдУред рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рд╕реНрдЯрд╛ рдкрд░ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рд▓реЗрдЖрдЙрдЯ рд░реИрдВрдбрдорд╛рдЗрдЬреЗрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рд╕рд┐рдореЗрдВрдЯреЗрдХ рдЕрдЧреНрд░рд┐рдо рдЦрддрд░рд╛ рд░рд┐рд╕рд░реНрдЪ, 2007ред
[рел] рд╕реЛрдЯрд░реЛрд╡ рдП, рдбреЙрд╡рдб рдПрдоред рдмрд╛рдЗрдкрд╛рд╕рд┐рдВрдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдореЛрд░реА рдкреНрд░реЛрдЯреЗрдХреНрдЯреНрд╕ред 2008ред
рд▓реЗрдЦрдХ:
рдЕрд░реНрдЯрд┐рдУрдо рд╢рд┐рд╢реНрдХрд┐рди (
рдорд╛рдирджрддреНрддрд╛ ) рдФрд░ рдЗрд▓реНрдпрд╛ рд╕реНрдорд┐рде (
рдмреНрд▓реИрдХрдЬрд╝рд░реНрдЯ ), рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗрдВрджреНрд░ред