рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдорд╕реНрддреА рдХрд░рдирд╛

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

рдмреБрд░рд╛рдИ.exe рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдХреНрдпрд╛ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ? рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?



рд╣реИрд╢ рдФрд░ рдЯрдХрд░рд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╕рдм рдореЗрдВ рдХреЛрдИ рдирдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреНрд░рднрд╛рд╡ 2004-2006 рдореЗрдВ рд╡рд╛рдкрд╕ рд╡рд┐рдХрд╕рд┐рдд рд╣реИрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдЯрдХреНрдХрд░ рдХреА рдЦреЛрдЬ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЯрдХрд░рд╛рд╡ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╕рдорд╛рди рд╣реИрд╢ рдорд╛рди рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, 2004 рдореЗрдВ рдЪреАрдиреА рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдиреЗ рдЕрдВрддрд░ рдХреНрд░рд┐рдкреНрдЯреЛрдирд╛рд▓рд┐рд╕рд┐рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛, рдЬреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ 128 рдмрд╛рдЗрдЯ рдЖрдХрд╛рд░ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрдХ рд╣реА md5 рд░рд╛рд╢рд┐, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╕рдордп рдореЗрдВ рд╣реЛрддреА рд╣реИред рдФрд░ рдпрджреНрдпрдкрд┐ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдиреЗ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╡рд┐рд╕реНрдлреЛрдЯ рдмрдо рдХрд╛ рдкреНрд░рднрд╛рд╡ рдкреИрджрд╛ рдХрд┐рдпрд╛, рдЗрд╕рдХреА рдЧрддрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдЫреЛрдбрд╝ рдЧрдИред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 2006 рдореЗрдВ, рдЪреЗрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд░ Vlastimil Klima рдиреЗ рдЯрдХреНрдХрд░реЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛, рдЬреЛ рдПрдХ рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдирд┐рдЬреА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ md5 рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рдпрд╛рджреГрдЪреНрдЫрд┐рдХ 128 рдмрд╛рдЗрдЯ рдмреНрд▓реЙрдХ рдХреА рдПрдХ рдЕрд▓рдЧ рдЬреЛрдбрд╝реА рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



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



рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

s i + 1 = f (s i , M i ), рдЬрд╣рд╛рдВ s рдореИрдВ i-th рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЖрд░рдВрднреАрдХрд░рдг рд╡реЗрдХреНрдЯрд░ рд╣реИред

Vlastimil Klim рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рднреА рджрд┐рдП рдЧрдП рдореВрд▓реНрдп i рдХреЗ рд▓рд┐рдП рджреЛ 128-рдмрд╛рдЗрдЯ рдмреНрд▓реЙрдХ M, M` рдФрд░ N, N` рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ f (f (s, M), M ') = f (f (s, N),) рдПрди ')ред



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

M 0 , M 1 , ..., M i-1 , M i , M i + 1 , M i + 2 , ..., M n ,



рдПрдо 0 , рдПрдо 1 , ..., рдПрдо рдЖрдИ -1 , рдПрди рдЖрдИ , рдПрди рдЖрдИ + 1 , рдПрдо рдЖрдИ + 2 , ..., рдПрдо рдПрди ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрди рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╣реИрд╢ рдореЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рд╡рд┐рднрд┐рдиреНрди рдмреНрд▓реЙрдХ M i , M i + 1 рдФрд░

N i , N i + 1 рдЙрддрдирд╛ рд╣реА рдореВрд▓реНрдп рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ s i + 2 , рдХреНрдпреЛрдВрдХрд┐ f (f (s, M i ), M i + 1 ) = f (f (s, N i ), N i + 1 ), рдФрд░ рдЪреВрдВрдХрд┐ рд╕рднреА рдмрд╛рдж рдХреЗ рдбреЗрдЯрд╛ рд╕рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рдж рдХреЗ рдорд╛рди рдореЗрд▓ рдЦрд╛рдПрдВрдЧреЗред



рдпрд╣ рд╣рдореЗрдВ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ



рдЕрдм рдЖрдЗрдП рдЕрдореВрд░реНрдд рдФрд░ рджреВрд░ рдХреА рдЪреАрдЬреЛрдВ рд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рд╢реНрди рдХреА рдУрд░ рдмрдврд╝реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ M 0 , M 1 , X, X, ..., M n рд╣реИ ред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдПрдо 0 , рдПрдо 1 , рдПрди 1 , рдПрди 1 , ..., рдПрдо рдПрди рдФрд░ рдПрдо 0 , рдПрдо 1 , рдПрди 2 , рдПрди 1 , ..., рдПрдо рдПрди (рд╕рд┐рд░реНрдл рдмреНрд▓реЙрдХ рдПрдХреНрд╕ рдХреЛ рдПрди 1 рдореЗрдВ рдмрджрд▓реЗрдВред рдФрд░ рдПрди 2 )ред рдпрджрд┐ рдмреНрд▓реЙрдХ рдПрди 1 рдФрд░ рдПрди 2 рдЯрдХрд░рд╛рд╡ рд╣реИрдВ, рддреЛ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╣реИрд╢ рдпреЛрдЧ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред

рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

рдЕрдЧрд░ (X == X) рддреЛ {good_program} рдФрд░ {bad_program}

рдЗрд╕ рдЯреНрд░рд┐рдХ рдХрд╛ рдкреВрд░рд╛ рд░рд╛рдЬ рдпрд╣реА рд╣реИред



рдЦреБрдж рдХреИрд╕реЗ рдХрд░реЗрдВ



рдЕрдм рдереЛрдбрд╝рд╛ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рдХрджрдо: рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреАрдЪреЗ рдбрдмрд▓ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦреЗрдВред

#include <stdafx.h>

#include<iostream>

#include < string >

using namespace std;

// str1 str2 X.

static char *str1= "qwertyuioplkjhgfdaszxcvbnmkjhgfdsaqwertyuikjh"\

"gbvfdsazxdcvgbhnjikmjhbgfvcdsazxdcfrewqikolkjnhgfqwertyuioplkjh"\

"gfdaszxcvbnmkjhgfdsaqwertyuikjhgbvfdsazxdcvgbhnjikmjhbgfvcdsa"\

"zxdcfrewqikolkjnhgfq123"
;

static char *str2= "qaswderftgyhujikolpmnbvcxzasxdcfvgbhnjmkijuy"\

"gtfdeswaqscfvgyjqaswderftgyhujikolpmnbvcxzasxdcfvgbhnjmkijuyg"\

"tfdeswaqscfvgyjqaswderftgyhujikolpmnbvcxzasxdcfvgbhnjmkijuygt"\

"fdeswaqscfvgyjqwertyuikja2"
;



int good()

{

int a;

std::cout<< "Good, nice programme!" ;

std::cin>>a;

return 0;

}

int bed()

{

int a;

for ( int i=0; i<1000; i++)

{

std::cout<< "Evil, evil code!" ;

}

std::cin>>a;

return 0;

}

int _tmain( int argc, _TCHAR* argv[])

{

// s s2

string s=str1;

string s2=str2;

s.erase(0,56);

s.erase(128,8);

s2.erase(0,64);

if (s==s2) {

return good();

} else {

return bed();

}

return 0;

}



* This source code was highlighted with Source Code Highlighter .








рдореИрдВ рдЖрдкрдХреЛ рдЪрд░ 1 рдФрд░ str2 рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред рд╡реЗ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЬрд▓реНрджреА рд╕реЗ рдкрд╛рдП рдЬрд╛рдиреЗ рдХреА рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪрд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореБрдЦреНрдп рдХрд╛рд░реНрдп, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдЪреНрдЫреЗ рдпрд╛ рдмреБрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред



рдЪрд░рдг рджреЛ: рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╣рдорд╛рд░реА рд▓рд╛рдЗрдиреЛрдВ str1 рдФрд░ str2 рдХреЛ .exe рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд░рд┐рдгрд╛рдо .exe рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рдмрддрд╛ рджреЗрдВ рдХрд┐ рдХреЙрдкреА рдХреЛ рдХреНрд░реЙрдкреНрдб рд╡рд░реНрдЬрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ str1 рдФрд░ str2 рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдвреВрдВрдвреЗрдВред рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдкрд╣рд▓реЗ 64 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдВрддрд┐рдо рд▓рд╛рдЗрдиреЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА: ред рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рд╕реЗрд╡ рдХрд░реЗрдВред



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

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ тАУp рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБред рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ "рдлрд╕рд▓реА рд╕рдВрд╕реНрдХрд░рдг" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рджреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ "рдлрд╕рд▓реА рд╕рдВрд╕реНрдХрд░рдг msg1" рдФрд░ "рдлрд╕рд▓реА рд╕рдВрд╕реНрдХрд░рдг msg2" рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреАред



рдЪрд░рдг рдЪрд╛рд░: рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдПрдХ рдФрд░ рдкреНрд░рддрд┐ рдмрдирд╛рдПрдБред рдореВрд▓ рдХреЛ good.exe рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ bad.exe рдХреА рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ред рдПрдХ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ msg1 рдФрд░ msg2 рдлрд╛рдЗрд▓реЗрдВ рдЦреЛрд▓реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдмрджрд▓реЗрдВ рдЬрд┐рд╕рдореЗрдВ str2 рдХреЛ str1 рдмреНрд▓реЙрдХ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, Ms1 рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЕрдВрддрд┐рдо 128 рдмрд╛рдЗрдЯреНрд╕ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдЕрдЪреНрдЫреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдкрд╣рд▓рд╛ рдмреНрд▓реЙрдХ рд╕рд╣реА рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ "рдХреНрд░реЙрдкреНрдб рд╡рд░реНрдЬрди" рдлрд╛рдЗрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИ, рджреВрд╕рд░рд╛ рдмреНрд▓реЙрдХ рдкрд╣рд▓реЗ рд╕реЗ 96 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдорд╣рддреНрд╡рдкреВрд░реНрдг: рд╕рдорд╛рди рдмреНрд▓реЙрдХ рдбрд╛рд▓реЗрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ред Good.exe рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ bad.exe рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдмреБрд░рд╛рдИред Exe рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ good.exe рдХреЗ рд╕рдорд╛рди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреЗрд╡рд▓ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо Ms2 рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд╣рд▓рд╛ рдмреНрд▓реЙрдХ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ msg1 рдлрд╝рд╛рдЗрд▓ рд╕реЗ рджреВрд╕рд░рд╛ред рдпрд╣ рдЕрдВрддрд░ рд╣рдореЗрдВ рдЕрдЧрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ (s == s2) рдХреЗ рд╕рд╛рде рдЧреИрд░-рдЕрдиреБрдкрд╛рд▓рди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдПрдХ рджреБрд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред



рдкрд╛рдБрдЪрд╡рд╛рдБ рдЪрд░рдг: рд▓рд╛рдн! Md5 рдлрд╝рд╛рдЗрд▓ рд░рдХрдо рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ, рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред



рд╕рдВрджрд░реНрдн:

1. рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЕрджреНрднреБрдд рд╕рд╛рдЗрдЯ

2. рд╡реЗрд▓рд╛рд╕реНрдЯрд┐рдорд┐рд▓ рдХреНрд▓рд┐рдо рдХрд╛ рд╕реНрдерд▓

3. рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓реЗрдЦрдХ рдХреА рд╕рд╛рдЗрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ



All Articles