Win32 рдФрд░ .NET рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реБрд░рдХреНрд╖рд╛: рдерд┐рдореНрдбрд╛ рдЪрд▓рдиреЗ рдХрд╛ рдЕрд╡рд▓реЛрдХрди (рдПрдХреНрд╕-рд░рдХреНрд╖рдХ)

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



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









рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА





рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдереЗрдорд┐рдбрд╛ рддрдХрдиреАрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЪрд╛рд░ рдЙрддреНрдкрд╛рдж рд╣реИрдВред



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



рдереЗрдорд┐рдбрд╛ рдСрдЯреЛ-рдкреНрд░реЛрдЯреЗрдХреНрдЯ рдлреАрдЪрд░реНрд╕



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, "рдЙрдмрд╛рдК рдкрдард╛рд░реЛрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред



рд▓рдЧрднрдЧ рд╕рднреА рд╡рд░реНрдгрд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдХреЛрдбрд░рд┐рдк рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА



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







рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди



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

Themida рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:



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



рдиреЙрдЗрдЬрд╝ рдЬреЗрдирд░реЗрд╢рди рдЖрдкрдХреЛ рд╣реИрдХрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢ рдорд┐рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



CodeReplace рдХреЗ рд╕рд╛рде, Themida рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЕрдВрджрд░ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред







рдЕрдиреНрдп





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



рдереЗрдорд┐рдбрд╛ рдореИрдХреНрд░реЛрдВред



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

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



рдЪреЗрддрд╛рд╡рдиреА! рдореИрдХреНрд░реЛрдЬрд╝ рдХреЛ .NET рдХреЛрдб рдпрд╛ P рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд Visual Basic рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рд╡реАрдПрдо



VM рдореИрдХреНрд░реЛ рдХреЛрдб рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ Themida рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрдВ рдЬрд┐рдирдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ)ред рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



{$I VM_Start.inc}

//

{$I VM_End.inc}









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



рдкреНрд░рддрд┐рдмрдВрдз:





VM_WithLevel



рд╡реАрдПрдо рдореИрдХреНрд░реЛ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдореЗрдВ рдореИрдХреНрд░реЛ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд╛рд╢рд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрд▓реНрдлреА рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд * .inc рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЗрд╕рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВ)ред рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╕реНрддрд░ рдХрд╛ рдЙрдЪреНрдЪ рдореВрд▓реНрдп рдХреЛрдб рдХреЗ рдордЬрдмреВрдд рдмреНрд▓реЛрдЯрд┐рдВрдЧ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рд╕реНрддрд░ 0 рдкрд░, рдПрдХ рдореИрдХреНрд░реЛ VM VM рдХреЗ рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред



VM рдореИрдХреНрд░реЛ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛рдПрдБ рд╕рдорд╛рди рд╣реИрдВред



CodeReplace



рдореИрдХреНрд░реЛ рдХреЛрдбрд░реЗрд▓ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рдмрд╛рдд рдХреА рдереАред VM рдореИрдХреНрд░реЛ рдХреЗ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

VM рдореИрдХреНрд░реЛ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛рдПрдБ рд╕рдорд╛рди рд╣реИрдВред

рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛

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



рдкреНрд░рддрд┐рдмрдВрдз:





рд╕реНрдкрд╖реНрдЯ



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



рдкреНрд░рддрд┐рдмрдВрдз:





рдЕрд░рдХреНрд╖рд┐рдд



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



CheckProtection



рдереЗрдорд┐рдбрд╛ рдХреЗ рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдпрд╣ рдореИрдХреНрд░реЛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Themida SDK рд╕реЗ рд▓рд┐рдП рдЧрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

 рдкреНрд░рдХреНрд░рд┐рдпрд╛ TForm1.Button4 рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдкреНрд░реЗрд╖рдХ: TObject);
 рд╡рд░
   StatusProtection: рдкреВрд░реНрдгрд╛рдВрдХ;
 рд╢реБрд░реВ рдХрд░рдирд╛
     {$ I CheckProtection_Prolog.inc}
     рдПрдПрд╕рдПрдо
       $ 33333333 рдзрдХреНрдХрд╛
       рдкреЙрдк рд╕реНрдЯреЗрдЯрдкреНрд░реЛрдЯреЗрдХреНрд╢рди
     рдЕрдВрдд;
     {$ I CheckProtection_Epilog.inc}
     рдЕрдЧрд░ StatusProtection = 33333333 рдбреЙрд▓рд░ рддреЛ
       MessageBox (0, 'рд╕реБрд░рдХреНрд╖рд╛ рдареАрдХ рд╣реИред', 'рд╕реБрд░рдХреНрд╖рд╛ рд╕рддреНрдпрд╛рдкрди рдореИрдХреНрд░реЛ', MB_OK + MB_ICONINFORM)
     рдЕрдиреНрдпрдерд╛
       MessageBox (0, 'рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рд╣реИ!', 'рд╕рд╛рд╡рдзрд╛рдиреА!', MB_OK + MB_ICONERROR);
 рдЕрдВрдд;


рдЖрдк рдПрдХ рд╕рдВрдЦреНрдпрд╛ (рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдВрдЯреЗрдЧрд░ / рдХрд╛рд░реНрдбрд┐рдирд▓) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдХреНрд░реЛ рдХреЛ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 0x33333333ред рдЬрдм рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдбрд╛рдВрддрд░рдХ рдзрдХреНрдХрд╛ рдФрд░ рдкреЙрдк рдирд┐рд░реНрджреЗрд╢ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдЬрдЯрд┐рд▓ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрд╛рд▓реА рдЬрд╛рдПрдЧреА, рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЪрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧреА (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, StatusProtection) рдпрджрд┐ рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддреА рд╣реИред рдпрджрд┐ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛрдЧреАред



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



рдореИрдХреНрд░реЛ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдбрд╛рдВрддрд░рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



CheckCodeIntegrity



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



CheckVirtualPC



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



.NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБред



рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдереЗрдорд┐рдбрд╛ .NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд░рдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╛рддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛:





рд░рд╛рдлреЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░










All Articles