ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ
ΠΠΈΠ·Π°ΡΡΠ΅ΜΠΌΠ±Π»Π΅Ρ β ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠΎ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π΅Π»ΡΡΡΡ Π½Π°
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Sourcer. Π’Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ β IDA. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π±ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° β ΠΎΡΠ»ΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³. ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π΄Π°ΠΌΠΏ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π΄Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ Π²Ρ ΠΎΠ΄Π°, ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΈΠ»ΠΈ Π΅Π΅ ΡΠ°ΡΡΠΈ), ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ β Ρ ΡΠ΅Π»ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²Π·Π»ΠΎΠΌΠ°. Π Π΅ΠΆΠ΅ β Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ (Π±Π°Π³ΠΎΠ²) Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠΉ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ (ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ
ΠΠ½Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠ³ Π½Π°Π·Π²Π°ΡΡ ΡΠ΅Π±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΊ Π±ΡΠ»ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ
Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠ°ΡΠΎΡΠΆΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, ΡΠΎΠΏΡΡΠΆΠ΅Π½Π½Π°Ρ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ (Π² ΡΠ°Π·ΡΠΌΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ) Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΆΠ΅Π»Π΅Π·Π°, ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π§ΡΠΎ ΡΠΆ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ
Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΡΠ·ΡΠΊΠΎΠ². ΠΠ½ΠΈ ΠΏΠΎΡΠ°ΠΆΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ, Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ, ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ). ΠΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΡ Π·Π½Π°Π½ΠΈΠ΅ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°/ IDE. ΠΠ½Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, Π²ΠΎ ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
Π’Π΅ΠΌ ΠΆΠ΅, ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π΄Π»Ρ x86 Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π΄Π»Ρ x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ, Ρ ΠΎΡΡ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, Π½ΠΎ Π²ΡΠ΅, ΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠΉ. ΠΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΡΠ΅Π±ΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π·Π½Π°Π½ΠΈΡ β Π·Π½Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ βΠ±Π°ΠΉΡΠΈΠΊΠΎΠ²β Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠ°Π»Π΅ΠΊΠΎ Π½Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΌ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° β ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΊΠ°ΡΡ ΡΠ°ΠΌΠΎΠΌΡ (ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅). ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΡΡ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π² Π½Π΅ΠΌ Π»ΠΈΡΡ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ Π΄Π»Ρ x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, 32-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π°ΠΊ ΠΆΠ΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ intel x86
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
β’ ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ 1 Π±Π°ΠΉΡ)
β’ ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (1 ΠΈΠ»ΠΈ 2 Π±Π°ΠΉΡΠ°)
β’ Mod_R/M β Π±Π°ΠΉΡΠΈΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ β ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ.
β’ ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π±Π°ΠΉΡΡ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ ΠΏΠΎΠ»Ρ SIB[Scale, Index, Base], ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ).
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΡ:
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΡΠ΅ΠΉΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
β’ 0x26 β ΠΏΡΠ΅ΡΠΈΠΊΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ES
β’ 0x2E β ΠΏΡΠ΅ΡΠΈΠΊΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° CS
β’ 0x36 β ΠΏΡΠ΅ΡΠΈΠΊΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° SS
β’ 0x3E β ΠΏΡΠ΅ΡΠΈΠΊΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° DS
β’ 0x64 β ΠΏΡΠ΅ΡΠΈΠΊΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° FS
β’ 0x65 β ΠΏΡΠ΅ΡΠΈΠΊΡ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° GS
β’ 0x0F β ΠΏΡΠ΅ΡΠΈΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½Π΅ ΡΡΠΈΡΠ°ΡΡ Π·Π° Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ β Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠΏΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ Π±Π°ΠΉΡ, ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ 0x0F)
β’ 0x66 β ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π° (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° eax Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ax)
β’ 0x67 β ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π°Π΄ΡΠ΅ΡΠ° (ΡΠΌ Π½ΠΈΠΆΠ΅)
β’ 0x9B β ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (WAIT)
β’ 0xF0 β ΠΏΡΠ΅ΡΠΈΠΊΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (LOCK Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ)
β’ 0xF2 β ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ REPNZ β ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ Π±Π°ΠΉΡ (ΡΡΡΠΎΠΊΠ°ΠΌΠΈ)
β’ 0xF3 β ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ REP β ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ Π±Π°ΠΉΡ (ΡΡΡΠΎΠΊΠ°ΠΌΠΈ)
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΠΈ (ΠΈΠ»ΠΈ) ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΅ Π΄Π»ΠΈΠ½Ρ ΠΈΠ»ΠΈ Π²ΡΠ±ΠΎΡ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ).
ΠΠΏΠΊΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠΏΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½, ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΌΠ΅ΡΡΠΈ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ (Π°ΠΌΠΈ) ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΡ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅) ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΠΌΠ°Π½Π΄ ΠΌΠ½ΠΎΠ³ΠΎ. Π ΠΏΡΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ β Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ, Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π½Π΅ ΠΈΡΡΠ΅Π·Π°ΡΡ (ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ). Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠΏΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Ρ Π½ΠΈΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ².
ΠΠ°ΠΉΡ Mod_R/M ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ:
β’ Mod β ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° Π±ΠΈΡΠ° (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ 3)
β’ R/M β ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ Π±ΠΈΡΠ° (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ 7)
β’ Value of ModR/M β ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ Π±ΠΈΡΠ° (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ 7)
ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠΊΡ: http://ref.x86asm.net/geek32.html.
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±Π»ΠΈΡ. Π ΡΡΡΠ½ΠΎΡΡΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΡ
ΠΏΠΎΠ»Π΅ΠΉ Π½Π°ΠΌ ΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ, Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
ΠΏΡΠ΅ΡΠΈΠΊΡ 0x0F. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
ΡΡΠΎΡ ΠΏΡΠ΅ΡΠΈΠΊΡ (Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ
ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° βPentium with MMXβ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ
).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π±Π°ΠΉΡ Mod_R/M Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ 32-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΠ· ΡΡΠΈΡ
ΡΡΠ΅Ρ
ΡΠ°Π±Π»ΠΈΡ ΡΡΠΎΡΠ½ΡΠ΅Ρ ΡΠ°Π·Π±ΠΎΡ Mod_R/M Π±Π°ΠΉΡΠ° ΡΠ°ΡΡΠ½ΡΡ
ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π±Π°ΠΉΡ Mod_R/M Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ 16-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ»Ρ ΡΠΌΠ΅Π½Ρ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π°Π΄ΡΠ΅ΡΠ° (0x67).
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ° ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ xml-Π²Π΅ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΈ ΡΠΆΠ΅ ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΡΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ. Π― ΠΆΠ΅ ΠΏΠΎΡΡΡΠΏΠΈΠ» ΠΈΠ½Π°ΡΠ΅ β Π·Π°Π³ΡΡΠ·ΠΈΠ» html ΡΠ°Π±Π»ΠΈΡΡ Π² Excel, ΠΈ ΡΠΆΠ΅ ΡΠ°ΠΌ, Π½Π°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠΊ Π½Π° VBA, ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ, ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ½ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ» ΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
Π‘Π°ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ:
β’ Π‘ΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
β’ ΠΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ°Π±Π»ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΠΎΠ»Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠΏΠΊΠΎΠ΄Π°, ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΠΈ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ (ΠΌΠΎΠ΄Π΅Π»ΠΈ) ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ (ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ) ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
β’ ΠΠ°ΠΉΠ΄Π΅Π½Π½Π°Ρ Π½Π°ΠΌΠΈ Π·Π°ΠΏΠΈΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ (ΠΌΠΎΠ΄Π΅Π»Ρ) ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΠ°Ρ ΠΆΠ΅, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ Π»ΠΈΡΡ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ° (Π½Π°Π·Π²Π°Π½ΠΈΠ΅) ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ². ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠ»Ρ Π±Π°ΠΉΡΠ° Mod_R/M, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ»Π΅Π±Π°ΡΡΡΡ ΠΎΡ Π½ΡΠ»Ρ Π΄ΠΎ ΡΡΠ΅Ρ . ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ² ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ Π΄ΡΠ±Π»ΠΈΡΡΡΡΡΡ β Ρ Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Mod_R/M Π±Π°ΠΉΡΠ° (ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π±Π°ΠΉΡΠΎΠ²) Ρ Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°.
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ βHello worldβ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° C++ Builder 6.
PS:
ΠΠ΅ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΈΠ· ΠΏΡΠΎΡΠΈΡΠ°Π²ΡΠΈΡ
ΡΡΠΎΡ ΠΏΠΎΡΡ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΡΠ΅ΡΠΏΠ½ΡΡΠ°Ρ ΠΈΠ· Π½Π΅Π³ΠΎ (Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ ΠΏΠΈΡΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ), Π½ΠΎ, Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΡΠ°, ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΎΡΠΊΡΡΡΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ )
Π§ΡΠΎ Π·Π½Π°ΡΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ? Π’ΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
Π²ΠΎΡ ΡΡΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈ Π΅ΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ ΡΠ»ΠΎΠΌΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΎ Π±Ρ ΠΎΠ½Π° Π½Π΅ ΠΏΡΠΎΡΠΈΠ»Π° ΠΊΠ»ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠΎ Π½ΠΈΠ±ΡΠ΄Ρ Π² ΡΡΠΎΠΌ ΡΠΎΠ΄Π΅
ΠΠΈΠ·Π°ΡΡΠ΅ΜΠΌΠ±Π»Π΅Ρ β ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠΎ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π΅Π»ΡΡΡΡ Π½Π°
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Sourcer. Π’Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ β IDA. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π±ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° β ΠΎΡΠ»ΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³. ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π΄Π°ΠΌΠΏ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π΄Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ Π²Ρ ΠΎΠ΄Π°, ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π±ΡΠ»ΠΎ: AE 00
Π° ΡΡΠ°Π»ΠΎ: mov ax, 0
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΌΠ΅ΠΌΠΎ-ΠΊΠΎΠ΄
ΠΠΈΠ·Π°ΡΡΠ΅ΜΠΌΠ±Π»Π΅Ρ β ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
ΠΠΎ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π΅Π»ΡΡΡΡ Π½Π°
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Sourcer[1]. Π’Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ β IDA. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π±ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° β ΠΎΡΠ»ΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³. ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π΄Π°ΠΌΠΏ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π΄Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ Π²Ρ ΠΎΠ΄Π°, ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΈΠ»ΠΈ Π΅Ρ ΡΠ°ΡΡΠΈ), ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ β Ρ ΡΠ΅Π»ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²Π·Π»ΠΎΠΌΠ°. Π Π΅ΠΆΠ΅ β Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ (Π±Π°Π³ΠΎΠ²) Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠΉ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ (ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ
ΠΠΎ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅. ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Sourcer. Π’Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ β IDA. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ Π±ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠ΅. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° β ΠΎΡΠ»ΠΈΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³. ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π΄Π°ΠΌΠΏ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, Π΄Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ Π²Ρ ΠΎΠ΄Π°, ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΈΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΏΡΠΎΡ ΠΎΠ΄Π½ΡΠΉ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ (ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΈΠ»ΠΈ Π΅Ρ ΡΠ°ΡΡΠΈ), ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ β Ρ ΡΠ΅Π»ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²Π·Π»ΠΎΠΌΠ°. Π Π΅ΠΆΠ΅ β Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ (Π±Π°Π³ΠΎΠ²) Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, java) ΠΈΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°, Π½ΠΎ Π΄Π°ΠΆΠ΅ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ Π±ΡΠ»Π° ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ β ΡΠΎ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ.
ΠΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠ΅Π½ΡΠ΅ΡΡΠ΅ΡΠ°: ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΡ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
OllyDbg
Π’ΡΡ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠ°Π» OllyDbg ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ user-land ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ, Π²Π·ΡΡΡΠΌ
Π½Π° Π²ΠΎΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ
Π°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ½ΠΈ ΡΡΡ ΠΆΠ΅ Π·Π°Ρ
ΠΎΡΠ΅Π»ΠΈ Π΅Π³ΠΎ ΡΠ»ΡΡΡΠΈΡΡ. ΠΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ
Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΡΠ±ΠΎΡΠΎΠΊ: ΠΎΠ΄Π½ΠΈ ΡΠΈΠΊΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΠ»ΡΠ³ΠΈ, Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»,
ΡΡΠ΅ΡΡΠΈ β ΡΠΊΡΡΠ²Π°ΡΡ Π΅Π΅ ΠΎΡ ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΡΠΎΠ². ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β «Π΄Π²ΠΈΠΆΠΎΠΊ» ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΡΠ΅ΡΠ΅Π· MS Debugging API, ΡΡΡΠ°Π΄Π°ΡΡΠΈΠΉ ΠΊΡΡΠ΅ΠΉ Π²ΡΠΎΠΆΠ΄Π΅Π½Π½ΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π·Π°
ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ΄Π½ΠΎΡΠ΄Π°Π»ΡΠ΅ΠΌΡΡ
ΡΠ»Π΅Π΄ΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π»Π΅Π³ΠΊΡΡ ΠΌΠΈΡΠ΅Π½Ρ Π΄Π»Ρ
Π°Π½ΡΠΈΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
Immunity Debugger
ΠΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΌΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΠΌΡ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅ΠΉΡΡ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ
ΡΠΊΡΠ΅ΡΡΠΈΠ²ΡΠ΅ΠΉ ΠΠ»ΡΠ³Ρ 1.10 Ρ ΠΠΈΡΠΎΠ½ΠΎΠΌ β ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠ΅Π½Ρ
Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΈΡΠ°ΡΡ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΠΎ Π² ΠΠ»ΡΠ³Π΅, Π½ΠΎ ΡΡΠΎ Π½Π΅
ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π²ΡΠ΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ ΡΠΈΠΏΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ (ΡΠΈΠΏΠ°
ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΠ΅ΡΠ΅Π½Ρ.
Π Immunity Debugger Π²Ρ
ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π½Π° ΠΠΈΡΠΎΠ½Π΅ ΠΈ
Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΡ
ΠΏΠΎΠ΄ Ρ
Π°ΠΊΠ΅ΡΡΠΊΠΈΠ΅ Π½ΡΠΆΠ΄Ρ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΠΈΡΠΎΠ½ΠΎΠ²ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ,
ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π·Π½Π°ΡΠΈΡΡΡ ΠΈ searchcrypt.py β ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²: AES, BLOWFISH, CAMELLIA, CAST, MD5, RC2,
RC5, RIPEMD160, SHA1, SHA256, SHA512.
Immunity Debugger ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ,
Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΠΈΠ΅ proof-of-concept expolit’Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΠΠΈΡΠΎΠ½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅
Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΡΠ΅Π΄Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π Ρ
ΠΎΡΡ Ρ
Π°ΠΊΠ΅Ρ Ρ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ
ΡΠ°Π·Π±Π΅ΡΠ΅ΡΡΡ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ exploit’Π° ΠΈ Π±Π΅Π· Immunity Debugger’Π°, ΠΏΠΎΡΡΠΈΡΡΡ
exploit Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π·Π°ΡΠ°ΡΡΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, Π²ΡΡΠ΅ΡΠ½ΡΡΡΠΈΠΌ ΠΠ»ΡΠ³Ρ.
ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΌΠΎΠ΄, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΠ»ΡΠ³Π΅ 1.10 ΠΈ ΡΠΎΠ±ΡΠ°Π²ΡΠΈΠΉ Π² ΡΠ²ΠΎΠ΅ΠΌ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΡΠΊΡΠΈΠΏΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΡΡΡ Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Immunity Debugger’Π°, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, YDbg ΠΏΠΈΡΠ°Π»ΡΡ Ρ
Π°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π΄Π»Ρ Ρ
Π°ΠΊΠ΅ΡΠΎΠ², Π»ΠΎΠΌΠ°ΡΡΠΈΡ
Π·Π°ΡΠΈΡΡ Ρ ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΡΠ°ΠΌΠΈ (ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΌΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π΅Π» ΠΈ
Π½Π°ΠΏΠΈΡΠΊΠ°Π½Ρ Π°Π½ΡΠΈ-ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°ΠΌΠΈ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΠΈΠΌΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΠΠ»ΡΠ³ΠΈ ΠΏΠΎ Π³Π»Π°Π²Π½ΠΎΠΌΡ
ΠΎΠΊΠ½Ρ Ρ Π΅Π΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΡΠ½ΠΊΡΠ°ΠΌ ΠΌΠ΅Π½Ρ). ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π±ΡΠΎΡΠ°Π΅ΡΡΡ Π² Π³Π»Π°Π·Π° ΠΏΡΠΈ
Π·Π°ΠΏΡΡΠΊΠ΅ YDbg (ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ ΠΈΠ· OLLYDBG.EXE Π² SND.exe),
ΡΡΠΎ «ΠΏΠΎΠΊΠΎΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅» ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, «Memory» ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² «M3m0ry», «SEH
chain» Π² «S3H chain», «Breakpoints» Π² «Br3akp01nts» ΠΈ Ρ. Π΄. Π‘Π»ΠΎΠ²ΠΎΠΌ, Π²ΡΠ΅
«Ρ
Π°ΠΊΠ΅ΡΡΠΊΠΈΠ΅» ΠΏΡΠ½ΠΊΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ β ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉ ΠΈΡ
Π½Π°ΠΉΡΠΈ (Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π² Π½ΠΎΠ²ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΡΠΎΠ² Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡ YDbg, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΠ½ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡ
ΠΊΡΡΠΈ Π·Π°ΡΠΈΡ, ΠΏΠ°Π»ΡΡΠΈΡ
ΠΠ»ΡΠ³Ρ). Π ΡΠΎΡΡΠ°Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° YDbg Π²Ρ
ΠΎΠ΄ΠΈΡ 36 ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² (ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠΊΠ°ΡΡ ΠΏΠΎ Π‘Π΅ΡΠΈ Π² ΠΈΡ
ΠΏΠΎΠΈΡΠΊΠ°Ρ
). Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ
Π·Π°ΡΠ΅ΡΠ°Π»ΡΡ
Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π±ΡΠΈΠ»Π»ΠΈΠ°Π½Ρ β IDA Sigs, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅Π±Ρ. ΠΠ°-Π΄Π°!
ΠΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ IDA-ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΈΡ
Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ
Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π² ΠΠ»ΡΠ³Π΅ ΠΈΠ»ΠΈ Π² YDbg. ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ β red-hawk
(«ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΡΡΡΠ΅Π±») ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΡΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ, Π²
ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ΄Π½ΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Visual Basic’Π΅ ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° __vbaStrCmp ΠΈΠ»ΠΈ __vbaStrCopy,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ). ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠ΅
Ρ
Π°ΠΊΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎ Π²ΠΈΠ·ΠΆΠ°Ρ ΠΎΡ Π²ΠΎΡΡΠΎΡΠ³Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΡΡΡΠ΅Π± ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ
ΡΡΠ΅Π±Π½ΠΈΠΊΠΎΠΌ ΠΏΠΎ Π²Π·Π»ΠΎΠΌΡ, Π° ΡΠ°ΠΊ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ! ΠΠ°ΡΠ°Π»ΠΎΠ³ \SCRIPT
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 637 ΡΠΊΡΠΈΠΏΡΠΎΠ², Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ
Π΄Π»Ρ ΡΠ½ΡΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΡΠΎΠ²/ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΠΊΠΈΡ
ΡΡΡΠΈΠ½Π½ΡΡ
Π΄Π΅Π».
SoftICE
ΠΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ (Π΄Π°ΠΆΠ΅ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΊ ΠΊΡΡΠΊΠΈΠ½Π³Ρ Π΄Π°ΠΆΠ΅ Π±Π»ΠΈΠ·ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΠ») ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ
Π΄Π»Ρ Windows, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π΄Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, ΠΊΠ°ΠΊ
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ OllyDbg, SoftICE ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Windows, ΡΡΠΎ
ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². Π Π°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΎΠ±Ρ
ΠΎΠ΄ MS Debugging API, ΡΡΠΎ
Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ Π°Π½ΡΠΈΠΎΡΠ»Π°Π΄ΠΊΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π·Π°ΡΠΈΡ
soft-ice β Π²ΡΠ°Π³ Π½ΠΎΠΌΠ΅Ρ ΠΎΠ΄ΠΈΠ½, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Π΅Π³ΠΎ
ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ
(ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΠΌΡΠ½Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅). SoftICE Π±ΡΠ» ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ NuMega,
ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π»Π° Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Driver Studio, ΠΊΠΎΡΠΎΡΡΠΉ
Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π±ΡΠ» ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠ½ Compuware. ΠΠΎΠΌΠ½ΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΌΠ°Π½ΡΠ°Π»ΠΎΠ²
Π±ΡΠ»ΠΎ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Soft-Ice’Π° ΠΏΠΎΠ΄ Windows XP? Π£Π²Ρ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΠΈΡΡΡ,
ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π² Π°ΠΏΡΠ΅Π»Π΅ 2006 Π³ΠΎΠ΄Π°.
ΠΠ° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π΅ Π½Π°ΠΉΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΎΡΡΠ΅Π½ΡΠ°Ρ
.
Microsoft Debugger
ΠΡ
ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² WDK (Windows Driver Kit β Π±ΡΠ²ΡΠΈΠΉ Driver Development Kit ΠΈΠ»ΠΈ
DDK), Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Debugging Tools. ΠΠ±Π° ΠΎΠ½ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Ρ, Π½ΠΎ WDK Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ
Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Windows
Live ID, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Debugging Tools ΡΠ°Π·Π΄Π°Π΅ΡΡΡ Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ SDK,
Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ
ΠΎΠ΄ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ.
ΠΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π΄Π²ΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ
: windbg.exe β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ cdb.exe β
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π ΡΠ° ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ ΡΠΎΠ½ΠΊΠΈΠΌΠΈ ΠΎΠ±Π΅ΡΡΠΊΠ°ΠΌΠΈ Π²ΠΎΠΊΡΡΠ³
dbgeng.dll, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ «Π΄Π²ΠΈΠΆΠΎΠΊ»,
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· Π½Π΅ ΠΏΠΈΡΠ°ΡΡ
ΡΡΠ°ΡΡΠ΅Ρ Ρ Π½ΡΠ»Ρ, dbgeng.dll ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ «ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°» ΠΏΡΠΈ
Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
Syser Kernel Debugger
GNU Debugger β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΠΎΠ΄ UNIX, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½ΠΎΠΉ
ΡΠΈΠΏ ΠΌΡΡΠ»Π΅Π½ΠΈΡ, ΡΠ΅ΠΌ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ. ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ
ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, ΡΠΊΠΎΡΠ΅Π΅ ΡΡΠΎ ΡΡΠ°Π½ΠΎΠΊ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΠΌΠΎΡΠ½ΡΠΌ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ «ΡΠ΅ΡΡΠ½ΡΠ΅» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β ΠΎΠ΄Π½ΠΎ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅,
Π½ΠΎ Π² ΠΏΠ»Π°Π½Π΅ Π°Π½ΡΠΈΠΎΡΠ»Π°Π΄ΠΊΠΈ Π΄Π΅Π»Π° ΠΎΠ±ΡΡΠΎΡΡ ΠΏΠ»ΠΎΡ
ΠΎ. GDB Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»ΡΡΡΡΡ ΠΈ
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ptrace (ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π°
ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²). GDB ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅
Ρ
ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡ
ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π»ΠΈ. Π ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ°Π»ΠΎ-ΠΏΠΎΠΌΠ°Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΠΌΠΈΠΌΠΎ GDB ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ Π΄Π»Ρ Π½ΠΈΠΊΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Lin-Ice, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π°Π½ΡΠΈΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ΄ UNIX ΡΠΎΠ»ΡΠΊΠΎ-ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ
ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΈ GDB.
IDA Pro
Hex-Rays
W32DASM
ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ Ρ
Π°ΠΊΠ΅ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠΈ Π²Π·Π»ΠΎΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ,
Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π½Π° Delphi ΠΈ Builder, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠΊΠΈ, ΡΠΈΠΏΠ° Π±ΡΡΠΊΠ° Π½Π°
GetWindowTextA, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ»Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° Delphi/Borland
C++ Builder, Ρ.Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ VCL ΠΎΡ Borland, Π½ΡΠΆΠ΅Π½
ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΠΈ ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΡΡΠΈΠ»ΠΈΡΠ΅ DeDe. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ
ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ Delphi-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΌΠΎΡΡΡ Π½ΠΈ Π½Π° ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ
Π½Π΅ ΡΠΌΠΈΡΠ°ΡΡ. DaFixer, Π°Π²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π·Π°Π±ΡΠΎΡΠΈΠ» Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ
Π΄Π΅ΡΠΈΡΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅Ρ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ²Π»Π°Π΄Π°ΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° Delphi, ΡΠΈΡΠ°ΠΉ Π² ΡΡΠ°ΡΡΠ΅ «ΠΠ·Π»ΠΎΠΌ
ΠΠΎΡΠ»Π°Π½Π΄ΠΈΠΈ: ΠΈΠ·ΡΡΠ½Π°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Delphi».