рд╣рд╛рдп рд╣рдорд░! рд╣рдордиреЗ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдкрд░ рдлрд▓рджрд╛рдпреА рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЖрдЬ рдореИрдВ рд╕рдорд╛рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╡рд┐рд╖рдпреЛрдВ (
1 рдФрд░
2 ) рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо .NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдХреНрд╖реЗрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╛рд╕ рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реАрдзреЗ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╣реЛрддреА рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ред
рдЧреНрд░рд╛рд╣рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ - рдЕрдм рдЖрдк рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖
рдЧреНрд░рд╛рд╣рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрдирд╛рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдПрдХ рдХреНрд▓рд┐рдХ рдореЗрдВ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдУрдлрд╝реНрдлрд╝реБрд╕реЗрдЯреЗрдб рдкрджреНрдзрддрд┐ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб
рдпрд╣рд╛рдБ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ (рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдХрдВрдЯреНрд░реЛрд▓ рдлрд╝реНрд▓реЛ рдУрдлрд╝реНрдХреНрдпреВрд╕реЗрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдмрдВрдж рдХрд░ рджреА рдЬрд╛рддреА рд╣реИ)
рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ:
- рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреВрджрдиреЗ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ
- рд╕рдорд░реНрдерди рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрджреЗрд╢
- рдбрд╛рдпрдирд╛рдорд┐рдХ рдХрд╛рдЙрдВрдЯрд░ рдмреНрд▓реЙрдХ рдХреЗ рдмреАрдЪ рд░рд╛рдЬреНрдп рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рд╕рд╛рд░рд╛рдВрд╢: рдПрдХ рд░рд┐рд╡рд░реНрд╕ рдбрд┐рдХреЛрдбрд░ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдХрдард┐рди, рдорд╣рдВрдЧрд╛ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рддреЗрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╣рдо рдЗрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╣реИрдХрд░ рдХрд╛ рдЬреАрд╡рди рдордЬреЗрджрд╛рд░ рдФрд░ рдШрдЯрдирд╛рдкреВрд░реНрдг рд╣реЛред
рдмреЗрд╣рддрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдСрдмрдлреНрдпреВрдЬреЗрдЯрд░
рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ WPF рдСрдмрдлрд┐рдХреЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рд╣рдорд╛рд░рд╛ рдУрдмреНрд╕реЗрдХреНрдЯреЗрдЯрд░ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдмрд┐рдВрдЧрд┐рдВрдЧреНрд╕, рдЕрдЯреИрдЪ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ, рдЕрдЯреИрдЪреНрдб рдЗрд╡реЗрдВрдЯреНрд╕ рдФрд░ рдЕрдиреНрдп рдкреЗрдЪреАрджрд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, obfuscation рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдореИрдиреБрдЕрд▓ рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ XAML рдорд╛рд░реНрдХрдЕрдк (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, BAML) рдХреЗ рд▓рд┐рдП рдмреБрджреНрдзрд┐рдорд╛рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рдм рдХреБрдЫ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддреЗ рд╣реИрдВред

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

рд╣рдореЗрдВ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреАред
UPD1ред рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП 10 рдкреНрд░реЛрдореЛ рдХреЛрдб рд░рдЦреЗ рдЧрдП:
wdk6tuffkc2ppcpfgtpj9p82pm8xntfg73hqfakdwpkt6k8rqc7ztv4jck8rku8dqn4u38jc6gxxbdgweyjw7b9zd82nf68m6r2tUPD2ред рдирд┐рдордВрддреНрд░рдг рд╕рдорд╛рдкреНрдд рд╣реБрдЖред рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдПрдХ рдФрд░ рдЬреЛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рдерд╛ рд╡рд╣ рд╣рдорд╛рд░реЗ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдерд╛ред