Tajemnice ATARI

Virus Killer

    W TA 10/92 ukazał się artykuł, który bardzo mnie zainteresował. Był to artykuł JBW pt. "Złapaliśmy wirusa". Korzystając z tego, że miałem w domu wypożyczoną na okres ferii stację dysków, postanowiłem spróbować napisać program antywirusowy. Efektem tego zamierzenia jest prezentowany obok program Virus Killer. Jest to antywirusowy relokowalny kopier. Pisząc go wykorzystałem procedury zawarte w publikowanym na łamach TA programie TA Copy.

    Po wczytaniu, VK (tak w skrócie nazywam swój program) sprawdza, czy w pamięci komputera znajduje się wirus. Jeśli go znajdzie, unieszkodliwia go, zmieniając wektor procedury CLOSE tak, aby wskazywał miejsce w procedurze wirusa, oznaczone przez JBW etykietą GOCL. Sprawia to, iż po wywołaniu procedury CLOSE wirus skacze do procedury CLOSE oryginalnego handlera. Po wczytaniu kopiowanego programu VK - sprawdza, czy jest on zawirusowany. Jeśli tak jest, to wówczas zmniejsza o długość wirusa wartość słowa, zawierającego długość aktualnie wczytanego pliku. Po zakończeniu tej operacji VK ponownie sprawdza zawirusowanie pliku. Ma to na celu całkowite odwirusowanie pliku, do którego wirus dołączył swój kod kilkakrotnie.

    Odwirusowane pliki najlepiej zapisać na tej samej dyskietce, pod tą samą nazwą. Powoduje to jednoczesne skasowanie zawirusowanego pliku.

    Prezentowany przeze mnie program został połączony z "Relocatorem 1.1", w celu zwiększenia pojemności bufora.

    Aby otrzymać działający program, należy poniższy listing przetworzyć przy pomocy "Zgrywusa+", który drukujemy na stronie 24.
1000 REM *--------------------------*
1002 REM : VIRUS KILLER             :
1004 REM :  autor: K. Kowalski      :
1006 REM : (c) 1993 Tajemnice ATARI :
1008 REM *--------------------------*
1010 DATA ffff00801d83208b8120f48020
1020 DATA aa80a202a5d005d1f001e82072
1030 DATA 8030ecde4803d00ea5d005d1f0
1040 DATA 1da90085d085d1f0d9a5d005d1
1050 DATA f0062076814c038020558120c6
1060 DATA 814c03806c0a00a000ca300ab9
1070 DATA 1482c8c99bd0f8f0f38aa2009d
1080 DATA 480318986d08829d4403a9009d
1090 DATA 49036d09829d4503a9099d4203
1100 DATA 4c56e4204280a200a9059d4203
1110 DATA ad06829d4403ad07829d45039d
1120 DATA 49034c56e42092808a48209b80
1130 DATA 684a4a4a4a290f0930c93a9002
1140 DATA 690699af828860a5d0a6d1ac0e
1150 DATA 82208e8038ade502ed0a8285d2
1160 DATA ade602ed0b8285d3aaa5d2ac10
1170 DATA 82208e80a200204280a2064c42
1180 DATA 802056e4100cc088f010a60420
1190 DATA 4280a0ff60a205a5d005d1f0f2
1200 DATA a00160a210a90c9d42032056e4
1210 DATA a9038d0fd29830db60a2109d4a
1220 DATA 03a9039d4203a03acc1f83f007
1230 DATA cc2083f002a900186d0c829d44
1240 DATA 03a9006d0d829d4503ad0fd229
1250 DATA 080a0a0a0a9d4b032056e430a2
1260 DATA bd4a0309039d4203ad0a829d44
1270 DATA 03ad0b829d45039860a9042007
1280 DATA 813019a5d29d4803a5d39d4903
1290 DATA 20d880300abd480385d0bd4903
1300 DATA 85d160a908200781300da5d09d
1310 DATA 4803a5d19d490320d88060a930
1320 DATA 0d01038d1c83a90085d085d1a2
1330 DATA 01204280bd1a03c944f008e8e8
1340 DATA e8e02490f260a906dd1c03d0f8
1350 DATA a96d8d9d06ce4402a200204280
1360 DATA a2074c428018ad0a8265d085ce
1370 DATA ad0b8265d185cf38a5cee90c85
1380 DATA ceb002c6cfa00bb1ced90f83d0
1390 DATA 1b88d0f6a200204280a2082042
1400 DATA 8038a5d0e9b785d0b002c6d14c
1410 DATA c68160001e83148296831b8309
1420 DATA 00180000009b20111212121212
1430 DATA 12121212121212121212121212
1440 DATA 12121212121212121212121212
1450 DATA 1212052020207c564952555320
1460 DATA 4b494c4c455220312e30206279
1470 DATA 20415441524920534f4c444945
1480 DATA 527c2020201a12121212121212
1490 DATA 12121212121212121212121212
1500 DATA 12121212121212121212121212
1510 DATA 039b536f757263653a9b546172
1520 DATA 6765743a9b492f4f206572726f
1530 DATA 72219b4f7574206f66206d656d
1540 DATA 6f72799b5573656420242e2e2e
1550 DATA 2e206279746573206f6620242e
1560 DATA 2e2e2e9b564952555320772070
1570 DATA 616d6965636920756e6965737a
1580 DATA 6b6f646c6977696f6e792e9b56
1590 DATA 495255532077206b6f70696f77
1600 DATA 616e796d20706c696b7520736b
1610 DATA 61736f77616e792e9be202e302
1620 DATA 0406e202e302040644303a9683
1630 DATA 4d84207581a90085cfade70285
1640 DATA d48de002ade80285d58de10238
1650 DATA a90085d2e5d485d0a98085d3e5
1660 DATA d585d1a000f0033866cfa5d2c9
1670 DATA 96a5d3e98390016024cf706330
1680 DATA 27b1d285ce91d4204184aaf0e0
1690 DATA c920f017c940f0dbc960f0d729
1700 DATA 0dc908f0d190418a291fc909f0
1710 DATA 3ab1d2c8c900b1d288e9809012
1720 DATA b1d2c8c997b1d288e983b006a5
1730 DATA d0a6d1900724cf30a3a900aa85
1740 DATA d686d738b1d2e5d691d4204184
1750 DATA b1d2e5d74c3984b1d291d42041
1760 DATA 844cc583e6d2d002e6d3e6d4d0
1770 DATA 02e6d560e202e3029683


Krzysztof Kowalski



Powrót na start | Powrót do spisu treści | Powrót na stronę główną

Pixel 2002