рдЖрдИрдбреАрдП рдореБрдлрд╝реНрдд рдФрд░ рдЕрдиреНрдп рдореБрдлреНрдд рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЛрд╖рдг рдФрд░ рдЙрд▓рдЯ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдЪрдпред рдЕрдзреНрдпрд╛рдп 2

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

рдЕрднреНрдпрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдЗрдП рдХреБрдЫ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВред

BAG рдХреНрдпрд╛ рд╣реИ?

BAG рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░) рдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рдХрдореА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рдлрд▓рддрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреЗ рдХрд┐рд╕реА рднреА рдЪрд░рдг рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИред

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

рдкреНрд░рд╢реНрди BAG рдФрд░ VULNERABILITY рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреЛ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ VULNERABILITY рдХреНрдпрд╛ рд╣реИред

VULNERABILITY рдХреНрдпрд╛ рд╣реИ?

VULNERABILITY рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдЧ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рднреЗрджреНрдпрддрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рдмрдЧ рд╣реИ, рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдЙрдкрд╕рдореБрдЪреНрдЪрдпред



рдмреЗрд╢рдХ, рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реИрдВред рд╣рдо рд╡рд┐рдиреНрдбреЛрдЬрд╝ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдЕрдзреНрдпрдпрди рдФрд░ рд╢реЛрд╖рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

EXPLOIT рдХреНрдпрд╛ рд╣реИ?


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

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

рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рд╣рдо рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛрдЧрд╛ред рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ рдЬрдЯрд┐рд▓рддрд╛ рдмрдврд╝рд╛рдПрдВрдЧреЗред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реЛрдВрдЧреА, рд▓реЗрдХрд┐рди рдзреАрд░реЗ-рдзреАрд░реЗ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рдЙрдирд╕реЗ рдХреИрд╕реЗ рдФрд░ рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рдкрдЯ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЦрд░реАрджрд╛рд░ рдХреНрдпрд╛ рд╣реИ?


BUFFER рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рд╣реИред

рдПрдХ рдореВрд▓ рдЙрджрд╛рд╣рд░рдг 20 рд▓реАрдЯрд░ рдЬрд╛рд░ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд╛рдордЧреНрд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ 20 рд▓реАрдЯрд░ рд╕реЗ рдХрдо рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдЯреИрдВрдХ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬрдирд╛ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдЬрдм рдЖрдк рдмрдЪрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 20-рд▓реАрдЯрд░ рдХреИрди рдореЗрдВ 40 рд▓реАрдЯрд░, рдпрд╣ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рдЦрд░реАрджрд╛рд░ рдХреНрдпрд╛ рд╣реИ?


BUFFER OVERFLOW рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рд╕реА рд╕рдиреНрдирд┐рд╣рд┐рдд рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдХрд░ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

https://www.welivesecurity.com/la-es/tag/buffer-overflow-la-es

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

рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреИрдХ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдФрд░ рд╣реАрдк рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реИрдВред

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

рдЕрдм рд╕реНрдЯреИрдХ рдФрд░ рдвреЗрд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВред

STACK рдХреНрдпрд╛ рд╣реИ?


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

рдмрд╣реБрдд рдХреБрдЫ рдХреНрдпрд╛ рд╣реИ?


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

рдвреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдХрд╛рд░ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рддрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдзреАрд░реЗ-рдзреАрд░реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдмреЗрд╢рдХ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╡реЗ рдЗрд╕ рд╕рдордп рдиреНрдпреВрдирддрдо рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рд╣реИрдВ рдФрд░ рдСрдкрд░реЗрд╢рди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рд╣реИрдВред

STACK1 рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦреЗрдВред

https://drive.google.com/open?id=16btJAetpa1V5yHDZE2bnnFWTQNpsUR4H

рд╣рдо рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрджрд░ рд╕реНрд░реЛрдд рдХреЛрдб STACK1 рд╣реИ рдЬрд┐рд╕реЗ STACK1 -VS_2017.CPP рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE

#include <stdlib.h>
#include  <stdio.h> 
#include "Windows.h"


int main(int argc, char **argv) 
{


	MessageBoxA((HWND)-0, (LPCSTR) "Imprimir You win..\n", (LPCSTR)"Vamosss", (UINT)0);

	int cookie;
	char buf[80];

	printf("buf: %08x cookie: %08x\n", &buf, &cookie);
	gets(buf);

	if (cookie == 0x41424344) printf("you win!\n");

}


рд╣рдо рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдХрд╣рд╛рдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рд╕реНрдЯреИрдХ рдкрд░ рдпрд╛ рдвреЗрд░ рдкрд░ рдПрдХ рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛрдЧрд╛ред

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

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реЗ рдЪрд╛рд╣рд┐рдП, рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЗрд╕рд▓рд┐рдП рд╣рдо GERARDO RICHART рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдЗрд╕ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрдЪреЗ рд╣реИрдВред

int main(int argc, char **argv) 
{

	int cookie;
	char buf[80];

	printf("buf: %08x cookie: %08x\n", &buf, &cookie);
	gets(buf);

	if (cookie == 0x41424344) printf("you win!\n");

}

рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреЛ рд╕реНрдерд╛рдиреАрдп рдЪрд░, рдХреВрдХреА рдФрд░ рдмреАрдпреВрдПрдл рд╣реИрдВред

рдЖрдк рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рднреА рд╡рд╣рд╛рдВ рд╕реНрдерд┐рдд рд╣реИрдВред

рдХреЛрдб рдХреЛ 32 рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ COOKIE рд╡реИрд░рд┐рдПрдмрд▓ INT рдХрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреЗ 4 рдмрд╛рдЗрдЯреНрд╕ рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реЛрдВрдЧреЗред



рдмреАрдпреВрдПрдл рдЪрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд░рдгреА рдпрд╛ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ (рд╡рд░реНрдг рдЖрдХрд╛рд░ = 1 рдмрд╛рдЗрдЯ)ред



рдЙрдиред рдпрд╣ 80 рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреА, рдЕрд░реНрдерд╛рдд рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ 80x1 = 80 рдмрд╛рдЗрдЯ рд╣реЛрдЧреАред

рдЬреЛ рдХреЛрдИ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд░рдгреА рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдкрдврд╝ рд╕рдХрддреА рд╣реИ:

https://www.programiz.com/c-programming/c-arrays

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╕рд░рдгреА рдПрдХ рд╣реА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреА рд╣реИред рдЖрдкрдХреЛ рдмрд╕ рдЙрд╕реЗ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХрд┐рддрдирд╛ рд╣реЛрдЧрд╛ред



рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЕрд░реНрдерд╛рддред рдпрд╣ 100 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдЧрд╛, рдФрд░ рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреВрд░реНрдгрд╛рдВрдХ 4 рдмрд╛рдЗрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ, рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ 100 x 4 = 400 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдЧреАред

рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, FLOAT рдореЗрдВ 4 рдмрд╛рдЗрдЯреНрд╕ рд▓рдЧрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ 5 FLOAT рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ 5 x 4 = 20 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдЧреАред

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

рд╣рдорд╛рд░реЗ рд╡реНрдпрд╛рдпрд╛рдо рдкрд░ рд▓реМрдЯрдирд╛:

char buf[80];

рдпрд╣ рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ 80 x 1 = 80 рдмрд╛рдЗрдЯреНрд╕ рд▓рдВрдмрд╛, рдЕрд░реНрдерд╛рддреНред рдпрд╣ рд╣рдорд╛рд░реЗ 20 рд▓реАрдЯрд░ рдЬрд╛рд░ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо 80 рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдмрд╛рдЗрдЯреНрд╕ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмреИрдВрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ BUF рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд▓рд╛рд▓ рддреАрд░реЛрдВ рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд╣рд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдПрдХ PRINTF рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЙрджреНрдзреГрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрдЧрд╛ред

"buf: %08x cookie: %08x\n"

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



рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ% рдПрдХреНрд╕ рдкреНрд░рд╛рд░реВрдк рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдореИрдВ PRINTF рдкреНрд░рд╛рд░реВрдк рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реВрдВ:



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдЗрди рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ (INT) рдХреЛ рд▓реЗ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА 16 рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдЙрдЯрдкреБрдЯ рд▓рд╛рдЗрди рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдЧрд╛, рдЕрд░реНрдерд╛рддред рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВред 08 рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 8 рдЕрдВрдХ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рднрд░ рджреЗрдЧрд╛ред

"Buf:% 31x" рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ, рдФрд░ buf рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛

buf:             19FED4 

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рднрд░реЗ рд╣реБрдП рд╣реИрдВред рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдВрд╢реЛрдзрдХ рд╣реИрдВред

рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рдорд▓реЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

http://www.cplusplus.com/reference/cstdio/printf/

рд╣рдорд╛рд░рд╛ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ:





рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдпрджрд┐ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреА рд▓рдВрдмрд╛рдИ рдорд╛рди рд╕реЗ рдХрдо рд╣реИ рдПрдХреНрд╕ рд╕реЗ рдкрд╣рд▓реЗред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рджреЛ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рджреЛ рддрд░реНрдХреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред

printf("buf: %08x cookie: %08x\n", &buf, &cookie);

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

рдпрд╣ рдкреНрд░рддреАрдХ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рд░ рдХрд╛ рдкрддрд╛ рдпрд╛ рд╕реНрдерд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдпрд╛ рдореВрд▓реНрдпред

AMPERSAND рдХреА рдкрд░рд┐рднрд╛рд╖рд╛


AMPERSAND рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд░ рдХреЗ рдореЗрдореЛрд░реА рдкрддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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



рдкрддреЗ рдЖрдкрдХреЗ рдкреАрд╕реА рдкрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рджреЛрдиреЛрдВ рдкрддреЗ рдХреЗ рдирд┐рдЪрд▓реЗ рдкрддреЗ BUF рдкрддреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реНрдерд┐рдд рд╣реИрдВ:



BUF рдкрддрд╛ COOKIE рдкрддреЗ рд╕реЗ рдХрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрдврд╝реЗрдЧрд╛ред

рдФрд░ рдпреЗ рдЪрд░ рдкрддреЗ рд╣рдореЗрдВ рдХреНрдпрд╛ рдмрддрд╛рддреЗ рд╣реИрдВ? (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдФрд░ BUF = 0x19FED4 рдФрд░ COOKIE = 0x19FF24)



рджреЛрдиреЛрдВ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрд╣% X рдкреНрд░рд╛рд░реВрдк рдерд╛? рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 0x рдЖрдЧреЗ рд░рдЦрд╛ рдХрд┐ рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЬреЛрдбрд╝ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдВрдЧреЗред

рдЕрдЧрд░ рдореИрдВ PYTHON рдХрдВрд╕реЛрд▓ рдпрд╛ PYCHARM рдореЗрдВ рдПрдХ рдШрдЯрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ:



рд╣рдореЗрдВ 80 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ COOKIE рд╡реИрд░рд┐рдПрдмрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрд╣рд╛рдВ BUF рдмрдлрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рд╕рдордп рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдВрддрд░ рд╣рдореЗрдВ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рджреЗрддрд╛ рд╣реИред

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

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдб, рдЪрд░ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЙрдирдХреЗ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ PRFF рдлрд╝рдВрдХреНрд╢рди рд╣реИред

рдЕрдм рдПрдХ рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рджреЗрдЦреЗрдВ рдЬрд╣рд╛рдВ BUF рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдкрддреЗ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

int main(int argc, char **argv) 
{

	int cookie;
	char buf[80];

	printf("buf: %08x cookie: %08x\n", &buf, &cookie);
	gets(buf);

	if (cookie == 0x41424344) printf("you win!\n");

}

рдпрд╣рд╛рдВ, рд▓рд╛рд▓ рд░реЗрдЦрд╛ рдкрд░, GET рдХреАрдмреЛрд░реНрдб рд╕реЗ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдЬрдм рддрдХ рдореИрдВ Enter рджрдмрд╛рддрд╛ рд╣реВрдВ рддрдм рддрдХ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

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



рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдмреАрдпреВрдПрдл рдХреЗ рддрд╣рдд рдХреВрдХреА рдЪрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рднрд░ рджреЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ 80 * рдП рдФрд░ 4 * рдмреА рд▓рд┐рдЦрддрд╛ рд╣реИ, рддреЛ 80 * рдП рдмреАрдпреВрдПрдл рдореЗрдВ рднрд░ рдЬрд╛рдПрдЧрд╛, рдФрд░ 4 * рдмреА рдХреВрдХреА рдореЗрдВ рднрд░ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬрдм рдХреЛрдИ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЪрд░рд┐рддреНрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореВрд▓реНрдп рдХрдо рд░рд╣реЗрдЧрд╛ред ASCIIред



рдЪреВрдВрдХрд┐ рдХреБрдХреА рдЪрд╛рд░ рдЕрдХреНрд╖рд░реЛрдВ рдмреА рд╕реЗ рднрд░реА рдЬрд╛рдПрдЧреА, рдЬреЛ 0x42 рдХреЗ рдорд╛рди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВ, рд╣рдо рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдХреА рдХрд╛ рдореВрд▓реНрдп 0x42424242 рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рддред рдореЗрд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░, рдХреБрдХреА рдкрддреЗ 0x19FF24 рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд░реВрдк рдореЗрдВ 0x42424242 рд╣реЛрдЧрд╛ред

0x19FF24 => 42424242



рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реИ рдХрд┐ COOKIE рдорд╛рди рдХреЛ рдХреИрд╕реЗ рдУрд╡рд░рдлреНрд▓реЛ рдФрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

int main(int argc, char **argv) 
{

	int cookie;
	char buf[80];

	printf("buf: %08x cookie: %08x\n", &buf, &cookie);
	gets(buf);

	if (cookie == 0x41424344) printf("you win!\n");

}

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

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХрднреА рднреА "рдЖрдк рдЬреАрдд" рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

AAAAAAAA

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, 80 * A рдФрд░ 4 * B, "рдЖрдк рдЬреАрддреЗрдВ" рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 80 * A рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж DCBA рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ COOKIE рдореЗрдВ рд╕рдВрдЪрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рди рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреЗред ASCIIред

44434241

https://www.arumeinformatica.es/blog/los-formatos-big-endian-y-little-endian/

рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдкреНрд░рд╛рд░реВрдк LITTLE ENDIAN рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ рдЗрд╕реЗ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред



рдФрд░ рдпрджрд┐ рдЕрдиреБрдХреНрд░рдо 0x41424344 рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдЧрд╛:

44 43 42 41

рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореЗрдореЛрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╕рдордп, рдХреЙрдкреА рдХрд░рддреЗ рд╕рдордп рд╣рдо рдЯрд╛рдЗрдк рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╡реИрд▓реНрдпреВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдореЗрдореЛрд░реА рд╕реЗ рдЗрд╕реЗ рдкрдврд╝ рд╕рдХреЗрдВред рд╕рд╣реА рдЖрдХрд╛рд░ рдореЗрдВ рдерд╛ред

рд╣рдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдФрд░ рдХрд░реНрд╕рд░ рдлреНрд▓реИрд╢ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬреАрдИрдЯреА рдлрд╝рдВрдХреНрд╢рди рдореБрдЭреЗ рдЗрдирдкреБрдЯ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдзреНрдпрд╛рди рд╕реЗ 80 рдЕрдХреНрд╖рд░ A рдФрд░ рдлрд┐рд░ DCBA рдЯрд╛рдЗрдк рдХрд░реЗрдВред

PYTHON рдпрд╛ PYCHARM рдХрдВрд╕реЛрд▓ рдореЗрдВ, рдореИрдВ рд▓рд╛рдЗрди рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕реЗ рдЙрджреНрдзрд░рдг рдХреЗ рдмрд┐рдирд╛ рдХреЙрдкреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдкрд╛рдЧрд▓реЛрдВ рдХреА рддрд░рд╣ рди рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ENTER рдХреБрдВрдЬреА рджрдмрд╛рдПрдВред





рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ "рдЖрдк рдЬреАрдд рдЧрдП"ред

рд╣рдо рдбрд┐рдмрдЧрд░ рдореЗрдВ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо X64DBG рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред



рдореИрдВ 32 рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВред





рдпрджрд┐ рд╣рдо NTDLL.DLL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд░реБрдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо F9 рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ RUN рджрдмрд╛рддреЗ рд╣реИрдВред

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдбреАрдмрдЧрд░ STACK1 рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рд░реБрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ ENTRY POINT рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдкрд╣рд▓рд╛ рдирд┐рд░реНрджреЗрд╢ рд╣реИред



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



рд╣рдордиреЗ рд╡рд░реНрддрдорд╛рди рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдЦреЛрдЬ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ред рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд▓рд╛рдЗрдиреЗрдВ рдПрдХ рд╣реА рдЦрдВрдб рдореЗрдВ рд╣реЛрдВрдЧреАред



рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд╛рдЗрди рдФрд░ рдЕрдиреНрдп рд╣реИрдВ рдЬреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рдЬреЛрдбрд╝реЗ рд╣реИрдВред рд╣рдо рдЕрдкрдиреА рдПрдХ рд▓рд╛рдЗрди рдкрд░ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВред



рдЕрдм рдЖрдк рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо MessageBoxA, PRINTF, GETS рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдорд╛рди 0x41424344 рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрд▓ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо SNOWMAN рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдХреИрд╕реЗ рд╡рд╣ рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╛ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред





рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬреЛ рдерд╛ рдЙрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдореИрдВ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмреАрдкреА рд▓рдЧрд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рддрдХ рдбрд┐рдмрдЧрд░ рдмрдВрдж рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддрдм рддрдХ F9 рджрдмрд╛рдПрдВред



рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред



рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддрд░реНрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

int main(int argc, char **argv) 
{

	int cookie;
	char buf[80];

	printf("buf: %08x cookie: %08x\n", &buf, &cookie);
	gets(buf);

	if (cookie == 0x41424344) printf("you win!\n");

}

рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рджреЛ рддрд░реНрдХ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреИрдХ рд╕реЗ рдЧреБрдЬрд╛рд░рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ 32 рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ, рд╕реНрдЯреИрдХ рдкрд░ рддрд░реНрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдЬрдм рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░реБрдХрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреИрдХ рдкрд░ рдкрд╣рд▓рд╛ рдорд╛рди RETURN ADDRESS рд╣реЛрдЧрд╛, рдпрд╛рдиреА рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рдкрд╕ рдЖрдПрдЧрд╛, рдФрд░ рдЗрд╕ рдорд╛рди рдХреЗ рдиреАрдЪреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рд╣реЛрдВрдЧреЗред

рдпрджрд┐ рдореИрдВ RETURN ADDRESS рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ FASSLOW DWORD IN DISASSEMBLER рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдлрдВрдХреНрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдбреАрдмрдЧрд░ рдХреЛ рдХрд╣рд╛рдВ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред



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



рдореИрдВ рдмреАрдкреА рдХреЛ рдереЛрдбрд╝рд╛ рдкрд╣рд▓реЗ рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░реВрдВрдЧрд╛ред



рдбрд┐рдмрдЧрд░ рдпрд╣рд╛рдВ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред



рдпрд╣ рдЗрди PUSH рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдиреАрдЪреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

https://publications.gbdirect.co.uk/c_book/chapter10/arguments_to_main.html

рдпрд╣ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред ARGC рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рддрд░реНрдХ INT рд╣реИ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрд╕реЛрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдорд╛рд░реНрдЧ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ ARGV рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИред

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдореИрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рдмрджрд▓рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЕрдзрд┐рдХ рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдкреБрдирдГ рд▓реЛрдб рдХрд░реВрдВрдЧрд╛ред





рдпрд╣рд╛рдВ рдбрд┐рдмрдЧрд░ рддрдм рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдпрд╣ PUSH рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЬреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рд╡рд╣ рд╕рдмрд╕реЗ рджреВрд░ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╣реЛрдЧрд╛ред

рдореИрдВ рдЯреНрд░реЗрд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ PUSH рдирд┐рд░реНрджреЗрд╢ рддрд░реНрдХреЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред



рдпрд╣рд╛рдВ рдореИрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдКрдкрд░ ARGC рдХрд╛ рдкрд╣рд▓рд╛ рддрд░реНрдХ рд╣реИред рдпрд╣ 3 рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЛ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред



рдпрд╣рд╛рдБ 3 рддрд░реНрдХ рджрд┐рдП рдЧрдП рд╣реИрдВред

рдЕрдм рд╣рдо FEP рджрдмрд╛рдХрд░ STEP INTO рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрдВрдХреНрд╢рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ CALL рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп, рдбрд┐рдмрдЧрд░ RETURN ADDRESS рдХреЛ рд╕реНрдЯреИрдХ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред



рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╕рдордп рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рд╕реНрдЯреИрдХ рдкрд░ рд╕рд╣реЗрдЬреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдЪреАрдЬрд╝ RETURN ADDRESS (32-рдмрд┐рдЯ рд╕рдВрдХрд▓рди рдореЗрдВ) рд╣реИ, рдФрд░ рдиреАрдЪреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рд╣реИрдВ, рдкрд╣рд▓рд╛ рддрд░реНрдХ, рдФрд░ рдлрд┐рд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╢реЗрд╖ред



рджреВрд╕рд░рд╛ рддрд░реНрдХ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рджреЗрдЦрд╛, рд╡реНрдпреВрдЕрд░ рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рд╕реНрдореГрддрд┐ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рддреАрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рддреАрди рдмрд┐рдВрджреБ рд╣реИрдВ рдЬреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред



рдпрд╣рд╛рдБ рд╣рдо рдлрдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░реБрдХ рдЧрдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ RETURN ADDRESSES рдФрд░ ARGUMENTS рд╣реИрдВред

рд╣рдо рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ 32-рдмрд┐рдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рддрд░реНрдХреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред

рдлрд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рддрдерд╛рдХрдерд┐рдд PROLOGUE рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдХрд╣реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ EBP рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред



рдпрд╣ EBP рдорд╛рди рдХреЛ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЗ рдареАрдХ рдКрдкрд░ рд░рдЦреЗрдЧрд╛ред



рдЕрдЧрд░ рдореИрдВ F7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ EBP GUARDADO рдорд╛рди рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЗ рдКрдкрд░ рд╕реНрдЯреИрдХ рдкрд░ рд╣реИред



PROLOGUE рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢:

MOV EBP, ESP

рдпрд╣ рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП EBP рдорд╛рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡рд╣ рдкреЗрд░реЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдерд╛ рдЬреЛ рд╣рдорд╛рд░рд╛ рдХрд╣рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░рд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп EBP- рдЖрдзрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рджреЗрдЦреЗрдВ)

рдИрдмреАрдкреА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдИрдПрд╕рдкреА рдореВрд▓реНрдп рд░рдЦрдХрд░, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдлреНрд░реЗрдо рдмрдирд╛рддреЗ рд╣реИрдВред



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



рдЗрд╕ EBP рдорд╛рди рдХреЛ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдИрдмреАрдкреА-рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ, рдЪрд░ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЛ рдЗрд╕ рдкрддреЗ рд╕реЗ рдЙрдирдХреА рджреВрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдИрдмреАрдкреА рдореВрд▓реНрдп рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрд╕рдВрд╣рд╛рд░ рддрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдо рд╕реВрдЪреА рдореЗрдВ рдХрдИ рдЪрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ EBP-4 рдпрд╛ EBP-54 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ EBP рдорд╛рди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬреИрд╕реЗ рд╣реА EBP PROLOGUE рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рдореВрд▓реНрдп рдХреЛ рд▓реЗ рд▓реЗрддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдирд╛рд▓реА рдХреА рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рддрд░реНрдХ рд╣рдореЗрд╢рд╛ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП EBP + XXX рддрд░реНрдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╕рдВрдЧреНрд░рд╣реАрдд EBP рдФрд░ RETURN ADDRESS рднреА рдХрдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдХреЛрдб рдореЗрдВ), рдЬрдмрдХрд┐ рдЪрд░, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ, рдЗрд╕ рдкрддреЗ рдХреЗ рдКрдкрд░ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП EBP-XXX рдХрд╛ рд▓рд┐рдВрдХ рдХреБрдЫ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, EBP- рдЖрдзрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ:

EBP + XXXX = рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рддрд░реНрдХ
EBP - XXXX = рд╕реНрдерд╛рдиреАрдп рдлрд╝рдВрдХреНрд╢рди рдЪрд░

PROLOGUE рдХреЗ рдмрд╛рдж рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдИрдПрд╕рдкреА рдХреЛ рдКрдкрд░ рд▓реЗ рдЬрд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдиреАрдЪреЗ рдХреА рд╢реЗрд╖ рдЬрдЧрд╣ рд╕рднреА рдЪрд░ рд▓рдВрдмрд╛рдИ рдХреЗ рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реЛ рдФрд░, рдХрднреА-рдХрднреА, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ, рдЬреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

00401043 | 83EC 54 | SUB ESP, 54

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ ESP EBP рдХреЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдЬреЛ рд▓рд┐рдВрдХ рд░рд╣реЗрдЧрд╛, рдФрд░ рдпрд╣ рдХрд┐ 0x54 рдХреЛ рджрд╢рдорд▓рд╡ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ 84 рд╣реИ, рдЬреЛ BUF рдФрд░ COOKIE рд▓рдВрдмрд╛рдИ рдХрд╛ рдпреЛрдЧ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╡реЗ рдХреНрд░рдорд╢рдГ 80 рдФрд░ 4 рдереЗред







рдирд┐рд╖реНрдкрд╛рджрди рдкрд░, рдЖрдХрд╛рд░ рдореЗрдВ 84 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ BUF рдФрд░ COOKIE рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдХреЛ рдХреНрд╖реИрддрд┐рдЬ рджрд┐рд╢рд╛ рдореЗрдВ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ EBP рдорд╛рди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреИрдХ рдкрд░ рдЙрд╕ рдорд╛рди рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдм рдпрд╣ рдХрдо рд╣реЛрдЧрд╛ред



рдореИрдВ рдпрд╣рд╛рдВ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдИрдмреАрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реНрдЯреИрдХ рдкрд░ рдореВрд▓реНрдп рд╣реЛрдВрдЧреЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, EBP-4 рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, -4 рд╕реНрдЯреИрдХ рдХреЗ рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдореЗрдВ, EBP-4 рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдпрджрд┐ рдореИрдВ рдЯреНрд░реЗрд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕ рдЬрдЧрд╣ рд╕реЗ рдЬрд╣рд╛рдВ рдИрдПрд╕рдкреА рдЪрд░ рдХреЛ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рдд рдерд╛, рдпрд╣ рд╣рдореЗрд╢рд╛ рдКрдкрд░ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЪрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдерд╛рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред MessageBoxA рдХреЗ рд▓рд┐рдП 4 PUSH рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╕рдордп, рдбрд┐рдмрдЧрд░ рдЖрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рдХреЗ рдКрдкрд░ рдЪрд░ рд░рдЦрддрд╛ рд╣реИ рдФрд░ ESP рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред



рдпрджрд┐ рдореИрдВ рд╕реНрдЯреИрдХ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ 4 рд╣рд░реЗ рддрд░реНрдХ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдореИрдВ рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдЖрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рдкрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВред



рдЬрдм рдЖрдк MessageBoxA рдлрд╝рдВрдХреНрд╢рди рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ RETURN ADDRESS рд╕реНрдЯреИрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред



рдпрд╣рд╛рдБ MessageBoxA рдХреА рд╡рд╛рдкрд╕реА рдкрддрд╛ рд╣реИред рдЬрдм рдореИрдВ F8 рдХреЗ рд╕рд╛рде рдЯреНрд░реЗрд╕ рдХрд░рдХреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ RET рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ MessageBoxA рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рдмрдЧрд░ рдореИрд╕реЗрдЬрдмреЙрдХреНрд╕рдП рдХреЙрд▓ рдХреЗ рдареАрдХ рдиреАрдЪреЗ рдЬрд╛рдПрдЧрд╛ред



рдФрд░ PUSH рдорд╛рди рдЬреЛ рдЖрдкрдиреЗ MessageBoxA рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП RETURN ADDRESS рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ ESP рдЖрд░рдХреНрд╖рд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рдареАрдХ рдКрдкрд░ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдерд╛ред PRINTF рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╣реЛрдЧрд╛ред

PRINTF рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, BUF рдФрд░ COOKIE рдкрддреЗ рдкреНрд░рд┐рдВрдЯ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред



рдореЗрд░реА рдорд╢реАрди рдкрд░ BUF рдХрд╛ рдкрддрд╛ 0x19FED4 рд╣реЛрдЧрд╛, рдФрд░ COOKIE рдХрд╛ рдкрддрд╛ 0x19FF24 рд╣реЛрдЧрд╛ред

рдпрд╣рд╛рдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо GETS рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдФрд░ BUF рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП BUF рдкрддреЗ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред рд╣рдо рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрддрд╛ 0x19FED4 рдХрдВрд╕реЛрд▓ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред





рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ EBP-54 рд╣реИред рдпрджрд┐ рдореИрдВ рдЙрд╕ рд╕реНрдЯреИрдХ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдпрд╣ -54 рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдкрд░ рдкрддрд╛ BUF = 0x19FED4 рд╣реИред



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





рд╡реЗ рдпрд╣рд╛рдБ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдиреАрдЪреЗ рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдореИрдВ F8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ GETS рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ BUF рдмрдлрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдкрд░ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ ENTER рджрдмрд╛рдПрдБ, рдФрд░ COOKIE рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореЗрд░реА рдорд╢реАрди рдкрд░ COOKIE рдЪрд░ 19FF24 рдореЗрдВ рдерд╛ред

рдпрд╣рд╛рдБ, рдХрд╛рд░реНрдпрдХреНрд░рдо 0x41424344 рдХреЗ рд╕рд╛рде рдХреБрдХреА рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ EBP-4 рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрддреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ COOKIE рд╣реИ, рдЕрдЧрд░ рд╣рдо рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ EBP рдореВрд▓реНрдп рдореЗрдВ HORIZON рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред



рдореИрдВ рдпрд╣рд╛рдВ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВред

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ EBP-4 рдПрдХ COOKIE рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЪрд░ -4 рд╕реНрдЯреИрдХ рд╕реНрддрд░ рдкрд░ рд╣реИ, HORIZON рдХреЛ рд╢реВрдиреНрдп рдХрд░рддрд╛ рд╣реИред



рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреВрдж рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛!





рддреЛ рд╣рдо рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрд╕ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдЬреАрддрддреЗ рд╣реИрдВред

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

рдореИрдВ PYTHON рд╕реЗ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред

import sys
from subprocess import Popen, PIPE

payload = b"A" * 80 + b"\x44\x43\x42\x41"

p1 = Popen(r"C:\Users\ricardo\Desktop\abos y stack nuevos\STACK1_VS_2017.exe", stdin=PIPE)
print ("PID: %s" % hex(p1.pid))
print ("Enter para continuar")
p1.communicate(payload)
p1.wait()
input()

PYTHON 3 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ PRINT рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЛрд╖реНрдардХ рд▓рдЧрд╛рдиреЗ рд╣реЛрдВрдЧреЗ рдФрд░ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (PYTHON 2 рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ b)ред

рдореИрдВ рдЬрд╛рдБрдЪрддрд╛ рд╣реВрдБ рдХрд┐ рдкрде рд╕рд╣реА рд╣реИ рдФрд░ рдЬрдм рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддрд╛ рд╣реВрдБред



рдЕрдЪреНрдЫрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА STACK1 рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП PYTHON 3 рдХрд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбрд▓ рд╣реИред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо IDA, RADARE рдФрд░ GHIDRA рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред


рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ STACK1 рдХрд╛рд░реНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд╕реНрдХрд░рдг 2, 3 рдФрд░ 4 рднреА рд╣реИрдВред рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ STACK1 рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдКрдм рдирд╣реАрдВ рд╣реИред

рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдо IDA FREE, RADARE рдФрд░ GHIDRA рджреЗрдЦреЗрдВрдЧреЗред

рдЕрдЧрд▓реЗ рднрд╛рдЧ 3 рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред

рд░рд┐рдХрд╛рд░реНрдбреЛ рдирд░рд╡рд╛рд╣рд╛
25/10/2019

PS # 1
рдореЗрд░реЗ рд╣реЛрдо рдкреЗрдЬ рдкрд░ рдПрдХ рд╕реБрдВрджрд░ рдкреАрдбреАрдПрдл рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - yasha.su

PS # 2
рдЬрд▓реНрдж рд╣реА рдореИрдВ рд▓реЗрдЦ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд▓рд┐рдЦреВрдВрдЧрд╛ https://habr.com/en/post/464117/ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐ рдХреИрд╕реЗ рдореИрдВрдиреЗ рдкрд┐рддрд╛ рдХреНрд░рд┐рд╕ рдХрд╛рд╕реНрдкрд░рд╕реНрдХреА рдХреЗ рд▓рд┐рдП рдорджрдж рдПрдХрддреНрд░ рдХреА рдФрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рдЧрдИред

рдмреЛрд░ рдордд рд╣реЛрдЗрдПред

All Articles