ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΡΠΎ
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ, Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° β ΡΠ΅ΠΌΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ°. ΠΡΠ»Π°Π΄ΡΠΈΠΊΠΈ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠ»Π°Π΄ΡΠΈΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΡΠΊΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π΄Π°ΠΆΠ΅, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π»Π΅ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΡΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ). ΠΡΠ»ΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ, ΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ ΠΎΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΡΡΠ½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π°Π΄ΡΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ (ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ) β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ β Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ C. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΡΠ΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΈΠΌΠ΅Π½ Π±ΡΠ»Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡΠΎ Π·Π°ΡΠ°ΡΡΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π°, ΡΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠ»ΠΎΡ ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡ ΠΈ Π±ΡΠΊΠ².
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
Π‘ΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ Windows Ρ ΠΎΡΠΎΡΠ°Ρ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Ρ IDA Pro ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ DataRescue (ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 4.1). IDA Pro ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Java.
Π ΠΈΡ. 4.1. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ IDA Pro
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° IDA Pro Π΄Π»Ρ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ pbrush.exe (Paintbrush). IDA Pro Π½Π°ΡΠ΅Π» ΡΠ΅ΠΊΡΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ pbrush.exe. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Windows ΠΈΠ»ΠΈ UNIX), ΡΠΎ ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΡΠΈ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΌΡΡΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π² Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΄Π΅Π»Π°Π² Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΈΠΌΠ΅Π½ pbrush.exe Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΈΠΌΠ΅Π½Π°.
ΠΡΠ΅Π½ΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ IDA Pro, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Ρ www.datarescue.com/idabase/ida.htm. SoftICE ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Numega β Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ www.compuware.com/products/numega/drivercentral/.
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ C (ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π²ΡΠ²ΠΎΠ΄ΡΡΠ°Ρ ΡΡΡΠΎΠΊΡ Β«Hello WorldΒ»). ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ GNU (GDB). ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½ΠΈΠΆΠ΅:
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΊ Π΅Π΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ β ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈΠ»ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅.
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ:
β ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ. Π ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π΅Ρ ΠΈΠΌΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠΌ Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ. ΠΠ°Π±Π»ΡΠ΄Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΡ 32-Ρ Π±ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ, Π΄ΡΠΎΠ±ΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ.
β ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ-ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ.ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
β ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Delphi, Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ Π΄Π»Ρ C, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
β ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡΠ½ΠΎΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠ±Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ ΡΠΏΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠ°ΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΡΠΎΠ³ΡΠ΅ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½ΠΎ Π²Π΅ΡΠ½ΠΎ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ IDA, Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ Π½ΠΈΠΆΠ΅.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π¦Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
β Π°Π½Π°Π»ΠΈΠ· Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ;
β Π°Π½Π°Π»ΠΈΠ· ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π·Π°ΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ;
β Π°Π½Π°Π»ΠΈΠ· ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π·Π°ΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ;
β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠΈΡΡΠΈΠ½Π³ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ 70-Π±Π°ΠΉΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π±ΡΠ» ΠΎΠΊΡΡΠ³Π»Π΅Π½ Π² ΡΡΠΎΡΠΎΠ½Ρ 80 Π±Π°ΠΉΡ. ΠΠΈΡΡΠΈΠ½Π³ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ½ΡΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠΎΠ².
ΠΠ½Π°Π»ΠΈΠ· ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π½ΠΈΠΌΠΈ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΎ ΡΠ΅Π²Π΅ΡΡ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ β ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ².
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π°ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΡΠ½ΡΡ Ρ ΠΎΠ΄ΠΎΠ².
ΠΡΠ»Π°Π΄ΠΊΠ°. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ, Π·Π°ΡΠ°ΡΡΡΡ ΠΌΠ°Π»ΠΎΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ (OllyDbg β ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅). ΠΠ½ΠΈ Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΊ ΡΠ΅ΡΠΈΠΉΠ½ΠΎΠΌΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π΅ Π±ΡΠ΄ΡΡΠΈ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ, Π΄Π»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Ρ ΠΎΡΠΎΡΠΈΠΌ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠΌ.
ΠΠ°ΠΊ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ: Π²Π·ΡΡΡ 100 ΠΠ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΊ ΡΠ·ΡΠΊΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ. Π ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ², Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΡ Π»ΠΈΡΡΠΈΠ½Π³ΠΎΠ² Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅ΡΡΠ½ΠΎΡΡΡΡ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΠ°Π·ΠΎΠ²ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π¨Π°Π³ 1. ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΌΠ΅ΡΠ°Π½Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΡΡ.
Π¨Π°Π³ 2. ΠΠΎΠ»ΡΡΠΈΠ² Π°Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ (ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡ Π΅ΠΌΡ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΡ ΡΠ·ΡΠΊΠ° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
Π¨Π°Π³ 3. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ»Π° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π°, Π΅Π΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌΡ Π»ΠΈΡΡΠΈΠ½Π³Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ·ΡΠΊΠ° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
Π¨Π°Π³ 4. ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΠΉΠ»Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΏΠΎΠΊΡΡΡΠΈΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ switΡh. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈΠ½ΡΠ» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ switch ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅Π» ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² Π²Π½ΡΡΡΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ jump ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 401250 ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ°Π±Π»ΠΈΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°Ρ Ρ 410257. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΅Π΅ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
401240: 8bec movebp,esp
401242: 33 c0 xor eax,eax
401244: 8b 55 08 mov edx,DWORD PTR [ebp+8]
401247: 83 fa 0c cmp edx,0xc
40124a: 0f 87 90 00 00 00 ja 0x4012e0
401250: ff 24 95 57 12 40 00 jmp DWORD PTR [edx*4+0x401257]
401257: e0 12 loopne 0x40126b
40125a: 00 8b 12 40 00 90 add BYTE PTR [ebx-0x6fffbfee],cl
401260: 12 40 00 adc al,BYTE PTR [eax]
401263: 95 xchg ebp,eax
401264: 12 40 00 adc al,BYTE PTR [eax]
401267: 9a 12 40 00 a2 12 40 call 0x4012:0xa2004012
40126e: 00 aa 12 40 00 b2 add BYTE PTR [edx-0x4dffbfee],ch
401274: 12 40 00 adc al,BYTE PTR [eax]
401277: ba 12 40 00 c2 mov edx,0xc2004012
40127c: 12 40 00 adc al,BYTE PTR [eax]
40127f: ca 12 40 lret 0x4012
401282: 00 d2 add dl,dl
401284: 12 40 00 adc al,BYTE PTR [eax]
401287: da 12 ficom DWORD PTR [edx]
40128a: 00 8b 45 0c eb 50 add BYTE PTR [ebx+0x50eb0c45],cl
401290: 8b 45 10 mov eax,DWORD PTR [ebp+16]
401293: eb 4b jmp 0x4012e0
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ°
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π½Π° Π½Π΅Π΅ ΡΡΡΠ»ΠΎΠΊ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ°, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡ Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ CPU.
ΠΠΎΠΌΠ°Π½Π΄Ρ, Π½Π΅ Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ add; ΠΠ»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ°Π·Π²Π΅ΡΡΠΊΠ΅.
ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°. ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ x86 jnz, ΠΎΠ±ΡΠ°Π·ΡΡΡ Π΄Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²Π΅ΡΠ²ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅Ρ ΠΎΠ±Π΅ Π²Π΅ΡΠ²ΠΈ. ΠΠ΄ΡΠ΅Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π°Π΄ΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π±ΡΠ»ΠΎ Π»ΠΎΠΆΠ½ΠΎ.
ΠΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°. ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΠΌΠ°Π½Π΄Π°, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°, ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΎΡ Π½Π΅Π³ΠΎ Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ Π»ΠΈΡΡΠΈΠ½Π³Π°, ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΈ Π·Π°Π½Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ Π°Π΄ΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅ Π²ΡΠ΅ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π΄Π°Π½Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ. ΠΠΎΠ³Π΄Π° Π°Π΄ΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ.
ΠΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ call eax), Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π° Π΅Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°ΠΌΠΈ, ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π΄Π²Π΅ Π²Π΅ΡΠ²ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΄ΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ call Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π°Π΄ΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π° call, Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΈΠ· Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ ΠΎΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π°Π΄ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°.
ΠΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ. ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ret x86) Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π΄Π°Π»Π΅Π΅. ΠΡΠ»ΠΈ Π±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π·Π°ΠΏΡΡΠ΅Π½Π°, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡ Π½Π° Π²Π΅ΡΡΠΈΠ½Π΅ ΡΡΠ΅ΠΊΠ°. Π£ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ΅ΠΊΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ², ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ. ΠΡΠΎΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠΌΡΡΠ» Π½Π°Π·Π²Π°Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΡΠ΅. ΠΠ»Π°Π²Π½ΡΠΌ ΠΆΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ Π²Π΅ΡΠ²ΠΈ, ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΊΠ°ΠΊ jump ΠΈ call, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ Π΄Π»Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΠ²ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΊΠΎΠ΄, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΡΠΊΠ° ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ: 2018-06-27 ; ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²: 4156 ; ΠΡ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ!
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΡΠΎ
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ. Π ΡΡΠ°ΡΡΠ΅ Π΄Π°ΡΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΠΊΡ Π·Π°Π΄Π°ΡΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ. Π ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π±Π΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΈΡ Π°ΡΠ΄ΠΈΡΠ° Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΈΡΠΊΠΎΠ² ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π½ΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Ρ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌΠΈ ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΎΡΠ΅Π½ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΡΠ»ΠΎΠΆΠ½Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Ρ.Π΄. ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΈΠΌ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ.
ΠΠΎΠ΄ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅Π΅ Π½Π° Π²Ρ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΈ Π²ΡΠ΄Π°ΡΡΠ΅Π΅ Π½Π° Π²ΡΡ ΠΎΠ΄ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΡ Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
ΠΠ°Π΄Π°ΡΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ»Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π² 60-Π΅ Π³ΠΎΠ΄Ρ XX Π²Π΅ΠΊΠ° ΡΡΠ°Π·Ρ ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π»ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Ρ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½ΠΎ Π½Π΅ ΡΡΡΠ°ΡΠΈΠ»Π° ΡΠ²ΠΎΠ΅ΠΉ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ [2]. ΠΡΠ° Π·Π°Π΄Π°ΡΠ° Π½Π΅ ΡΠ΅ΡΠ΅Π½Π° Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΈΠ·-Π·Π° Π½Π°Π»ΠΈΡΠΈΡ ΡΡΠ΄Π° ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π² ΡΠ·ΡΠΊ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡΒ» ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°ΡΠ°ΡΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ.
Π ΡΠΈΠ»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ (Π·Π°ΡΠ°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ) ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π Ρ ΠΎΠ΄Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ: Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΠΌ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅, Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·, ΡΠΎ Π΅ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠΈΠΊΠ»ΠΎΠ², Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ Ρ. ΠΏ., Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠΈΠΌΡ, Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π½Π΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ·ΡΠΊ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈΡΡ Π±Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΎΠ±Π·ΠΎΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π² ΡΠ·ΡΠΊ Π‘ΠΈ ΠΈΠ· Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ², Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΎΡ Π°Π½Π°Π»ΠΈΠ·.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π΅Π΄ΡΡΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, Π²ΡΠ±ΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Intel i386, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ. Π Π»ΠΈΡΡΠΈΠ½Π³Π°Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ AT&T [3].
ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈ Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅, ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π·Π°ΡΠ°ΡΡΡΡ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ. ΠΡΠΎΠΌΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·Π΄Π΅Π» ΡΡΠ°ΡΡΠΈ. Π ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΡΠ°ΡΡΠΈ Π΄Π°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ. Π ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±Π·ΠΎΡ ΡΠ·ΡΠΊΠ° Π‘ΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ. ΠΡΡΡΠΉ ΡΠ°Π·Π΄Π΅Π» ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Π‘ΠΈ. Π ΠΏΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π²ΡΠ²ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ.
2. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π·Π°Π΄Π°ΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°Π΄Π°ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΎΠ΄ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°). ΠΠΎΠ΄ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Win32 Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PE [16], Π° Π΄Π»Ρ Linux β Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF [15]), Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π°ΠΌΠΏΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π² ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π΄Π°ΡΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ³Π»ΠΎΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’Π°ΠΊΠΎΠ΅ Β«ΡΠΈΡΠΎΠΊΠΎΠ΅Β» ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ·Π»ΠΈΡΠ½Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎ ΡΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ, Ρ ΠΎΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡ ΠΎΠΆΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠ° ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ). Π’Π°ΠΊ, ΠΏΡΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠ° ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. ΠΡΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠΌ ΡΡΠ°ΠΏΠΎΠΌ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ++.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°ΡΠΈ. Π’Π°ΠΊ, ΠΏΡΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
ΠΡΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅ΡΠ΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΡΠ·ΠΊΠΎΠΉ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅, ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΊ Π·Π°Π΄Π°ΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½Π° Π‘ΠΈ.
3. ΠΠ±Π·ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
3.1. ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠ½ΠΎ Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΠΊΠΎΠ΄ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π° Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠ΄Π°, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΡΠΎΠ»ΠΎΠ³ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠ΄Π° β ΡΠΏΠΈΠ»ΠΎΠ³ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΏΡΠΎΠ»ΠΎΠ³ΠΈ, ΠΈ ΡΠΏΠΈΠ»ΠΎΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ Π»ΠΈΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΡΡΠΈΡΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ»ΠΎΠ³ ΠΈ ΡΠΏΠΈΠ»ΠΎΠ³ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ i386 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½ΠΈΠΆΠ΅:
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π² ΡΠ·ΡΠΊΠ°Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, sibling call optimization. ΠΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½, ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΠΎΡΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ call ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π° Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° jmp Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΡΠ΅Π»Π° Π²ΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Β«Π½Π΅ΡΡΡΡΠΊΡΡΡΠ½ΡΡ Β» ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ, ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π²ΡΡ ΠΎΠ΄Π°. ΠΡΡΠ³ΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Β«Π½Π΅ΡΡΡΡΠΊΡΡΡΠ½ΡΡ Β» ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΊΠ°ΠΊ Π‘ΠΈ++.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΠΎΡΡ Π² ΡΠΈΠΏΠΈΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΠ΄Π΄Π°ΡΡΠΈΠΉΡΡ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΈ Β«Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉΒ» ΠΊΠΎΠ΄. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΏΠΈΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, Π½Π° ΡΡΡΡΠΊΡΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ·ΡΠΊΠ° Π‘ΠΈ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π±Π΅ΡΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΡΠ·ΡΠΊΠ° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ Π² ΡΠ΅Π·Ρ-Π»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, ΡΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Β«Π½Π΅ΡΡΡΡΠΊ-ΡΡΡΠ½ΡΡ Β» ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
3.2. ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
Π ΡΠ·ΡΠΊΠ°Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π‘ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π² Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π΄Π΅ΡΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ.
Π‘ΠΏΠΎΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ABI (application binary interface). ΠΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠΈΠΏ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΡΠΈΠΏ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Win32/i386 ΠΈΠ»ΠΈ Linux/x86_64. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ ABI ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ .
Π’Π°ΠΊ, Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ win32/i386 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² _cdecl ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Π‘ΠΈ ΠΈ Π‘ΠΈ++ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ [9]:
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» β ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Β«Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ½ΠΎΒ» Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠΎΠΊΠ° ΡΠ΅ΡΡ Π½Π΅ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΡ Π·Π°Π΄Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠΏΡΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠΌ), ΡΠΎ Π² Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°. ΠΡΠΈΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ:
Π ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π°Π΄ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ, ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π°Ρ ΡΠΎΠ³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ Π½Π° ΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
ΠΡΠ°ΠΊ, Π½Π° ΡΠ°Π·Π΅ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ± Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠΌΠ΅Π½ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ².
3.3. Π‘ΡΡΡΠΊΡΡΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ°Π· Π°Π½Π°Π»ΠΈΠ·Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π° Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ Π²Ρ ΠΎΠ΄Π° Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠΎΠΈΡΡΡ Π³ΡΠ°Ρ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎ Π³ΡΠ°ΡΡ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΈΡΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ Π΄ΠΎΠΌΠΈΠ½Π°ΡΠΎΡΠΎΠ², Π·Π°ΡΠ΅ΠΌ Π΄ΡΠ³ΠΈ Π³ΡΠ°ΡΠ° ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ Π½Π° Β«ΠΏΡΡΠΌΡΠ΅Β», Β«ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅Β» ΠΈ Β«ΠΊΠΎΡΡΠ΅Β».
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΡΠΊΡΡΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·, ΡΠΎ Π΅ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ [6]. ΠΠΎΠΈΡΠΊΠΎΠΌ Π² Π³Π»ΡΠ±ΠΈΠ½Ρ Π² Π³ΡΠ°ΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡΡΡ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ.
3.4. ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΆΠ΅ Π²ΡΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΊΡΠΎΠΌΠ΅ Hex-Rays, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π°ΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π° Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
4. Π―Π·ΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ
Π―Π·ΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΈΠ·Π±Π°Π²Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ Π΄Π΅ΡΠ°Π»ΡΡ . ΠΡΠΈ ΡΠ·ΡΠΊΠΈ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΠΎΠΏΠ΅ΡΠ½ΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΈ ΠΊΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠΌΠ΅Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ².
ΠΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΈΠΌΠ΅Ρ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½ΡΠΆΠ½ΠΎ Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’ΠΎΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ·ΡΠΊΠ° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π―Π·ΡΠΊ Π‘ΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π½Π΅ΠΌ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡ ΡΠ·ΡΠΊΠ° Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π²ΡΡ ΠΎΠ΄ Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Ρ, ΡΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ : ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΠΈΠΊΠ»Ρ ΠΈ Ρ. Π΄.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΡΠΎΠ±ΡΡ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΠΈΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³ Π² ΡΠ·ΡΠΊ Π‘ΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΈ Ρ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΠ·ΡΠΊ Π‘ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, Π΄Π° ΠΈ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° Π΅Π΅ ΠΊΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π»ΠΈΠ±ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
5. ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π² ΡΠ·ΡΠΊ Π‘ΠΈ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π΄Π°Π΅ΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΡΠΎΠ² Π² ΡΠ·ΡΠΊ Π‘ΠΈ. ΠΡΠΎ β Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Boomerang [5], DCC [8], REC [14] ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Hex-Rays [10] ΠΊ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ IdaPro [11]. ΠΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π° Hex-Rays, Π½Π° Π²Ρ ΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, ΡΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΈ. ΠΠ°Π΄ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°ΡΠ°ΡΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ Π²ΡΡΠ°Π²ΠΎΠΊ, ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° Π½Π΅Ρ ΡΡΡΠ΅ΠΊΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠΎΠ³ΠΎ, ΠΏΠ»Π°Π³ΠΈΠ½ Hex-Rays ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ²Π»ΡΡΡΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Ida Pro, ΡΠΎ Π΅ΡΡΡ ΡΡ Π΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎ-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Hex-Rays Π²ΡΠ΄Π°Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π²ΠΈΠ΄Π΅ ΡΡ Π΅ΠΌΡ Π½Π° Π‘ΠΈ-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΌΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ida Pro ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
5.1. Boomerang
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Boomerang [5] ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (open source). Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π½Π°ΡΠ°Π»Π°ΡΡ Π² 2002 Π³ΠΎΠ΄Ρ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ»ΠΎ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ (SSA). ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΡΠΈΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ, Π·Π°ΡΡΡΠ΄Π½ΡΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Boomerang, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² Π½Π΅ΠΌ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π‘ΠΈ.
5.2. DCC
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° [8] Π±ΡΠ» ΠΎΡΠΊΡΡΡ Π² 1991 Π³ΠΎΠ΄Ρ ΠΈ Π·Π°ΠΊΡΡΡ Π² 1994 Π³ΠΎΠ΄Ρ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π³Π»Π°Π²Π½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ PhD. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ DCC ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ 16-Π±ΠΈΡΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ DOS EXE. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠ΅ΠΎΡΠΈΠΈ Π³ΡΠ°ΡΠΎΠ² (Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ). ΠΠ»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΈΠ³Π½Π°ΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.