рдкрд╛рдпрдердирдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдЬреА рд╕рдБрдбрдмреЙрдХреНрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ

Python рдордзреАрд▓ рдкреГрдердХ рдХреЛрдб рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рдгрд╛рд▓реАрдВрдирд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдкрджреНрдзрдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреЛ Python 2.7 рдордзреНрдпреЗ рджрд┐рд╕рд▓реЗрд▓реНрдпрд╛ рджреАрд░реНрдШ-рдЬреНрдЮрд╛рдд рдмрдЧрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ, рдЬреЛ 2012 рдордзреНрдпреЗ рдУрд│рдЦрд▓рд╛ рдЧреЗрд▓рд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ рдЕрджреНрдпрд╛рдк Python 3 рдордзреНрдпреЗ рджреБрд░реБрд╕реНрдд рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА. рдмрдЧ рд╡рд┐рд╢реЗрд╖ рд▓рд┐рдВрдХреНрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. Python рдордзреНрдпреЗ рдЖрдзреАрдЪ рдореБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Python рдХреЛрдб (рд╡рд╛рдкрд░-рдЖрдлреНрдЯрд░-рдлреНрд░реА) рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рд╣реЛрддреЗ рдХреА рддреНрд░реБрдЯреАрдореБрд│реЗ рд╕реБрд░рдХреНрд╖реЗрд▓рд╛ рдзреЛрдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЭрд╛рд▓рд╛ рдирд╛рд╣реА рдЖрдгрд┐ рдХреЗрд╡рд│ рдЕрддреНрдпрдВрдд рджреБрд░реНрдорд┐рд│ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдХреГрддреНрд░рд┐рдорд░рд┐рддреНрдпрд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪреА рдЕрд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдкреНрддреА рд╣реЛрдК рд╢рдХрддреЗ.

kn32 рдпрд╛ рдЯреЛрдкрдгрдирд╛рд╡рд╛рдиреЗ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрд╢реЛрдзрдХрд╛рд▓рд╛ рдпрд╛ рд╕рдорд╕реНрдпреЗрдордзреНрдпреЗ рд░рд╕ рдирд┐рд░реНрдорд╛рдг рдЭрд╛рд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдиреЗ рдПрдХ рдХрд╛рд░реНрдпрд░рдд рд╢реЛрд╖рдг рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬреНрдпрд╛рдореБрд│реЗ os.system рд╕рд╛рд░рдЦреНрдпрд╛ рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ рдереЗрдЯ рдкреНрд░рд╡реЗрд╢ рди рдХрд░рддрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдбрд▓рд╛ рдХреЙрд▓ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рд╢реЛрд╖рдг рд╢реБрджреНрдз Python рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдмрд╛рд╣реНрдп рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдпрд╛рдд рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдЖрдгрд┐ тАЬcode.__new__тАЭ рд╣рдБрдбрд▓рд░ рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░рддрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рд╣реБрдХрдкреИрдХреА, рдлрдХреНрдд "рдмрд┐рд▓реНрдЯрд┐рди.__id__" рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рд╕рд╣рд╕рд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╕рддреЗ. рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдмрд╛рдЬреВрдиреЗ, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЛрдбрдЪрд╛ рд╡рд╛рдкрд░ рд╡рд┐рд╡рд┐рдз рд╕реЗрд╡рд╛ рдЖрдгрд┐ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╢рд┐рдХрдгреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд, рдСрдирд▓рд╛рдЗрди рд╢реЗрд▓реНрд╕, рдЕрдВрдЧрднреВрдд рд╣рдБрдбрд▓рд░ рдЗ.) рдордзреНрдпреЗ рдЕрд▓рдЧрд╛рд╡ рдпрдВрддреНрд░рдгрд╛рдВрдирд╛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреЛ рдкрд╛рдпрдерди рдХреЛрдбрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдкрд░рдВрддреБ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рддреЛ. рдЙрдкрд▓рдмреНрдз рдХреЙрд▓ рдЖрдгрд┐ os.system рд╕рд╛рд░рдЦреНрдпрд╛ рдХреЙрд▓ рдкрджреНрдзрддреАрдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреА рджреЗрдК рдирдХрд╛.

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЛрдб рд╣рд╛ os.system рдХреЙрд▓рдЪрд╛ рдЕреЕрдирд╛рд▓реЙрдЧ рдЖрд╣реЗ, рдЬреЛ CPython рдордзреАрд▓ рднреЗрджреНрдпрддреЗрдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрдКрди рдХрд╛рд░реНрдп рдХрд░рддреЛ. рдПрдХреНрд╕реНрдкреНрд▓реЙрдпрдЯ рдкрд╛рдпрдерди 3 рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╕рд╣ x86-64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╣ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ PIE, RELRO рдЖрдгрд┐ CET рд╕рдВрд░рдХреНрд╖рдг рдореЛрдб рд╕рдХреНрд╖рдо рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рддрд╛рдирд╛ рджреЗрдЦреАрд▓, Ubuntu 22.04 рд╡рд░ рд╕реНрдерд┐рд░ рдСрдкрд░реЗрд╢рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ. рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ CPython рдХреЛрдбрдордзреАрд▓ рдлрдВрдХреНрд╢рдиреНрд╕рдкреИрдХреА рдПрдХрд╛ рдлрдВрдХреНрд╢рдирдЪреНрдпрд╛ рдкрддреНрддреНрдпрд╛рдмрджреНрджрд▓ рдкрд╛рдпрдерди рдХреЛрдбрд╡рд░реВрди рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рдЖрд╣реЗ. рдпрд╛ рдкрддреНрддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдореЗрдорд░реАрдордзреАрд▓ CPython рдЪрд╛ рдмреЗрд╕ рдЕреЕрдбреНрд░реЗрд╕ рдЖрдгрд┐ рдореЗрдорд░реАрдордзреНрдпреЗ рд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ libc рдЗрдВрд╕реНрдЯрдиреНрд╕рдордзреАрд▓ рд╕рд┐рд╕реНрдЯрдо() рдлрдВрдХреНрд╢рдирдЪрд╛ рдкрддреНрддрд╛ рдореЛрдЬрд▓рд╛ рдЬрд╛рддреЛ. рд╢реЗрд╡рдЯреА, тАЬ/bin/shтАЭ рдпрд╛ рдУрд│реАрд╡рд░ рдкрд╣рд┐рд▓реНрдпрд╛ рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рдЪреНрдпрд╛ рдкреЙрдЗрдВрдЯрд░рдЪреНрдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирд╛рд╕рд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрддреНрддреНрдпрд╛рд╡рд░ рдереЗрдЯ рд╕рдВрдХреНрд░рдордг рд╕реБрд░реВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдкрд╛рдпрдердирдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдЬреА рд╕рдБрдбрдмреЙрдХреНрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ


рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛