рдкрд╣рдЪрд╛рди
рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдЕрдкрдирд╛ рдХреЛрдб (рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ) рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛рдИ рдФрд░ рдмреБрд░рд╛рдИ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, "рдмреБрд░рд╛рдИ" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛, рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ, рд╕реВрдЪрдирд╛ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░ рд╣реИ, рдореИрдВ "рдХреНрдпрд╛ рдмреБрд░рд╛ рд╣реИ" рдФрд░ рдХреНрдпрд╛ "рдЕрдЪреНрдЫрд╛" рд╣реИ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдЯреАрдХ рд░реЗрдЦрд╛ рдирд╣реАрдВ рдЦреАрдВрдЪ рд╕рдХрддрд╛, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдпрд╣ рдХреЛрдб рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддрд╛ рд╣реИ ...
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдЗрдВрдЬреЗрдХреНрдЯрд░ DLL рдмрдирд╛рдПрдВрдЧреЗред рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИред рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛ рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд╣рдо Microsoft Visual Studio 2010 рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ C ++ рдореЗрдВ DLL рдЗрдВрдЬреЗрдХреНрдЯрд░ рд▓рд┐рдЦреЗрдВрдЧреЗред рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯреЗрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рднреА рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкрд╕рдВрдж рд╣реИред рдореИрдВрдиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдбрдЧрд┐рдпрд░ рд░реЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ 2009, рдбреЗрд▓реНрдлреА рднрд╛рд╖рд╛ (рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕реНрдХрд▓) рдХреЛ рдЪреБрдирд╛ред
DLL Injection рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?рдЗрд╕ рд╡рд┐рдзрд┐ рдХреА рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рд╕рд░рд▓ рд╣реИ:
1) рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд┐рд╡рд░рдгрдХ рдХреЛ рдЦреЛрдЬреЗрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
2) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХрд╛ рдЖрд╡рдВрдЯрди рдФрд░ рдЙрд╕ рдкрддреЗ рдкрд░ DLL рдореЗрдВ рдкрде рдХрд╛ рдмрд╛рдж рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдЬрд╣рд╛рдВ рдореЗрдореЛрд░реА рдХрд╛ рдЖрд╡рдВрдЯрди рд╣реБрдЖ
3) рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрднрд╛рд╕реА рд╕реНрдерд╛рди рдореЗрдВ рдПрдХ рдирдпрд╛ рдзрд╛рдЧрд╛ рдмрдирд╛рдирд╛ рдЬрд┐рд╕рдХрд╛ рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛ред
рдбреАрдПрд▓рдПрд▓ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВредрдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдбреЗрд▓реНрдлреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

рдЕрдм DLL рдореЗрдВ рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВ, рдЕрд░реНрдерд╛рддреН рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдФрд░ рдмрдЯрди:

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

рдЕрдм рд╣рдо DLL рдХреЗ рдлреЙрд░реНрдо рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдлреЙрд░реНрдо рдкрд░ рджреЛ рдмрдЯрди рд╣реИрдВред рдкрд╣рд▓реА рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ "рдорд╛рд░" рджреЗрдЧрд╛ (рдпрд╛рдиреА, рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдереНрд░реЗрдб рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ, рдмрджрд▓реЗ рдореЗрдВ, DLL рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ)ред рджреВрд╕рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ 25x25px рдХреЗ 10 рд╡рд░реНрдЧ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:
procedure TForm1.Button1Click(Sender: TObject); var _curr_process:DWORD; p_handle: THANDLE; begin
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ редрдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред
рддреЛ, рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦрд╛ рд╣реИред рдЕрдм рд╣рдо рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди ".dll" рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ "рдЪреЛрдЯ" рдХрд░реВрдВрдЧрд╛редDLL рдирд┐рд░реНрдорд╛рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ DLL рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реА рд░рд╣рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдирд╛рдо рд╕реЗ рдкрд╛ рд╕рдХреЗред
рд╣рдо рдЗрдВрдЬреЗрдХреНрдЯрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдПрдХ рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ (рдлрд╝рд╛рдЗрд▓-> рдирдпрд╛-> рдкреНрд░реЛрдЬреЗрдХреНрдЯ-> рд╡рд┐рдЬреБрдЕрд▓ C ++ -> рдЬрдирд░рд▓-> рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ)ред рд╕рднреА рд╡рд┐рдХрд╛рд╕ рдПрдХ рд╕рд╛рдл WinApi рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рджреГрд╢реНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдПрдВ: рдПрдХ рдлрд╝реЙрд░реНрдо, рдПрдХ рдмрдЯрди рдФрд░ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдбред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдиреНрдпреВрдирддрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдЗрд╕рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд╛рдо (рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧ) рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рджреЛ рдкрд╛рда рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ DLL рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдЦреБрдж DLL рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реИред рдмрдЯрди, рддрджрдиреБрд╕рд╛рд░, рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
DLL рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди WinApi рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:CreateToolHelp32SnapShotProcess32FirstProcess32NextрдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП:OpenProcessGetProcAddressVirtualAllocExWriteProcessMemoryCreateRemoteThreadрдЗрд╕рд▓рд┐рдП, рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ "рд╕реНрдорд╛рд░реНрдЯ" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╕рд░рд▓ рд╣реЛрдЧрд╛ред
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдПрдХ рдмрдЯрди рдХреЗ рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ :)
MSG msg; while (GetMessage(&msg,NULL,0,0)) {
рдареАрдХ рд╣реИ, рдлрд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЬрд╛рдПрдВ
рд╢реБрд░реВрдЖрдд ();
, рдЬреЛ рдЕрдкрдиреЗ рдирд╛рдо рд╕реЗ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:
int StartInjection() {
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ
рдЗрдВрдЬреЗрдХреНрд╢рди ()
:
рдкреВрд░реНрдг рдЗрдВрдЬреЗрдХреНрдЯрд░ рдХреЛрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ редрдЗрдВрдЬреЗрдХреНрдЯрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг:

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

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрдВрдЬреЗрдХреНрд╢рди рдПрдХ рд╕рдлрд▓рддрд╛ рдереАред рдЪреМрдХреЛрд░ рд╕рднреА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреАрдВрдЪреА рдЬрд╛рддреА рд╣реИрдВ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддреА рд╣реИрдВред рдЬрдм рдЖрдк "рдХреНрд░реИрд╢ рдЗрдЯ!" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рддреБрд░рдВрдд рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд┐рдпрд╛
рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рд╣реИрдХрд┐рдВрдЧ (рдЧреЗрдо, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░) рд╣реИред рдЗрд╕рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рд╢рд╛рдпрдж рдЗрд╕ рдЗрдВрдЬреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдХрд┐рд╕реА рджреВрд╕рд░реЗ рдХреЗ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдмрд╣реБрдд рд╕рдордп, рдкреНрд░рдпрд╛рд╕ рдФрд░ рддрдВрддреНрд░рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ :)
рд╕реМрднрд╛рдЧреНрдп рд╣реИ