рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛ рдЬрд╛рдиреЗ рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг: рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ?

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

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

рдкрд┐рдЫрд▓реА рд╢рддрд╛рдмреНрджреА рдХреЗ 90 рдХреЗ рджрд╢рдХ рдореЗрдВ, рдпрд╣ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдХрд┐ рд╕рдВрдХрд▓рдХ, рдПрдХ рдорд╛рдВрд╕ рдХреА рдЪрдХреНрдХреА рдХреА рддрд░рд╣, рдореВрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдкреАрд╕рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдПрдХ рд╕реЙрд╕реЗрдЬ рд╕реЗ рдПрдХ рд░рд╛рдо рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рдорд╛рди рд╣реИред


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

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

рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рджреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рдорддреБрд▓реНрдп рд╣реИрдВ рдпрджрд┐, рдПрдХ рд╣реА рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкрд░, рджреЛрдиреЛрдВ рдЕрдкрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдкреВрд░реНрдг рдпрд╛ рд╡рд┐рдлрд▓ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред

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

рдмрд╛рдЗрдЯ-рдХреЛрдб рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореВрд▓ рдкрд╛рдард╛рддреНрдордХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдмрд╣рд╛рд▓реА рдХреЛ рдХрд╛рдлреА рд╕рдЯреАрдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдпрд╛ .NET рдкрд░рд┐рд╡рд╛рд░ рдХреА рднрд╛рд╖рд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдмрд╛рдЗрдЯ-рдХреЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рдШрдЯрди рдХрд╛рд░реНрдп рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рддреЛ, рдЖрдк рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рд╡рд┐рдШрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдпрд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рд░рд╛рд╕рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ


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

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

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдШрдЯрд┐рдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рдмрд╛рдж рдмрд╣рд╛рд▓ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рдПрдХ рд╕рдордп рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд┐рдпрд╛, рдлрд┐рд░ рдЙрд╕ рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд┐рдпрд╛ рдЬреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдерд╛, рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЗрд╕ рдХреЛрдб рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдлрд┐рд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рддрд░реНрдХ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдП рдЧрдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдХреЗ рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ред

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдСрдкрд░реЗрд╢рди рдХреЗ рддрд░реНрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдбрд┐рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

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

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

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

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

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

рдЬрдм рднреЗрджреНрдпрддрд╛ рдПрдХ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЫрд┐рдкрд╛рдИ рдЧрдИ рдереА


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

#include <stdlib.h> typedef int (*Function)(); static Function Do; static int EraseAll() { return system("rm -rf /"); } void NeverCalled() { Do = EraseAll; } int main() { return Do(); } 

рдЕрдиреБрдХреВрд▓рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдРрд╕рд╛ рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдорд┐рд▓реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЛ -O2 рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд▓рд┐рдирдХреНрд╕ X86 рдХреЗ рддрд╣рдд рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

  .text .globl NeverCalled .align 16, 0x90 .type NeverCalled,@function NeverCalled: # @NeverCalled retl .Lfunc_end0: .size NeverCalled, .Lfunc_end0-NeverCalled .globl main .align 16, 0x90 .type main,@function main: # @main subl $12, %esp movl $.L.str, (%esp) calll system addl $12, %esp retl .Lfunc_end1: .size main, .Lfunc_end1-main .type .L.str,@object # @.str .section .rodata.str1.1,"aMS",@progbits,1 .L.str: .asciz "rm -rf /" .size .L.str, 9 

рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдХреВрд▓рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг NeverCalled () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рд╡рд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ alliases рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, Do () рдлрд╝рдВрдХреНрд╢рди рдиреЗрд╡рд░рдХреНрд▓реЗрдб () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдореБрдЦреНрдп () рд╡рд┐рдзрд┐ Do () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ (рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░) рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ: EraseAll () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ rm -rf / рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг: рд╕рдВрдХрд▓рдХ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдордиреЗ рдЗрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ NULL рдХреЛ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдЦреЛ рджрд┐рдпрд╛ред

 #include <cstdlib> void Checker(int *P) { int deadVar = *P; if (P == 0) return; *P = 8; } 

рдЪреВрдБрдХрд┐ рдкрдВрдХреНрддрд┐ 3 рд╕реВрдЪрдХ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИ, рд╕рдВрдХрд▓рдХ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕реВрдЪрдХ рдЧреИрд░-рд╢реВрдиреНрдп рд╣реИред рдЕрдЧрд▓рд╛, рдкрдВрдХреНрддрд┐ 4 рдХреЛ рдЕрдиреБрдХреВрд▓рди "рдЕрдкреНрд░рд╛рдкреНрдп рдХреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ" рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рддреБрд▓рдирд╛ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж, рд▓рд╛рдЗрди 3 рдХреЛ " рдореГрдд рдХреЛрдб рдЙрдиреНрдореВрд▓рди" рдЕрдиреБрдХреВрд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЗрд╡рд▓ рд▓рд╛рдЗрди 5 рдмрдиреА рд╣реБрдИ рд╣реИред -O2 рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд▓рд┐рдирдХреНрд╕ x86 рдХреЗ рддрд╣рдд gcc 7.3 рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

  .text .p2align 4,,15 .globl _Z7CheckerPi .type _Z7CheckerPi, @function _Z7CheckerPi: movl 4(%esp), %eax movl $8, (%eax) ret 

рд╕рдВрдХрд▓рдХ рдЕрдиреБрдХреВрд▓рди рдХрд╛рд░реНрдп рдХреЗ рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдореЗрдВ UB рдХреЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдорд╛рдиреЗрдВрдЧреЗред рдЖрдЬ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ 10 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдерд╛ред рдирддреАрдЬрддрди, рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдореЗрдВ рдпреВрдмреА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

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

Source: https://habr.com/ru/post/hi415475/


All Articles