ΠΊΠ°ΠΊ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΠΊΠΎΠ΄ ΠΈΠ³ΡΡ
ΠΠΎΡΠ΅ΠΌΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ·Π½Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ³ΡΡ?
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΡΠ΅ΠΌΡ Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ·Π½Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ³ΡΡ ΠΏΠΎΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΅Π³ΠΎ ΡΠ°ΠΌΠΈ Π½Π΅ Π²ΡΠ»ΠΎΠΆΠ°Ρ Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΈΠ»ΠΈ Ρ Π°ΠΊΠ΅ΡΡ Π΅Π³ΠΎ Π½Π΅ ΡΠΎΠ»ΡΡΡ?
Π ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΡΠ΅Π· DotPeek, Π½ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΈΠ³Ρ Π½Π΅Ρ.
ΠΠΎΡΠ΅ΠΌΡ Π½Π΅Π»ΡΠ·Ρ ΡΠ·Π½Π°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ ΠΈΠ· ΠΈΠ³ΡΡ?
ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΡΡ?
ΠΡΠ»ΠΈ ΡΡΠΎ Π²ΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΈΡΡΡΡΡ, ΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ° ΡΠΈΡΡΠΎΠ²ΠΊΠ°?
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π²ΠΎΠΏΡΠΎΡΡ Π³Π»ΡΠΏΡΠ΅, Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΊΠ°ΠΊ Π΄ΡΡΠ°ΡΠΊΡ. Π― ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΡ. =(
(ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π° ΠΏΡΠΎΡΡΡΡ ΡΠ»ΠΎΠ²Π°Ρ , Π±Π΅Π· Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΠΎ ΡΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ)
ΠΠΎΡ ΠΈ ΠΊΠ°ΠΊ Π³ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΡΠ΄Π΅Π½ΡΡ ΡΠ·Π½Π°ΡΡ ΡΠ΅ΡΠ΅ΠΏΡ? ΠΠ°, ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ. ΠΠ°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΊΠΎΠ²ΡΡΡΡΡ ΡΠ²ΠΎΡ ΠΏΠΎΡΡΠΈΡ, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΡΠΊΡΡΡΠ·ΠΊΠΈ ΠΈ Π½Π°ΡΠ΅Π·ΠΊΡ, ΠΏΠΎ ΡΠΎΡΠΌΠ΅ ΠΊΡΠ±ΠΈΠΊΠΎΠ² ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊΠΈΠΌ Π½ΠΎΠΆΠΎΠΌ ΡΠ΅Π·Π°Π»ΠΈ, ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ Π² Π³ΡΠ°ΠΌΠΌΠ°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½Π³ΡΠΈΠ΄ΠΈΠ΅Π½Ρ, ΡΠΈΠ³Π°ΠΊΠ½ΡΡΡ ΡΠΎΡΡ Π½Π° ΡΠ΅Π½ΡΡΠΈΡΡΠ³Π΅, ΠΏΡΠΎΡΠ²Π΅ΡΠΈΡΡ ΡΠΏΠ΅ΠΊΡΡΠΎΠ°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ Π½Π° Ρ ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΏΡΠΈΠΊΠΈΠ½ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΈΠ· ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ ΡΠΎΡΡΠΎΡΡΡ. ΠΠΎ Π½Π° ΡΡΠΎ ΡΠΉΠ΄Π΅Ρ ΡΠΉΠΌΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠ΅Π΄ΡΡΠ².
ΠΠΎΡΠΎΠΌΡ ΠΊΡΠ΄Π° Π²Π°ΠΆΠ½Π΅Π΅ Π΄Π°ΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΆΠΎΠΉ ΠΊΠΎΠ΄
ΠΠ°Π³Π»ΡΠ½Π΅ΠΌ Π·Π° ΠΊΡΠ»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³Ρ
ΠΠ±ΠΎΠΆΠ°Ρ Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ Π·Π° ΠΊΡΠ»ΠΈΡΡ. ΠΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡΡΡ Π²Π΅ΡΠΈ. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ Π»ΡΠ΄Π΅ΠΉ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΡ Π½Π΅ Π΄Π΅Π»ΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ΠΈ Π²Π΅Π΄Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠΊΠΎΠ². ΠΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΠ°ΠΌ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ, Π½Π° ΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ³ΡΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ°Π»ΠΈ ΡΠ²ΠΎΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. Π Ρ Π΄Π°Π²Π½ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π»ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΡΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΠΈΠ³ΡΡ β Π΄Π»Ρ PC. ΠΠ°ΠΉΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π°ΡΠΊΠ°Π΄ ΠΏΠΎΡΡΠΈ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ, ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π΅ Π² ΠΊΡΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ PC.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ³ΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΡΡΠΊΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π±ΡΠ»ΠΈ ΡΠ»ΡΡΡΠ΅Π½Ρ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ β Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π΄Π°Ρ ΡΡΡΠ»ΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Π°Ρ Π²Π΄ΡΡΠ³ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄Ρ β ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ³ΡΡ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ Fabien Sanglard. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΡ ΡΠ°Π±ΠΎΡΡ, ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΠ΅ ΠΊ Π½Π΅ΠΌΡ.
ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ³ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ id Software/Apogee. Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅? ΠΠ΅ Π΄ΡΠΌΠ°Ρ. id ΡΠ»Π°Π²ΠΈΡΡΡ ΠΎΡΠΊΡΡΡΠΎΡΡΡΡ ΠΈ ΠΏΡΠΈΠ²ΡΡΠΊΠΎΠΉ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. Π‘ΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ³ΡΡ ΡΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΈ Π±ΡΠ»ΠΈ Π±Ρ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ β Π½Π΅ Π»ΡΡΡΠ΅ Π»ΠΈ, ΡΡΠΎΠ±Ρ ΠΊΡΠΎ-ΡΠΎ ΡΡΠΈΠ»ΡΡ ΡΠ΅ΠΌΡ-ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΌΡ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅?
ΠΡΠ°ΠΊ, ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ (Π² Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅):
Colossal Cave Adventure (1976)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: William Crowther and Don Woods
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Π Π°Π·Π½ΡΠ΅.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: PDP-10 ΠΈ Π΄ΡΡΠ·ΡΡ.
βYou are in a maze of twisty little passages, all alike.β (Β«ΠΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Π»Π°Π±ΠΈΡΠΈΠ½ΡΠ΅ ΠΈΠ· Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·Π²ΠΈΠ»ΠΈΡΡΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ²Β»).
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π½Π΅ Π½Π° 100% ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ³ΡΠ°. ΠΠΎ Π΅Ρ ΠΏΡΠΎΠ΄Π°Π²Π°Π»ΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΡΡ Π²Π°ΠΆΠ½ΠΎΡΡΡ. Π, ΠΊΡΡΠ°ΡΠΈ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΠΌΠΎΡΠΈΠ²Π°ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΠΈΠ³ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ³ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ adventure.
ΠΡΠΈΠ³ΠΈΠ½Π°Π» Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Fortran, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠ²Π°ΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ»ΠΈ Π½Π° C.
Catacomb (1989)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: John Carmack
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Softdisk
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Apple II / DOS
ΠΠ΅ ΠΏΡΡΠ°ΠΉΡΠ΅ Ρ Catacomb 3D. ΠΡΠΎ ΡΠ°Π½Π½ΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ³ΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΠ°ΡΠΌΠ°ΠΊΠΎΠΌ Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ id ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Turbo Pascal.
Prince Of Persia (1989)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Jordan Mechner
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: BrΓΈderbund
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Apple II / DOS / many more
ΠΠ±Π·ΠΎΡ ΠΊΠΎΠ΄Π°: fabiensanglard.net
Prince Of Persia ΠΏΡΠΎΠΈΠ·Π²ΡΠ» ΡΡΡΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π³ΠΎΠ»Π»ΠΈΠ²ΡΠ΄ΡΠΊΠΎΠΌΡ ΡΡΠΈΠ»Ρ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΌΡ Π³Π΅ΠΉΠΌΠΏΠ»Π΅Ρ.
ΠΠ°ΠΏΠΈΡΠ°Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΠΎΠ±Π·ΠΎΡΠ° ΠΊΠΎΠ΄Π°. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ ΠΠΆΠΎΡΠ΄Π°Π½ΠΎΠΌ ΠΠ΅Ρ Π½Π΅ΡΠΎΠΌ, Π³Π΄Π΅ ΠΎΠ½ Π΄Π΅Π»ΠΈΡΡΡ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³ΡΡ.
SimCity (1989)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Maxis
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Maxis / BrΓΈderbund
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: All
ΠΠ³ΡΠ° Π½Π°ΡΠ°Π»Π° Π½ΠΎΠ²ΡΠΉ ΠΆΠ°Π½Ρ. Π ΠΎΡΠ½ΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° β ΡΠΈΠΌΡΠ»ΡΡΠΈΡ Π³ΠΎΡΠΎΠ΄Π° ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠ»Π΅ΡΠΎΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π₯ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ. ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄Π»Ρ unix-ΠΏΠΎΡΡΠ° 1990 Π³ΠΎΠ΄Π° Π±ΡΠ»ΠΈ Π²ΡΠΏΡΡΠ΅Π½Ρ Π² 2008 Π³ΠΎΠ΄Ρ.
Hovertank 3D / Catacomb 3D (1991)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: id Software
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Softdisk
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: DOS
ΠΠ΅ΡΠ²Π°Ρ Π²Π΅Ρ Π° Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΠ΅ΡΠΎΠ² id Software. ΠΡΠΈ ΠΈΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ raycasting, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΡΠ»ΡΡΡΠ΅Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Ρ ΠΈΡΠ΅, Wolfenstein, Π³Π΄Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ΅ΠΊΡΡΡΡΡ.
Star Control II (1992)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Toys for Bob
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Accolade
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: DOS / 3D0
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ³ΡΠ°, Π½Π΅ Π²ΠΏΠΈΡΡΠ²Π°ΡΡΠ°ΡΡΡ Π½ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΡΠΎΠ³ΠΈΡ ΠΆΠ°Π½ΡΠΎΠ². ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΡΡΠΊΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π½Π°ΠΌ ΠΎ 90-Ρ Π³ΠΎΠ΄Π°Ρ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅ VGA, Π³Π΄Π΅ ΡΠ²Π΅ΡΠ° Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Ρ Π½Π΅ Π΄Π»Ρ ΠΊΡΠ°ΡΠΎΡΡ, Π° ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΡ DPaint.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠ΄Π° ΠΎΡ The Escapist.
ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ Ρ ΠΏΠΎΡΡΠ° Π½Π° 3D0, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΆΠ΅ Π±ΡΠ» ΡΡΠ΅ΡΡΠ½. ΠΡΠΎ ΡΠ°ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΠΈΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡ ΠΎΠ΄ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
Wolfenstein 3D / Blake Stone (1992/3)
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Catacomb Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ ΡΠ΅ΡΡΡΠ·Π½ΡΠΉ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄ Π½Π° VGA-Π³ΡΠ°ΡΠΈΠΊΡ. Π ΠΈΠ³ΡΠ°ΡΡ ΡΡΠ°Π»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅. ΠΠ°ΠΊ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ id, ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡ, Ρ ΠΎΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°ΡΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° 16-Π±ΠΈΡΠ½ΠΎΠΌ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ (Π² Doom ΡΠΆΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡ).
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΠΉ ΠΎΠ½ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π²ΡΡΠΎΡ ΡΡΠ΅Π½.
Π£ Fabien ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ .
Blake Stone, ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ Apogee Π½Π° ΡΠΎΠΌ ΠΆΠ΅ Π΄Π²ΠΈΠΆΠΊΠ΅, Π²ΡΡΠ»ΠΎ Π² 1993 Π³ΠΎΠ΄Ρ, Π·Π° Π½Π΅Π΄Π΅Π»Ρ Π΄ΠΎ Doom. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΎ ΠΊΠ°Π½ΡΠ»ΠΎ Π² Π»Π΅ΡΡ.
Doom (1993)
Π ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎ ΡΠ°ΠΌΡΠΉ Π²Π°ΠΆΠ½ΡΠΉ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΎΠΊ. Π ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ Π±ΡΠ»Π° ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΡ β ΠΌΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π»ΠΈΡΠ°, Π½Π΅ ΠΏΠ»ΠΎΡΠΊΠΈΠΉ, ΠΊΠ°ΠΊ Wolf3D. ΠΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΊΡΡΡΡΡ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ DeathMatch.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ Π·Π½Π°ΠΊΠΎΠ²ΡΡ Π²Π΅ΡΠ΅ΠΉ ΡΡΠ°Π»ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ Β«Π΄Π²ΠΈΠΆΠΊΠ°Β». ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΠ³ΡΡ Π±ΡΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Doom ΠΏΡΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡΠΎΠ²Π°Π» ΠΎΡΠ²ΡΠ·ΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ³ΡΡ ΠΎΡ Π΄Π²ΠΈΠΆΠΊΠ°. ΠΡΠΎ ΠΏΠΎΡΠΎΠ΄ΠΈΠ»ΠΎ ΡΠ΅Π»ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π²ΡΠΈΠ΅ ΠΈΠ³ΡΡ (Aliens TC, Fistful Of Doom).
Descent (1994)
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠΈΠ½ΡΠ»ΠΈΡΡ Π΄ΠΎΠ³ΠΎΠ½ΡΡΡ Doom, Π·Π°ΠΏΡΡΡΠΈΠ² Π²ΠΎΠ»Π½Ρ Β«ΠΠ»ΠΎΠ½ΠΎΠ² DoomΒ». Parallax ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠ΅.
Π ΠΈΠ³ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π»Π΅ΡΠ°ΡΡ Π½Π° ΠΊΠΎΡΠ°Π±Π»Π΅ ΠΏΠΎ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΌΡ Π»Π°Π±ΠΈΡΠΈΠ½ΡΡ ΠΈΠ· ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ², Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ 2.5D ΠΊΠΎΡΠΈΠ΄ΠΎΡΠΎΠ² Doom (Ρ id ΠΏΠΎΠ»Π½Π°Ρ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π»ΠΈΡΡ Π² Quake Π³ΠΎΠ΄ ΡΠΏΡΡΡΡ).
Gravity Force 2 (1994)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Jens Andersson and Jan Kronqvist
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Shareware
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Amiga
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΠΊΠΈ Π²ΡΠΏΠΎΠΌΠ½ΡΡ ΡΡΡ ΠΈΠ³ΡΡ. Amiga Power ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ Π½Π°Π·Π²Π°Π»Π° Π΅Ρ Π²ΡΠΎΡΠΎΠΉ Π»ΡΡΡΠ΅ΠΉ ΠΈΠ³ΡΠΎΠΉ Π²ΡΠ΅Ρ Π²ΡΠ΅ΠΌΡΠ½.
ΠΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ³ΡΠ°, ΠΎΠ½Π° Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ shareware, Π° Π·Π°ΡΠ΅ΠΌ Π΅Ρ ΡΠ°Π·Π΄Π°Π²Π°Π»ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ Amiga Power. ΠΠΊΠ»ΡΡΠΈΠ» Π΅Ρ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² ΡΡ ΠΏΠΎΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ΅Π΄ΠΊΠΈΠ΅ ΠΈΠ³ΡΡ Π²ΡΠ΄Π°Π²Π°Π»ΠΈ ΡΠ²ΠΎΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π»ΠΈΡΡ 16-Π±ΠΈΡΠ½ΡΠ΅ ΠΈΠ³ΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
Heretic / Hexen (1994/5)
ΠΡΠΎ Π±ΡΠ» ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»ΠΎΠ½ Doom ΠΏΠΎ Π΄Π²ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ: 1) Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Doom ΠΈ 2) Ρ ΠΎΡΠΎΡΠΈΠΉ Π³Π΅ΠΉΠΌΠΏΠ»Π΅ΠΉ
ΠΠ°ΠΌΠ΅ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΠ·, ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π΄Π»Ρ Π²Π½ΡΡΡΠΈΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ (Π½ΠΎΠ²Π°Ρ ΠΈΠ΄Π΅Ρ Π½Π° ΡΠΎ Π²ΡΠ΅ΠΌΡ).
Rise Of The Triad: Dark War (1995)
ROTT ΡΡΠΎ Π±ΡΠ»Π° ΡΡΡΠ°Π½Π½Π°Ρ ΠΈΠ³ΡΠ°. ΠΠ½Π° Π±ΡΠ»Π° ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π° Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Wolfenstein 3D, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΠΌΡΠ΄ΡΠΈΠ»ΠΈΡΡ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ Π²ΡΡΠΎΡ. ΠΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΈΠ³ΡΠ° Π½Π΅ ΡΠΌΠΎΠ³Π»Π° ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Doom ΠΎΡ 1993 Π³ΠΎΠ΄Π°.
Marathon 2: Durandal (1995)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Bungie Software
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Bungie Software
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Apple Macintosh / Windows 95
Π‘Π΅ΡΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΠ»Π°ΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΏΠ°Π»Π° Π² ΠΊΡΠ°ΠΉΠ½Π΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ³Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π° Apple Macintosh. Π, Π² ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΡΡΠΎ ΠΊΠ»ΠΎΠ½ Doom. Π ΡΠ΅ΡΠ΅Π· 3 ΠΌΠ΅ΡΡΡΠ° ΠΏΠΎΡΠ»Π΅ Π΅Ρ Π²ΡΡ ΠΎΠ΄Π° id Software Π²ΡΠΏΡΡΡΠΈΠ»Π° Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΡΠΉ βqtestβ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²ΡΠΈΠΉ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π΄Π²ΠΈΠΆΠΎΠΊ Quake.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΠ°ΠΊΠΈ ΡΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π»ΠΈΡΡ ΠΏΠΈΡΠ°ΡΠ΅Π»ΠΈ Ρ Ρ ΡΠ΄ΠΎΠΆΠ½ΠΈΠΊΠ°ΠΌΠΈ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ, ΡΠ΅ΡΠΈΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ»Π°ΡΡ. ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠΌΠ΅Π»Π° Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠΉ ΡΡΠΏΠ΅Ρ Π½Π° ΡΠ°Π·Π½ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ .
Duke Nukem 3D / Shadow Warrior (1996)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: 3D Realms
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: GT Interactive Software
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: DOS
Code review: fabiensanglard.net
ΠΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠ»ΠΎΠ½ΠΎΠ², ΠΈΠ³ΡΡ 3D Realms ΠΎΡΠ»ΠΈΡΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌΠΈ ΠΏΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΈΠ²Π½Π΅ΡΡΠΈ Π½Π΅ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π² ΠΈΠ³ΡΡ. ΠΠ²ΠΈΠΆΠΎΠΊ ΠΠ΅Π½Π° Π‘ΠΈΠ»ΡΠ²Π΅ΡΠΌΠ°Π½Π° Build Engine Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡ Π²ΡΠΎΠ΄Π΅ Π½Π°ΠΊΠ»ΠΎΠ½Π½ΡΡ ΠΏΠΎΠ»ΠΎΠ², ΠΊΠΎΠΌΠ½Π°Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄ΡΡΠ³ Π½Π°Π΄ Π΄ΡΡΠ³ΠΎΠΌ ΠΈ Π·Π΅ΡΠΊΠ°Π».
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ°ΠΌΠΎΠΉ ΠΈΠ³ΡΡ, ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΆΠ°ΡΠ½Ρ. Π― ΡΡΠ»ΡΡ Π² Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΡΠ°ΠΌ Π³Π΄Π΅. Π ΡΡΠ°ΡΡΡΡ, ΠΎΠ±Π·ΠΎΡ ΠΎΡ Fabien ΠΏΡΠΎΠ»ΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π΅Ρ Π½Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π² ΠΊΠΎΠ΄Π΅.
ΠΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π°Π²ΡΠΎΡΠ°.
Quake 1/2/3 (1996-1999)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: id Software
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: GT Interactive / Activision
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: DOS / Windows / others
Code review: fabiensanglard.net (Quake 1)
Code review: fabiensanglard.net (Quake 3)
Π’ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠΎΠ±ΠΎ Π½Π΅ΡΠ΅Π³ΠΎ, Π²Ρ ΠΈ ΡΠ°ΠΌΠΈ Π²ΡΡ Π·Π½Π°Π΅ΡΠ΅. ΠΠ½Π°ΡΠ½Π°Ρ Π²Π΅Ρ Π° Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ², Π±Π΅Π· Π²ΡΡΠΊΠΈΡ Ρ Π°ΠΊΠΎΠ² Π²ΡΠΎΠ΄Π΅ 2.5D
Π£ΠΏΠΎΠΌΡΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ³ΡΠ°, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (DJGPP for DOS, ΡΠ°Π½Π½ΠΈΠΉ ΠΏΠΎΡΡ gcc).
Π ΠΈΠ³ΡΠ΅ Π±ΡΠ» ΡΠ²ΠΎΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΉ ΡΠ·ΡΠΊ βQuake Cβ (ΠΏΠΎΠ·ΠΆΠ΅ lcc Ρ Quake 3). ΠΠ½ Π±ΡΠ» Π²ΡΡΡΠΎΠ΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠΎΠΊΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΎ, Π²ΠΊΡΠΏΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² PWAD, ΠΏΠΎΡΠΎΠ΄ΠΈΠ»ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄Π΄Π΅ΡΠΎΠ².
Π Quake 1 Π±ΡΠ» ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ΅ΠΉΠ΄ΠΈΠ½Π³Π°. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ 3D-ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ ΡΡΠΎ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΎ ΡΠΌΡΡΠ». Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΠ³ΡΠ° ΠΎΡ id, Rage, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° ΡΡΡ ΠΆΠ΅ ΠΈΠ΄Π΅Ρ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Quake Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Π½Π°Π΄ΡΠΆΠ½ΡΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ. ΠΠΈΠΊΠ°ΠΊΠΈΡ Π³Π»ΡΠΊΠΎΠ² ΡΠ°ΡΡΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡΡΠ° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ.
Abuse (1996)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Crack dot Com
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Electronic Arts / Origin Systems
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: DOS / Linux / Mac
Π ΠΈΠ³ΡΠ΅ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΉ. ΠΡΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΌΡΡΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ (Π½Π΅ΡΠ»ΡΡ Π°Π½Π½Π°Ρ Π²Π΅ΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ²).
ΠΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Β«Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ LispΒ». ΠΡΡ ΠΈΠ³ΡΠ° Π·Π°ΡΠΊΡΠΈΠΏΡΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅ΠΌ Lisp. ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΡΠ°Π³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ³ΡΡ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠΎΠ΄.
ΠΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ°Π» ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΊΠ°ΡΡ β Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΎΡ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΊ Π΄Π²Π΅ΡΠΈ, ΠΈΠ»ΠΈ ΠΎΡ Π»ΠΎΠ²ΡΡΠΊΠΈ ΠΊ ΠΌΠ΅ΡΡΡ, Π³Π΄Π΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ°Π³ΠΈ. ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π/ΠΠΠ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅. Π’Π°ΠΊΠΎΠ³ΠΎ Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π».
ΠΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΏΠ΅Ρ Π° ΠΈΠ³ΡΠ° Π½Π΅ ΡΠ½ΠΈΡΠΊΠ°Π»Π° ΠΈ ΡΠ΅ΡΠ΅Π· Π΄Π²Π° Π³ΠΎΠ΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΠ³ΡΠ° ΠΎΡ Crack Dot Com, Golgotha, Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ open-source, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ.
Aliens versus Predator (1999)
ΠΠ°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π·Π΄Π΅ΡΡ ΡΡΡΠ΅Ρ Π½Π΅ Π·Π° Π°Π²ΡΠΎΡΡΡΠ²ΠΎΠΌ id. Π Ρ ΠΎΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΉ Π² ΠΈΠ³ΡΠ΅ ΠΎΡΠΎΠ±ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠΈΠ½Π³Π»-ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΡ Ρ Π½Π΅Ρ Π²ΡΡΠ»Π° ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΡΡΡΠ°ΡΡΠ΅ΠΉ. Π ΠΈΠ³ΡΠ° ΠΎΡΡΠ°ΡΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π΅ ΠΎΡ id.
Freespace 2 (1999)
ΠΠ°ΠΊ Π±Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ ΡΡΠ°Π½ΡΠΈΠ·Ρ Descent, Π½ΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ. ΠΠ°ΠΌΠΏΠ°Π½ΠΈΡ ΠΈ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π΅Π΅Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π² ΠΊΠΎΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅.
ΠΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΄Π»ΡΠ΅Ρ ΠΆΠΈΠ·Π½Ρ ΠΈΠ³Ρ Π½Π° Π³ΠΎΠ΄Ρ. Π ΠΈΠ³ΡΠ΅ Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΡΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π±ΠΎΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄Ρ.
The Operative: No One Lives Forever (2000)
Π£ Π΄Π²ΠΈΠΆΠΊΠ° LithTech ΠΈΡΡΠΎΡΠΈΡ Π΄ΠΎΠ»Π³Π°Ρ, Ρ ΠΎΡΡ ΠΎΠ½ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Π½ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Quake ΠΈ Unreal engine. Π― ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π΅ ΡΡΠ»ΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ° NOLF, Π½ΠΎ Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Ρ, ΡΡΠΎ ΡΠ°ΠΌ Π΅ΡΡΡ Π»ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΈΠ³ΡΡ, Π½ΠΎ Π½Π΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°. Π ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΡΠ°ΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Π½Π° PlayStation 2.
Π ΠΆΠ°Π»Ρ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π»Ρ PS2 Π² Π½Π°ΡΠΈ Π΄Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈΠ½ΠΎΠΏΠ»Π°Π½Π΅ΡΠ½ΡΠΌ Π΄Π΅Π»ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠ»Π° Π² ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡΠ΅, ΡΠ΅ΠΌ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ API.
MechCommander 2 (2001)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: FASA Interactive
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Microsoft
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Windows
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Microsoft ΠΈ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π΅ ΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ. ΠΠΎ Π½Π° ΡΠΊΠ»ΠΎΠ½Π΅ Π»Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠΌΡΠ³ΡΠ°ΡΡΡΡ. ΠΡΡ-ΡΠ°ΠΊΠΈ ΠΏΡΠΈΡΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΊΡΡΡΡΠΌ Π²Π·Π³Π»ΡΠ΄Π°ΠΌ Π½Π° Π²Π΅ΡΠΈ β Π²ΡΠ΅ ΡΡΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠΌΠ΅ΡΡ Π½ΡΠ»Π΅Π²ΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ, ΠΎΠ½ΠΈ ΡΠ΅Π½Π½Ρ Π»ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ.
Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρ Π΄Π°ΠΆΠ΅ Π±ΡΠ»ΠΈ Π²ΡΠΏΡΡΠ΅Π½Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ MS-DOS ΠΈ Word, ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ΡΠ»ΡΡ Π°Π½Π½ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π»Π΅Ρ 30 Π½Π°Π·Π°Π΄.
Doom 3 (2004)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: id Software
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Activision
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Windows / Mac / Linux / Xbox / PS3
Code review: fabiensanglard.net
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ Π΄Π²ΠΈΠΆΠΊΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ³Ρ Π²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎ Doom 3 β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ»ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². ΠΠ° Π²ΡΠ΅ΠΌΡ Π²ΡΡ ΠΎΠ΄Π° ΠΎΠ½ Π±ΡΠ» ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ . ΠΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΈΠ³ΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³Ρ. Π ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ΅ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ β ΠΎΠ΄Π½Π° Π»ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠ·ΠΈΠΊΠΈ Π΄ΠΎΡΡΠΎΠΉΠ½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ.
ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ³ΡΠ° ΠΎΡ id, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° Π‘++. ΠΡΠΎΡΠ»ΡΠ΅ ΠΈΠ³ΡΡ ΠΈΠ·-Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π‘ Π½Π΅ΡΠ»ΠΈ Π² ΡΠ΅Π±Π΅ ΠΏΡΠΎΡΡΠΎΡΡ. Doom 3 ΡΠΎΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΈΠ³ΡΠ° (ΠΏΠ΅ΡΠ°Π»ΡΠ½ΠΎ) ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΠ°ΡΠ΅ΡΠ½ΡΡ ΡΠ΅Π½Π΅ΠΉ ΠΏΡΠΈ ΡΠ°ΡΡΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΡΠΈΡΡ, Π±ΡΠ» ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠ΅ ΠΈΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ ΡΠ΅Π½Π΅ΠΉ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ.
Gish (2004)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Cryptic Sea
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Chronic Logic / Stardock
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Windows / Linux
Gish Π±ΡΠ» ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠΈΠ·ΠΈΠΊΠΎΠΉ Β«ΠΌΡΠ³ΠΊΠΎΠ³ΠΎ ΡΠ΅Π»Π°Β» ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ ΠΈ Π²ΡΡΡΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΈΠΊΠ°ΠΊΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΡΡΡ Π½Π΅Ρ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΈΠ³ΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π‘ β ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎ ΡΠ΅Π΄ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ. ΠΡΠΎ Π½Π΅ ΡΠ°ΠΌΡΠΉ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΉ ΠΈΠ· Π²ΡΠ΅Ρ Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΠΌΠ½ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², Π½ΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ³ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² Π³ΠΈΠ³Π°Π½ΡΡΠΊΡΡ ΡΠ°ΡΠΏΠΎΠ»Π·ΡΡΡΡΡ Π±Π°Π·Ρ ΠΊΠΎΠ΄Π° Ρ ΡΠΎΡΠ½ΡΠΌΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Canabalt (2009)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Adam Saltsman
ΠΠ·Π΄Π°ΡΠ΅Π»Ρ: Semi-Secret / Beatshapers / Kittehface
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Flash / iOS / PSP / Android / Ouya
ΠΠ΅ ΡΠ°ΠΌΠ°Ρ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈΠ³ΡΠ°, Π½Ρ ΠΈ ΡΡΠΎ? ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΡΠΈΡΡΡΡ Π΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ, Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ β Π²ΠΎΡ Ρ ΡΡΠΎΠ³ΠΎ.
ΠΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π½ΡΠ»ΠΎ 5 Π΄Π½Π΅ΠΉ, ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° iOS β 10. ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ΄Π΅ΠΈ Π² Π΄ΠΎΡΡΠΎΠΉΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΊΠ°ΠΊ Π±Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ 8-Π±ΠΈΡΠ½ΠΎΠΉ ΡΠΏΠΎΡ ΠΈ, ΠΊΠΎΠ³Π΄Π° Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΆΠ°Π½ΡΡ. ΠΠ°Π»Ρ, ΡΡΠΎ Ρ ΡΠ΅Ρ ΠΏΠΎΡ Π»ΡΠ΄ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅ΠΈ, Π° Π½Π΅ ΡΠ²ΠΎΡΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Canabalt ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΠΎ, Π΅ΡΠ»ΠΈ Π·Π°Ρ ΠΎΡΠ΅ΡΡ.
Π§ΡΠΎ Ρ ΡΠΏΡΡΡΠΈΠ»
ΠΡΠΆΠ½ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ³Ρ. ΠΠ½ΠΈ Π½Π΅ Π²ΡΠΏΡΡΠΊΠ°Π»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², Π½ΠΎ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π»ΠΈΡΡ ΡΠ°Π½Π°ΡΡΠΊΠΎΠΌΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌΡ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Ρ. ΠΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, Π½ΠΎ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ:
ΠΠ΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΡΠ΅ΠΉΡΠΈΠ½Π³
Π‘ΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΈΠ³Ρ ΡΡΠ΅ΠΊΠ»ΠΈ Π² ΡΠ΅ΡΡ Π½Π΅Π»Π΅Π³Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² Π·Π°Π» ΡΠ»Π°Π²Ρ:
Half Life 2
Falcon 4.0
ReVolt
Turrican III
Mr. Nutz: Hoppinβ Mad
Trespasser (Π»Π°Π΄Π½ΠΎ ΡΠΆ, Π²ΠΎΡ Π²Π°ΠΌ ΠΎΠ±Π·ΠΎΡ ΠΊΠΎΠ΄Π°)
ΠΠ°ΠΊ Ρ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» DOS ΠΈΠ³ΡΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π₯ΠΎΡΡ ΡΡΠ°Π·Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡΡ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅Ρ: «Π‘Π΅ΠΉΡΠ°Ρ ΠΊΡΡΡ ΠΈΠ³Ρ ΠΏΠΎΡΡΠΈΡΡΡ, ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΡΡ ΡΡΠ°ΡΡΡ». ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, Π½Π΅ Π²Π΅ΡΡ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ ΠΏΠΈΡΡΡ Π½Π° Π₯Π°Π±ΡΠ΅. ΠΡΠΎΡΠ΅ΡΡ ΡΠ΅Π²Π΅ΡΡΠ° β ΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ»ΡΠΊΠΎ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΌΡΡΠΎΡΠ½Π΅Π΅ ΠΈ Π΄ΠΎΠ»ΡΡΠ΅.
ΠΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°Π½ΠΈΠΉ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ .exe ΡΠ°ΠΉΠ»Π° ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ C ΠΈΠ»ΠΈ C++ (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ) Ρ ΠΎΡΡ Π±Ρ Π½Π° ΡΡΠ΅Π΄Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ IDA. ΠΡΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Ρ ΠΊΠ°ΡΠ°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄Ρ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ°ΡΡΡ ΠΈΠ³ΡΡΡΠΊΡ, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ, ΡΠΎΠ²Π΅ΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ°ΠΌΡΡ-ΡΠ°ΠΌΡΡ Π½ΠΎΡΡΠ°Π»ΡΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π² ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡΡΡ Windows.
ΠΠ»Π°Π½ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠ»Π°Π½ ΠΈ Ρ Π΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ:
ΠΡΠΊΡΡΡΡ ΠΈΠΌ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ
Π Π°Π·ΠΎΠ±ΡΠ°ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡ
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π΄Π°ΡΡ Π²ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ΄ΠΎΠ±ΠΎΠ²Π°ΡΠΈΠΌΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ
ΠΠ°Π±ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΡ. ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π±ΠΎΡΠ° ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°ΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² %your_favorite_ide%, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΡΡ
ΠΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° Π²Π°Ρ Π²ΠΊΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΎΡ Windows Π²Π΅ΡΡΠΈΠΈ
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ΄ Π½Π° %your_favourite_language%, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΠΈ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠ΅ DOS ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½, ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ Π·Π²ΡΠΊΠ°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΊΠ½Π° ΠΈ Ρ.ΠΏ.
Π ΠΈΠ΄Π΅Π°Π»Π΅ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅ ΡΡΠΎ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΠΏΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Ρ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. ΠΡΡΡΡ ΠΈ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅.
ΠΡΡΠ°ΡΠΈ, Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π±ΠΎΡΠ° Π²ΡΠ΅Ρ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΡΠ°Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΡ ΠΈΠ³ΡΡ Ρ Π½ΡΠ»Ρ, Π½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎ Π·Π°ΠΉΠΌΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Windows ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Windows 95 ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Windows 10), Ρ ΠΎΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎ Π² Π²ΠΈΠ΄Ρ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠ½ΠΊΡΡ ΠΏΠ»Π°Π½Π° Ρ Π½Π°ΠΏΠΈΡΡ Π½ΠΈΠΆΠ΅.
1. ΠΠΎΠ±ΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ
Π Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΠΎΠ΄ΠΎΠ½ΡΠΎΠ² Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ IDA ΠΈ Ghidra ΠΈ Π΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, IDA ΠΏΠΎΠΊΠ° Π²ΡΠ΄Π°ΡΡ Π»ΡΡΡΠ΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ Π½Π΅Ρ Π»ΡΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄, ΠΎΠ½Π° Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ DOS ΡΡΠ½ΠΊΡΠΈΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ IDA free, Π½ΠΎ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. Π£ ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΡΠΎΠΏΠ°Π»Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΠ΅Π²Π΅ΡΡΡ, Π²Π΅ΡΡΠΈΡ free Π·Π°Π³ΡΠ±ΠΈΠ»Π° ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ°. Pro ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³Π°Ρ, Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠ°ΠΊ ΡΡΠΎΡ, Ρ Π³ΠΎΠ½ΡΠ» IDA Ρ Π΄ΡΡΠ³Π°, ΡΠ΅Π³ΠΎ ΠΈ Π²Π°ΠΌ ΡΠΎΠ²Π΅ΡΡΡ.
2. ΠΡΠΊΡΡΡΡ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊΠΈ Π²Π½ΡΡΡΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠ΅, Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΠΈΠ΄ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ(ΠΈ), Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½Π°Ρ: ΠΊΠΎΠ΄, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΈ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ (ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ Windows). ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΡΠ΅. Π’Π°Π±Π»ΠΈΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΡΠΈΠ΄ΡΡΡΡ Π²ΡΡ Π²ΡΡΠ΅Π·Π°ΡΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΅Ρ include-ΠΌΠΈ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ ΠΎΡ Windows Π²Π΅ΡΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ ΠΎΡ Windows 95), ΡΠΎ Π²Π°ΠΌ ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ. ΠΡΠ΄Π΅Ρ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π° ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Π΅ΡΡ ΠΈ Π±ΡΡΡΡΠΎ. ΠΡΠ»ΠΈ ΠΎΡ DOS Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 32 Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΠ΅Π»Ρ, Ρ.Π΅. Ρ dos4g, dos4gw ΡΠ°ΡΡΠΈΡΠΈΡΠ΅Π»ΡΠΌΠΈ, ΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΠΏΠΎΠ²Π΅Π·Π»ΠΎ. ΠΡΠ»ΠΈ ΠΎΡ 16 Π±ΠΈΡΠ½ΠΎΠ³ΠΎ DOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎ IDA Π·Π°Π±ΡΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΡΡ Ρ Π½ΡΠ»Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅.
Π― Π²Π·ΡΠ» ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ ΠΎΡ DOS ΠΈΠ³ΡΡ Bedlam 2: Absolute Bedlam. ΠΡΠ° ΠΈΠ³ΡΠ° Π½Π΅ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎ Π·Π°Π±ΡΡΠ°, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΡΡΡΠΈΠ» Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ DOOM ΠΈ Duke Nukem 3D ΠΈ Π±ΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ. ΠΠΎ, Π² ΠΈΡΠΎΠ³Π΅, ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° Π½Π΅ Π±ΡΠ»ΠΎ. ΠΠ³ΡΠ° Π±ΡΠ»Π° ΡΠ»ΠΈΡΠ° Π½Π΅Π΄ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΡΠΎΠ²Π½ΡΠΌΠΈ, ΠΊΡΠΈΠ²ΡΠΌ Π±Π°Π»Π°Π½ΡΠΎΠΌ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±Π°Π³Π°ΠΌΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ Π»Π΅Π²Π΅Π»-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅, Π½Π΅ ΡΠ»ΡΡΠΈΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ Windows 95, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π±ΡΠ» Π³ΠΎΠ΄ΠΎΠΌ ΡΠ°Π½Π΅Π΅ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ Bedlam.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅ Π²Π΅ΡΡ ΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ. Π‘Π΅ΠΉΡΠ°Ρ Bedlam 2 ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌΡ ΠΠ abandonware, Π·Π°Π±ΡΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π½Π΅Ρ Π² ΠΆΠΈΠ²ΡΡ . Π€ΠΈΡΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Mirage Technologies ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ GT Interactive ΡΠΆΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ, Π° ΠΈΠ³ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΡΡ. ΠΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° ΡΠ΅ΡΠΈΡ Bedlam, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π΅ΡΡ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ, Ρ Π΄Π°ΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄ΡΠ²Π°ΡΡΡ ΠΊΠΎΠΌΡ, Π½ΠΎ Π½Π΅ Π±ΡΠ΄Ρ ΠΈΡ ΡΡΠ΄Π° ΠΏΡΠΈΠ·ΡΠ²Π°ΡΡ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΡ Bedlam 2 Ρ Π½Π΅ Π½Π°ΡΠ΅Π», Π° Π½Π° Π·Π°ΡΡΠ°Π²ΠΊΠ΅ ΠΈΠ³ΡΡ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ³ΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΎ ΠΏΠΎΠ³Π½Π°Π»ΠΈ. ΠΠΊΠ·Π΅ΡΠ½ΠΈΠΊ ΡΠΎΠ±ΡΠ°Π½ 29.10.1997Π³., ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ 25 Π»Π΅Ρ Π½Π°Π·Π°Π΄. Π’ΠΎΠ³Π΄Π° ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ ΠΊΡΠΎ Π·Π°ΠΌΠΎΡΠ°ΡΠΈΠ²Π°Π»ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΠ½Π³Π°. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
DiE ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ MSDOS LE ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Watcom C. ΠΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΠ½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, ΡΡΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ 32 Π±ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ 32 Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΠ΅Π»Ρ dos4gw. ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠ·Π½Π°ΠΊ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° ΡΡΠΎ, ΡΡΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ dos4gw.exe Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΈΠ³ΡΠΎΠΉ.
IDA Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ΄Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° ΡΠΎΠ³ΠΎ. ΠΠ½Π° ΡΠ°ΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° main ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° Π²ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΠ»Π° ΠΈΡ ΡΠΈΠ½ΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (ΠΊΠ»Π°Π²ΠΈΡΠ° F5).
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅ ΡΠ°ΠΊ ΠΈ Π½Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ MS-DOS executable ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 486ΠΉ. ΠΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ DOS ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΈΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ β ΡΠ²ΠΎΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ»Π°Π³ΠΎ IDA ΡΠΌΠ΅Π΅Ρ ΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ.
ΠΡΠ»ΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² 32 Π±ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π½ΠΎ Π΅ΡΡΡ ΠΈ Π»Π°ΠΉΡΡ Π°ΠΊ. ΠΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ 16 Π±ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MS-DOS executable, Π° Π·Π°ΡΠ΅ΠΌ Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°Ρ (Shift-F7) Π²ΡΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ 32 Π±ΠΈΡΠ½ΡΠΉ. Π£ΠΆ Π½Π΅ Π·Π½Π°Ρ ΠΊΠ°ΠΊΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π°, Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ». ΠΠΎ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Ρ 32 Π±ΠΈΡΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠΈΡΠ΅Π»Π΅ΠΌ, Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ 16 Π±ΠΈΡΠ½ΠΎΠ΅.
3. Π Π°Π·Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
Π ΡΠΏΠΈΡΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, Π² IDA, ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ SUB_xxxxxx, Π³Π΄Π΅ xxxxxx β ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΈ Π΄Π°ΡΡ ΠΈΠΌ ΡΠ΄ΠΎΠ±ΠΎΠ²Π°ΡΠΈΠΌΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Ρ ΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².
Π‘ΠΎΠ²Π΅ΡΡΡ Π²Π΅ΡΡ ΡΠ°Π·Π±ΠΎΡ Π²Π΅ΡΡΠΈ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅. Π’Π°ΠΊ ΠΏΡΠΎΡΠ΅. ΠΡΠ»ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΠ΅Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎ ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ ΠΈ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅. ΠΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Ρ ΠΎΡΡ ΠΈ ΡΠ΄ΠΎΠ±Π΅Π½, Π½ΠΎ ΡΡΠΎ Π»ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ Π»ΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ°ΡΡΠ΅Π½ΡΠΊΠΎ Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ Π½ΠΈΠΊ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° (Π½Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠΌΡ ΠΊΠ°ΠΊ Π½ΡΠ°Π²ΠΈΡΡΡ). ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈ ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Π΅ΡΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΡΡΠΈ. Π‘ΡΠΎΠΈΡ ΠΏΡΠΎΡΡΠΎ Π»ΠΈΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, IDA ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ) ΠΈ Π½Π°ΠΆΠ°ΡΡ X, IDA Π²ΡΠ²Π΅Π΄Π΅Ρ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ° ΡΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
Π’Π°ΠΊΠΆΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΡΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π²Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ printf, sprintf, fopen, fread, ΠΈ Ρ.ΠΏ. ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈ ΡΠ°ΠΌ ΡΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΅ΡΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡ ΡΠΈΠΏ. ΠΠ°Π΄ΠΎ Π»ΠΈΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π½Π°ΠΆΠ°ΡΡ Y. Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅, Π½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄.
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π°Ρ . ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»Π° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΡΠ΄Π° Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ, Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° fastcall, Ρ ΠΎΡΡ Watcom Π΅Π³ΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π». ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π²Π°ΡΠΊΠΎΠΌΠΎΠ²ΡΠΊΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #pragma aux Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ EAX, EDX, EBX, ECX, ESI, EDI, EBP. Π Π΅ΡΠ»ΠΈ ΠΈΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π² ΡΡΠ΅ΠΊ ΡΠΏΡΠ°Π²Π° Π½Π°Π»Π΅Π²ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΠΎΠ² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° numbers.bin Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π’ΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ°ΡΠ°ΡΡΡΡ IDA Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅ ΠΈ Π³Π»ΡΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΡΠ΅Π³ΠΈΡΡΡΡ EBX, ECX, ESI, EDI, EBP Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π² ΠΊΠΎΠ½ΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ (Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅ ΠΊΠ»Π°Π²ΠΈΡΠ° Y, Π²ΡΠ΄Π΅Π»ΠΈΠ² ΡΡΠ½ΠΊΡΠΈΡ, ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΠ΅ΡΠ΅ΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ). Π EAX ΠΈ EDX ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
ΠΠ΅ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΡ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ printf ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ cdecl ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ΅ΠΊ.
ΠΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π±ΡΠ΄ΡΡ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ nullsub_X, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ retn. ΠΡΠΎ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π΅ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΡΠ³Π½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ jmp Π½Π° Π°Π΄ΡΠ΅Ρ nullsub_X. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ call nullsub_X, ΡΠΎ Π½Π° ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
ΠΠ½ΠΎΠ³Π΄Π° IDA Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·-Π·Π° Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎΡΠ½Π΅Π΅ Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π»ΠΎΠΌΠ°Π΅ΡΡΡ Π²Π΅ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ΄ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅. ΠΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ IDA Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° Π³ΡΠ°Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎ ΠΏΡΡΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΡΠΎ Π²ΡΡΠ²Π»ΡΠ΅ΡΡΡ.
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π²Π΅ΡΡΡΡΠ° Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π»ΡΠ±ΠΈΠΌΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ, Π½ΠΎ Π·Π°ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΡΡ Π²ΡΠ΅ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
4. Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ
Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠ°Π·Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π½Π΅ΠΉ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ byte_xxxxxx, word_xxxxxx, dword_xxxxxx ΠΈ Ρ.ΠΏ. β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π΅Ρ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½ΠΈΠΆΠ΅.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π½Π°Π΄ΠΎ Π΄Π°ΡΡ ΡΠ΄ΠΎΠ±ΠΎΠ²Π°ΡΠΈΠΌΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ. Π Π½Π΅ ΠΏΡΠΎΡΡΠΎ x, y, Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, player_pos_x, player_pos_y ΠΈ Ρ.ΠΏ. ΠΡΠ»ΠΈ Π² ΡΡΠΌ-ΡΠΎ Π΅ΡΡΡ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΊ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ _maybe. Π Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° Π²ΡΡΠ΅, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΌΠ°ΡΡΠΈΠ² ΡΡΠΎ, ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. Π‘ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠΎΠΆΠ΅ Π½Π΅ Π²ΡΡ ΡΠΏΠ΅ΡΠ²Π° ΡΡΠ½ΠΎ. ΠΠ½ΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ°:
Π ΡΠΎΠ³Π΄Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ dword_4E7ED6 + 2 β ΡΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° 1184 Π±Π°ΠΉΡΠ°. ΠΠ½ΡΡΡΠΈ clear_buffer, ΠΊΡΡΠ°ΡΠΈ, ΠΎΠ±ΡΡΠ½ΡΠΉ memset(*, 0, );, ΡΡΠΎ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π», Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ°ΠΊΠΎΠ΅:
IDA Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ 0x57800 ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ loc_577FE + 2. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π²ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈΠ΄ΡΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ, ΠΈΠ½Π°ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΊΡΠ°ΡΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΈΠ»ΠΈ Π³Π΄Π΅-ΡΠΎ ΡΡΠ΄ΠΎΠΌ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ. ΠΡΠΎΡΡΠΎ 2 ΡΠ°Π·Π° ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ (Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, ΡΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π΄ΠΎ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) ΠΈΠ»ΠΈ Π² ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΡΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈ, Π²ΡΠ΄Π΅Π»ΠΈΠ² Π΅Ρ, ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅, Π½Π°Π΄ΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ (ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ° Q).
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π΅:
int3 Π·Π΄Π΅ΡΡ β ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, ΠΏΡΠΎΡΡΠΎ IDA ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ 0x10000 ΠΊΠ°ΠΊ Π°Π΄ΡΠ΅Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ int 3, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ.
ΠΡΡΠ°ΡΠΈ, ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΠΏΠ΅ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ v0, v1, v2. ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅. Π’Π°ΠΊ IDA ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΡ ΡΠΎΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Π Π΄Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π°Π²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
5. ΠΠ°Π±Π΅ΡΠΈΡΠ΅ΡΡ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΡ
Π‘Π΅ΡΡΠ΅Π·Π½ΠΎ. ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΈΠΉ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ»Π³ΠΎΠ΄Π°-Π³ΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Ρ Π²Π°ΡΠΈΡ ΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² ΡΠ΅ΠΌΠΈΠ΄Π΅ΡΡΡΠΈ.
6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
Π‘Π½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ, Π³Π΄Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΡ. Π― Π²ΡΠ±ΡΠ°Π» Visual Studio, Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ MASM Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. ΠΠ°ΠΊΠΈΡ -ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Linux ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΎΠΆΠ΅ Π½Π΅Ρ. ΠΡΡΡ ΠΈ MASM ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π΄Π»Ρ Linux, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ JWasm.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ASM ΡΠ°ΠΉΠ» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ². ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°.
IDA ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ TASM ΠΈ Π½Π΅ΠΊΠΈΠΉ Generic for Intel (IDA β Options β General β Analysis). Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ· Π½ΠΈΡ Π½Π΅ Π²ΡΡ ΡΠ°ΠΊ Π³Π»Π°Π΄ΠΊΠΎ, ΠΊΠ°ΠΊ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Generic for Intel.
IDA β Options β Assembler Directives. Π£Π±ΡΠ°ΡΡ Π³Π°Π»ΠΎΡΠΊΡ ASSUME.
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, IDA ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. Π Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠ²ΡΡΠ½ΡΡΡ, ΡΠΎ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ASM ΡΠ°ΠΉΠ» ΡΠ²ΡΡΠ½ΡΡΡΠΌΠΈ. View β Unhide all.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎ-ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ MASM Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ΄ΠΎΠ²ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡ. ΠΠ°Π΄ΠΎ Π»ΠΈΠ±ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡ Π²ΡΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΡΡΡΠΊΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ MASM ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° «/Zm» Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΡΠΈΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π΅ΡΠ»ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠΆΠ΅ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. View β Unhide all Π² ΡΡΡΡΠΊΡΡΡΠ°Ρ .
Π£Π±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π΅ Π΄Π°Π²Π°Π»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠΎΠ²Π΅ΡΠ°, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Ρ. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΡΠ»Π΅Π·Π΅Ρ.
Π£Π±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π΅Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π΅ MASM ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΡΠΌΠΎ Π² IDA. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΡΠ°ΠΊΠΎΠ΅ Π² ΡΠ΅ΠΊΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ :
MASM Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΡ Π·Π°ΠΏΠΈΡΡ unicode ΡΠ΅ΠΊΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ β Undefine.
ΠΡΡ ΠΎΠ΄Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π° β ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π·Π° ΠΊΠΎΠ΄. Π ΠΊΠΎΠ΄ Π·Π° Π΄Π°Π½Π½ΡΠ΅. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠ°ΠΊΠ°Ρ ΠΏΠ°ΠΌΡΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Π² ΡΠ΅ΠΊΡΠΈΠΈ ΠΊΠΎΠ΄Π°, Π²ΡΠ³Π»ΡΠ΄ΡΡΠ°Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΡΠ»ΠΈ Π΅ΡΡΡ ΡΠΎΠΌΠ½Π΅Π½ΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π°ΠΌΠΏ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΌ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ASCII ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ .
ΠΠ°ΠΆΠ΅ΡΡΡ, Π²ΡΡ. ΠΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ASM ΡΠ°ΠΉΠ». ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, File β Produce File β Create ASM file. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° filename.exe.asm. Π’ΠΎΠ³Π΄Π° ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ .exe. Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ Π½Π΅ ΡΡΠΎΠ³Π°ΠΉΡΠ΅ Π΅Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Ρ ΠΎΡΡ Π² Π³ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π±ΡΠ°Π½ΡΠ΅ΠΌ, ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅ΡΡΠ΅.
7. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈ ΠΏΡΠΎΡΡΠΎ Π΅Π³ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΡ DOS ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΌΡ Π΅Π³ΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ, ΠΏΠΎΠΊΠ° ΡΡΠΎ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΎΡ Windows, ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ.
Π VS Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ MASM Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ (ΠΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ β Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ). Π‘ΠΌ. ΡΠΈΡΡΠ½ΠΎΠΊ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠ»ΠΈ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΌΠ΅ΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΠΎΡΠ»Π΅ 100 ΠΎΡΠΈΠ±ΠΎΠΊ MASM ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°ΡΡ, ΡΡΠΎ Π½Π° ΡΡΠΎΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ Π²ΡΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π²Π΅ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π½Π΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΉ Π΄Π»Ρ MASM. ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ
ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΈΠ΄ΠΎΠΉ. Π MASM ΡΠ΅ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ .CODE, .DATA ΠΈ .DATA?. ΠΡΠΈ ΡΡΠΎΠΌ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ. Π’.Π΅. Π²ΠΌΠ΅ΡΡΠΎ
Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΡΠΊΠΈ public start ΠΈ end start, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π»ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π² MASM ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΊΠΈ start:, end start. ΠΡ ΡΡΠ°Π²ΠΈΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’ΠΎΡΠ½Π΅Π΅, ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ start ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π±ΡΡΡΡΠ΅Π½ΡΠΊΠΎ ΠΏΡΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ Π½Π°Π΄ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΄Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. ΠΡ Π²ΡΠ΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ Π·Π° Π΄ΡΡΠ³ΠΎΠΉ.
instruction prefix not allowed
invalid combination with segment alignment : %num_bytes%
undefined symbol : loc_xxxxxx
ΠΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠΊ loc_xxxxxx ΠΈ def_xxxxxx, ΠΊΠΎΡΠΎΡΡΠ΅ MASM Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ, Ρ ΠΎΡΡ ΠΎΠ½ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅. ΠΡΠΈΡΠΈΠ½Π°, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ MASM ΠΈ ΠΎΠ±Π»Π°ΡΡΡ ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ proc, end proc. Π’Π°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ:
IDA Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. Π Π΅ΡΠ΅Π½ΠΈΠ΅: ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΡΡ ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ end proc Π½Π° Π²Π΅ΡΠ½ΠΎΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠ°ΡΠ°Π»ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π»ΡΡΡΠ΅ Π½Π΅ Π΄Π²ΠΈΠ³Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ 100% Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π» ΡΠ°ΡΡΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ . ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Ρ Π²Π΅ΡΠ΅Π½ΠΈΡΠ΅ΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ pop-ΠΎΠ². ΠΡΡΡ Π΄Π²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ΅ΡΠΊΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²ΡΠΎΡΠΎΠ΅ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, Π²ΡΠΎΠ΄Π΅ loc_xxxxxx. Π»ΠΈΠ±ΠΎ ΡΠ°ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎ ΠΌΠ΅ΡΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΎΡΡΡ. ΠΡΡΡΡΠ΅Π΅ ΠΈ Π±Π΅Π·ΠΎΡΠΈΠ±ΠΎΡΠ½Π΅Π΅ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅, ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄ Ρ Π΄Π²ΡΠΌΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡΠΌΠΈ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΠΌΠ΅ΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch (Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ°Ρ C, C++) Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠΊ def_xxxxxx ΠΈΠ»ΠΈ loc_xxxxxx, Π° Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡ IDA Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ;jumptable XXXXXX case X, ΡΠΎ ΡΡΠΎ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ ΡΠ΅Π»ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ, Π²ΡΠΎΠ΄Π΅:
ΠΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΌΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΠΈΡΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅:
ΠΠΏΡΡΡ ΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π·Π° ΠΌΠ΅ΡΠΊΠΈ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½Π΅Π΅ ΠΏΠΈΡΠ°Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΊΠ° loc_186A0, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° 100000. ΠΠ° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ ΠΊΡΡΠ³Π»ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎ, ΡΡΠΎ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 0x186A0 Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ Π΄Π°ΡΠ°.
ΠΠ° ΠΌΠ΅ΡΠΊΡ ΠΆΠ΅ Π½Π°ΠΌΠ΅ΠΊΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΠΏΡ ΠΏΡΡΠΆΠΊΠΎΠ². Π§ΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ jmp loc_16860 Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ.
undefined symbol : %segment_name%
undefined symbol : %some_name%
missing operator in expression
ΠΠ°ΠΆΠΈΠΌΠ°Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠΎΡΠΊΡ
ΠΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΠ΅ΡΡ Π²ΡΠ΅ large. MASM ΠΈΡ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ. Π‘ΠΌΡΡΠ» ΠΎΡΡΠ°ΡΡΡΡ ΡΠΎΡ ΠΆΠ΅.
use of register assumed to ERROR
ΠΠ°ΠΆΠΈΠΌΠ°Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² ΠΌΠ΅ΡΡΠΎ Π²ΡΠΎΠ΄Π΅:
Π Π΅Π³ΠΈΡΡΡ GS Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΡΠΌΠ°Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Π΄ΠΎ Π½Π΅Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π° Π»ΡΡΡΠ΅ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
initializer magnitude too large for specified size
ΠΠ°ΠΆΠ΅ΡΡΡ ΡΡΠΎ MAX_DOUBLE, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ΡΡ, Π΄Π»Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (s)printf. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°:
ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ. ΠΡΠΈΠ±ΠΊΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈΡΡ, ΡΠ°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ. ΠΠΈΠ½ΠΊΠ΅Ρ ΡΡΠ³Π°Π΅ΡΡΡ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ main, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΌΡ Π²Π΅Π΄Ρ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈ start:, end start ΠΌΠ΅ΡΠΊΠΈ.
8. Π Π°Π·Π½ΡΠ΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π² asm (ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Windows ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ)
Π Π°ΡΡΠΊΠ°ΠΆΡ Π²ΠΊΡΠ°ΡΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π²ΡΡ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅-ΡΠΎ Π² ΠΊΠΎΠ΄Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π°.
ΠΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ proc CreateWindowExA, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Ρ. ΠΡΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ CreateWindowExA Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π²ΡΠΎΠ΄Π΅ __imp_CreateWindowExA. ΠΡΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ, Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ CreateWindowExA, ΡΡΠΎΠ±Ρ ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ.
ΠΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ masm32 SDK. Π ΠΏΠ°ΠΏΠΊΠ΅ masm32\include ΠΈ masm32\lib ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π²ΡΡ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ. ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ user32.lib ΠΈ user32.inc Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΠΈ Π΄ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΈΠ½ΠΊΠ»ΡΠ΄ΠΎΠ² Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΊΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°, Π΄ΠΎΠΏΠΈΡΠ°ΡΡ:
ΠΡΠ»ΠΈ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π»ΠΈΠ½ΠΊΠ΅Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ³Π°ΡΡΡΡ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΠΊΠ»ΡΠ΄ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· exports.txt Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. ΠΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΈΠ½ΠΊΠ»ΡΠ΄.
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΡΠ·ΠΎΠ²Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ³ΡΡ Bedlam, Windows Π²Π΅ΡΡΠΈΠΈ.
9. ΠΠ°ΠΌΠ΅Π½Π° DOS ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈ
Π‘Π°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π° C++. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ DOS ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ. Π‘ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ Π½Π΅ ΠΌΠ΅Π½ΡΠ»ΡΡ Ρ ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ DOS ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΡΠ΅ΡΡΠ²Π°Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅/Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»Π°, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½, Π²ΡΠ²ΠΎΠ΄ Π·Π²ΡΠΊΠ° ΠΈ Ρ.ΠΏ.
ΠΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π±ΡΡΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Ρ.ΠΏ.
ΠΠ°ΠΌΠ΅Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π½ΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΡΠΊΡΠ°Π½, Π²ΡΠ²ΠΎΠ΄Π° Π·Π²ΡΠΊΠ°, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΡΡΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ. ΠΡ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ C++. Π₯ΠΎΡΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° C++, Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊ main ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΡΠ³Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π‘++.
ΠΠ΄Π΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ __cdecl ΠΎΠΏΡΡΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΡ, Π° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ __cdecl. ΠΠΈΡΠ΅ΡΠ° «C» ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π² C ΡΡΠΈΠ»Π΅.
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° C++ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² C-ΡΡΠΈΠ»Π΅, ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅. Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² windows ΡΡΠΈΠ»Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ Π½Π΅ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ export_to_asm.h:
ΠΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ (Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ __cdecl ΠΈ 32 Π±ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°):
ΠΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π΅ΡΠ°, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π·Π²ΡΠΊΠ°, ΠΎΠΏΡΠΎΡ ΠΌΡΡΠΈ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΈ Ρ.ΠΏ. Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
Π‘ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ Π² DOS Π²ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π½Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ DOS ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² ΠΏΠ»Π°Π½Π΅ Π²ΡΠ²ΠΎΠ΄Π° Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΡΠΈ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΡΠ°Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΠΈΠ½ΠΊΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ. ΠΡΡΠ°ΡΠΈ, ΡΠ°ΠΊΠΈΡ Π±ΡΡΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ. ΠΠΎΠΊΠ° ΠΎΠ΄ΠΈΠ½ Π½Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π²ΡΠΎΡΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π’Π°ΠΊΠΆΠ΅ Π±ΡΡΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ Π±Π°ΠΉΡ.
Π ΠΈΠ³ΡΠ΅ Bedlam 2, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΊΡΠ°Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡΡ 640*480 Π±Π°ΠΉΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°. ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ ΡΡΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° β ΡΡΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΡΠ²Π΅ΡΠ° 256-ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΡ. ΠΠ°Π»ΠΈΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Red, Green, Blue. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΏΠ°Π»ΠΈΡΡΠ΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ Π½Π° 4, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ½ΡΠ», Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΄Π²ΠΈΠ³ ΠΏΠ°Π»ΠΈΡΡΡ. Π‘Π°ΠΌΠΈ ΠΏΠ°Π»ΠΈΡΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .pal.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π±ΡΡΠ΅Ρ, Π±ΠΎΠ»ΡΡΠ΅ ΡΠΊΡΠ°Π½Π½ΠΎΠ³ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΡΡΡΡΡ Π²ΡΠ΅ ΡΠΏΡΠ°ΠΉΡΡ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎΡ Π±ΡΡΠ΅Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Ρ ΠΎΠ±ΡΠ΅Π·ΠΊΠΎΠΉ Π² ΡΠΊΡΠ°Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΡΠ°ΠΉΡΡ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΡΠΊΡΠ°Π½Π°.
ΠΡΡΡ ΠΈ ΠΊΠ»Π°Π²Π° β ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅, ΡΡΠΎ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·Π±ΠΎΡΠ° asm-ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Π±ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΌΡΡΠΈ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π»Π΅Π²ΠΎΠ³ΠΎ/ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ°, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ² bool-ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, Π³Π΄Π΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°Π²Π΅Π½ ordinary keyboard scancode (Π½Π° Π²ΠΈΠΊΠΈ Π½Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²ΠΊΡΠ°ΡΡΠ΅, ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±Π°ΠΉΡ β ordinary scancode). ΠΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ» ΠΈΠ³ΡΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΡΡΠΈ
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ³ΡΡ ΠΏΠΈΡΠ°Π»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° 486ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΡΠΈΡΠ°Π»ΡΡ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π±ΠΎΡΠΎΠ»ΠΈΡΡ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΊΡ. Π‘ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π²ΡΡ ΠΈ Π²ΡΡ. ΠΠ·-Π·Π° Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠ·ΡΠΊ C, Ρ ΠΎΡΡ C++ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ Π»Π΅Ρ 10-15.
Π ΠΊΠΎΠ΄Π΅ ΠΈΠ³ΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ float ΠΈ double Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ ΠΈΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ.
Π’Π°ΠΌ, Π³Π΄Π΅ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΈ ΡΠ΄Π²ΠΈΠ³ΠΈ. Π’Π°ΠΌ, Π³Π΄Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π² Π°Π΄ΡΠΊΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΄Π²ΠΈΠ³ΠΎΠ² ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ·ΡΡΠΈΠ΅ ΡΠΈΠ½ΡΡΠ° β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΡΡΠ°ΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΠ½ΡΡ Π±Π΅ΡΡΡΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΠΡΠ°Π΄ΠΈΡΠ° ΡΠ°ΠΉΠ»Π° sintable.bin ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ Ρ Π°ΠΊΠ°, ΠΈΠ½ΠΎΠ³Π΄Π° Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π° 8 Π±ΠΈΡ Π²Π»Π΅Π²ΠΎ. Π Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ β Π²ΠΏΡΠ°Π²ΠΎ.
ΠΡΡΠ°ΡΠΈ, ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΠ΄Π²ΠΈΠ³ΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π΅Π·Π΄Π΅. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ³ΡΠΎΠΊΠ°, ΡΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π½Π° 8 Π±ΠΈΡ Π²ΠΏΡΠ°Π²ΠΎ Π±ΡΠ΄ΡΡ Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠ»ΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»Π°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ³ΡΠΎΠΊ.
ΠΠΎΠΌΠ΅Ρ, ΠΈΠ·Π²Π»Π΅ΡΡΠ½Π½ΡΠΉ ΠΈΠ· missionX.tot Π±ΡΡΠ΅ΡΠ° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΠΏΠ»ΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»Π°, Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΡΡΡΡΡ Π½ΠΎΠΌΠ΅ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠ°ΠΉΠ»Π° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ x, y ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°-ΠΏΠ°ΠΊΠ° missionX.bin.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΆΠ΅ Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΈ Π·Π°Π½ΠΎΡΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠ½ΠΈΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ β ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ. ΠΠ΅Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΅Π±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² Π²ΠΎΡΠ΅ΠΌΡ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ Π½Π° Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ Π΄Π²Π° Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ Π½Π° Π·Π²ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ.
ΠΡΡΠ°ΡΠΈ, ΡΠ°Π±ΡΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΈ Π΄Π»Ρ Π²ΡΠ°Π³ΠΎΠ², ΡΠ½Π°ΡΡΠ΄ΠΎΠ², Π²Π·ΡΡΠ²ΠΎΠ², ΠΎΠ±Π»ΠΎΠΌΠΊΠΎΠ², ΠΎΡΡΠ°Π½ΠΊΠΎΠ², Π±ΠΎΠ½ΡΡΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΠΎ-ΡΠΎ Π΅ΡΡ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠ΅.
ΠΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Ρ.Π΅. ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΠΈ ΠΏΠΎΡΡΡΠΎΠΉΠΊΠΈ Π½Π° Π½ΡΠΌ β Π½Π°Π±ΠΎΡ ΡΠΎΠΌΠ±ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΠΊ Ρ ΠΏΠΈΡΠ°Π», Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠΎΠ²Π½Ρ, ΠΏΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΠΊΠ°ΡΡΠ°, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π±ΡΡΠ΅ΡΠ΅ missionX.tot. Π₯ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ³Π½Ρ Π½Π° ΠΊΠ°ΡΡΡ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΎΠ³Π½Ρ Π² ΡΡΠΎΡ Π±ΡΡΠ΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π₯ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΡΡΠΈΡΡ ΠΏΠΎΡΡΡΠΎΠΉΠΊΡ, Π·Π°Π½Π΅ΡΠΈΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΠ°Π·ΡΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΄Π° ΠΆΠ΅. ΠΠ³ΡΠ° ΡΠ°ΠΊ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎΡΠ»Π΅ΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ, ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΌΠ½ΠΎΠΉ ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, 1080p.
Git Bedlam 1 (Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ Π΅ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΠΈΠ΅ΡΡ ΡΠΎΡΡΡ). ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π½ ΠΈΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Git Bedlam Tools (ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° BIN ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ RAW, MRW ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ³ΡΡ).
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅Π²Π΅ΡΡ ΡΡΡ (ΡΠ°ΠΉΠ»Ρ IDA).
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΈ ΠΈΠ³ΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΊΡΠΏΠΈΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠ³Π΄Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ Windows Π²Π΅ΡΡΠΈΡΠΌΠΈ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π·Π΄Π΅ΡΡ: 2 ΡΠ°ΡΡΡ (Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ «Microsoft Visual C++ 2015 Redistributable x86»).
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΠΉ Linux Π²Π΅ΡΡΠΈΠΉ Π½Π΅Ρ. ΠΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΠΈΠ³ΡΡ Ρ ΡΠΎΠ±ΡΠ°Π» ΠΏΠΎΠ΄ Linux, Π½ΠΎ Π΄Π°Π»ΡΡΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΈΠ³ΡΠ° ΠΊΡΠ°ΡΠΈΡΡΡ. Π£ ΠΌΠ΅Π½Ρ Π½Π΅Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ.
PS. Π₯ΠΎΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΡΠ΅ΠΊ Π½Π° C++. ΠΠΆΡΠ½ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΡ? ΠΡΠΎΡΡΠ±Π° Π² Π»ΠΈΡΠΊΡ.