ΠΠΎΠ²Π°ΡΠΎΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
ΠΠ·ΡΡΠ΅Π½Π½ΡΠ΅ Ρ ΠΈΡΡΠΎΡΠΌΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ Π½ΠΎΠ²Π°ΡΠΎΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π΅ΠΌΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ . Π ΡΠ΅ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ Π»Π΅Π³ΠΊΠΎΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°, Π±ΡΠ΄Ρ ΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΡΡΠ΅ΡΠ°, Π²ΡΠ±ΠΎΡ ΡΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠ΅ΡΡΠΈΠ½Π³Π° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ
ΠΠ°ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠ΅ΠΌ ΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠ²ΡΠ·ΠΈ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ: ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DLL ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX Π² ΠΏΠ°ΠΌΡΡΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ ΠΌΠ°ΡΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΌΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π½Π΅ Π²ΠΈΠ΄ΡΡ Π² ΡΡΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΠΈΡΠ½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎ Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΌΡΡΡ ΠΊΠΎΠ΄Ρ. ΠΠ»Ρ Π½Π΅Π³ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°, Π½ΠΎ ΠΈ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π±ΠΈΡΠΎΠ² ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠ°ΡΡΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΡΠ°ΡΡΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΡΡΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΆΠΈΠ·Π½ΠΈ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π½Π΅ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° kernel32.dll Π·Π°Π³ΡΡΠΆΠ΅Π½Π°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π°, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π² ΠΏΠ°ΠΌΡΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ²ΡΠ·ΠΈ Ρ Π»ΡΠ±ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ DLL Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ΅ΠΌ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄.
ΠΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΊΠΎΠ΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ UNIX-ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ. Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΡΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ ΡΠ°Π½Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠ΄ΡΠ° Linux ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΠ΄ΡΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° PAX. ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎΡ ΡΡΡΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»Π° Solar Designer. ΠΠ½ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΡΡ Π² Π·Π°ΠΏΠΈΡΠΈ Π² ΡΡΠ΅ΠΊ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ execve, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠ³ΠΎ Π² ΡΡΠ΅ΠΊΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° EIP Π½Π° Π°Π΄ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ execve. Π‘ΡΠ΅ΠΊ ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ execve. ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ret Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° EIP ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π»Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ execve. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠΈ Π²Π·Π»ΠΎΠΌΠ° Π·Π°ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ· ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ· ΡΡΠ΅ΠΊΠ°.
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π½ΠΎΠ²ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄Π° ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π£ΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ²ΠΎΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠ°ΠΌΡΡΡ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΎ, ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π΄Π»Ρ Windows NT.
Π Windows NT Π΅ΡΡΡ ΠΏΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: LoadLibrary() ΠΈ GetProcAddress(). ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π»ΡΠ±ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ DLL ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. Π ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΡΠ»ΡΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ dlopen() ΠΈ dlsym().
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ: ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ LoadLibrary() ΠΈΠ»ΠΈ dlopen() Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π² Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠ°ΠΌΡΡΡ. Π‘ΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ GetProcAddress() ΠΈ dlsym() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π°Π΄ΡΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° β ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΡ ΠΎΠ΄Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΡ ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΅Π΅ ΠΈΠ½Π΄Π΅ΠΊΡ, Π° Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ β Π°Π΄ΡΠ΅Ρ ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π²ΡΡΠΊΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ DLL. ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠ·Π²Π΅ΡΡΠ½Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΠ»ΠΈ Π½Π°ΠΉΡΠΈ ΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°) Π°ΡΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠΎ ΠΈ Π±Π΅Π·ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠ° Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° Π΄ΡΡΠ³ΡΡ. ΠΠ»Ρ Windows NT ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΡΠ°ΠΌΠΊΠ°ΠΌΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° service pack ΠΈ ΡΠΎΡΡΠ°Π²ΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ OS combo. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² UNIX ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π°ΡΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΡΡΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠ° Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ. Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΡΡΠΎ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°. ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΡΡΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π² ΠΏΠ°ΠΌΡΡΡ. Π§Π°ΡΡΠΎ ΡΠ°ΠΊ ΠΈ Π±ΡΠ²Π°Π΅Ρ, Π½ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ Π΄Π΅Π»ΠΎ ΡΠ»ΡΡΠ°Ρ. ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠ»Ρ Windows NT ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° PE (portable executable format). ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌ UNIX ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ ELF (executable and linking format).
ΠΡΠΈ ΡΠΎΡΠΌΠ°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ, ΡΡΠΎ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. Π Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠ°Ρ ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (eggshellpayload). ΠΠΎΠ΄ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π¦Π΅Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π»Ρ Π°ΡΠ°ΠΊΠΈ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΡΡΡΠΏΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠ³ΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠΎΠ³, Π° Π·Π°ΡΠ΅ΠΌ Ρ Π±Π°Π½Π΄ΠΎΠΉ Π²Π»ΠΎΠΌΠΈΡΡΡΡ Π² Π΄ΠΎΠΌ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π΅ΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ ΠΈ Π·Π° ΠΌΠ΅Π½ΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅: ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ Π°ΡΠ°ΠΊΠ° Π½Π° Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π½Π°ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ.