рдпреБрджреНрдз рдХрд╛ рдЙрд▓реНрдЯрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рднрд╛рдЧ 1 рднрд╛рдЧ

рдкреНрд░реЗрд░рдгрд╛


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

рдЗрд╕ рднрд╛рдЧ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреВрд░рд╛ рдбреЗрд╕реНрдХрдЯреЙрдк рд▓реЙрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдЪ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдпрд╛рд░ рдХрд░реЗрдВред

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

рдЙрдкрдХрд░рдг


рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, IDA, MSDN, ida_patcher, DxWnd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдЧреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рдЯреНрд░реЗрдирд┐рдВрдЧ


рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рд╣рдЬ рд╕реНрддрд░ рдкрд░ рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдбрд┐рдмрдЧрд░ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ, рдФрд░ рдпрд╣ warhogs.exe рд╣реИред рдмрдЧ рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг: рдЖрд╡реЗрджрди рдХреЗрд╡рд▓ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдбреАрдмрдЧрд░ рдореЗрдВ, рд╣рдо рдЙрди рдЖрдпрд╛рддрд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдБ рдорд┐рд▓рдирд╛, рдмреЗрд╢рдХ, CreateWindowEx, рд╕рд╛рде рд╣реА EnableWindowред рдпрджрд┐ рдкрд╣рд▓рд╛ рдХреЙрд▓ рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрдИ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ рд╕рдВрднрд╡рддрдГ рдЦрддрд░рдирд╛рдХ рд╣реИред EnableWindow рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рдПрдВ (рдХреБрд▓ 2 рд╣реИрдВ) рдФрд░ рдирд┐рдореНрди рдХреЛрдб рджреЗрдЦреЗрдВ:



рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреАрдореЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:

.text: 0044D0A0 рдФрд░ edx, 0FFh
.text: 0044D0A6 рдзрдХреНрдХрд╛ edx; bEnable
.text: 0044D0A7 рдПрдХреНрдЬрд┐рдЯ рдкреБрд╢; hWnd
.text: 0044D0A8 рдХреЙрд▓ рдбреАрдПрд╕: EnableWindow

рдЬреЛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ EnableWindow (TRUE, ...) ;, рдФрд░ рдХреБрдЫ EnableWindow (FALSE, ...) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ (рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдЖрдк рдЬрд┐рд╕ рддрд░реНрдХ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╢реНрд╡рд╕реНрдд рд╣реИрдВ, рдЙрд╕рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд╛рдо рджреЗрдВ) рдФрд░ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ EnumWunc рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм EnumWindows рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЛрдб 0x61 рдХреЗ рд╕рд╛рде SystemararametersInfo рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЫреЛрдЯрд╛ Google рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓реЗрдЦрдХреЛрдВ рдиреЗ Alt-Tab рд╕рдВрдпреЛрдЬрди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдСрдлрд╕реЗрдЯ .text + 0x0044D0A0 рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдирд┐рд░реНрджреЗрд╢ рдФрд░ edx, 0FFh рдпрд╛ edx, 0FFh рдХреЛ рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ EnableWindit рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВред EnableWindow рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рджреВрд╕рд░рд╛ рд╕рдВрджрд░реНрдн рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЯреНрд░реВрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдмреЗрд╢рдХ, рдореИрдВ рддреБрд░рдВрдд рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдерд╛! рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдмрдирд╛рдиреА рд╣реЛрдЧреА рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗ:

рдпрд╣ рдЕрдВрддрд░ рдлрд╝рд╛рдЗрд▓ рдЖрдИрдбреАрдП рдкреНрд░реЛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
warhogs.exe
0004C4A1: E2 CA

рддрдм рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкрд░ рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рд╕реНрд░реЛрдд ida_patcher.c рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рдХрдВрд╕реЛрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ: -i <рдмрд╛рдЗрдирд░реА_рдлрд╛рдЗрд▓_рдСрдЯреЛ_рдкрдЪ>, -рдкреА <ред рдбреАрдбреА рдлрд╝рд╛рдЗрд▓>ред рдзреНрдпрд╛рди рджреЗрдВ, рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдмреИрдХрдЕрдк рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

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

рдЕрдм рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рддрд░реАрдХреЗ рдкрд╛рдП рдЧрдП: 1 - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ (Direct3D 7 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрджрд▓рдирд╛), рдФрд░ 2 - DxWnd рдирд╛рдордХ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬреЛ рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рдЬрдмрд░рди рд╡реЙрд░рд╣реЙрдЧреНрд╕реА рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рд╣рдо рджреВрд╕рд░рд╛ рд░рд╛рд╕реНрддрд╛ рдЪреБрдирддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд░рд▓ рд╣реИред DxWnd Direct3D рдкрд░ рдХреЙрд▓ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ! рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рджрд░реНрдж рд░рд╣рд┐рдд рд╣реЛрддреА рд╣реИ, рд╡рд╛рд░рд╣реЛрдЧ рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЖрдИрдбреАрдП рдЪреБрдкрдЪрд╛рдк рдХрджрдореЛрдВ рд╕реЗ рд╡рд╛рд░рд╣реЛрдЧреНрд╕реЗредрд╕реЗ рдХрджрдо рдмрдврд╝рд╛рддрд╛ рд╣реИред рдЗрдВрдЬрди рдХреЗ рдЕрдВрджрд░реВрдиреА рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЧрд╣рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдХрд░реВрдВрдЧрд╛ред рд╕рднреА рдХреЛ рдЕрдЪреНрдЫреЗ рдЕрдзрд┐рдХрд╛рд░реА!

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


All Articles