Adventurer #06: Обмен опытом: анализ вирусов на ZX Spectrum

╔═══════════════════════════════════════╗  
│ ──────────── V I R U S E S ──────────── │
╚═══════════════════════════════════════╝

This article will not be about the programs VIRUS and VIRUS II, but about real computer viruses, just like on iBM PC!
For a long time, it was believed that viruses could not exist in the TR-DOS system (which is, in principle, true). More precisely, it was generally thought that viruses were the lot of PCs. And then information came that there is a virus in the game LAST BATTLE!!!! After checking the information, I confirmed this.
Actually, viruses in TR-DOS are not quite real; true viruses of all kinds on SPECCY can only be organized in iS-DOS and CP/M systems (not embedded in ROM). If we exclude the SCORPION, ATM, PENTAGON 512K + "shadow RAM" instead of the printer's ROM, then in the TR-DOS system, you can only write FILE viruses that launch before executing the infected program. Resident viruses are impossible on a standard SPECCY.
Due to the peculiarities of SPECCY and TR-DOS (i.e., only BASIC files can be launched), infecting code blocks is unrealistic, and only BASIC files can be infected. The infection technology is simple:
1) a BASIC file is searched;
2) it is checked for the presence of a virus, and if it is not there yet, the body of the virus is written to free space on the disk, the length and starting track/sector of the file are changed in the file header, and the normal length and track/sector are saved in the body of the virus. Then, the first line of BASIC is modified to include a jump to launch the virus. After that, the modified information is written to the disk, and control returns to the program from which the virus was called.
The drawbacks of such a virus are obvious. They include changing the length of the BASIC file (in sectors), the inability to infect programs on another disk (on systems with one drive), and the inability to infect other programs if there is no space on the disk or if the disk data indicates that there is no free space. Also, if you implement the virus according to the above scheme, it will not work when copied to another disk. In Last Battle, the virus operates on a slightly different scheme, although still very similar. After launching the virus, it first looks for boot and tries to infect it, and only after that does it proceed to its other tasks, i.e., searching for BASIC files. During the search, the length of the file in sectors is checked, and if the length is sufficiently large, infection does NOT OCCUR (there's the answer to those who recorded any games in monoloaders besides the "bottle"). During a not very thorough check, it was determined that a size of 18 sectors or more is enough for the program to acquire immunity. If the file fits in size, it is checked for infection (only three bytes are involved in the check), and if it is not infected, the most interesting part begins. The first line of the program is modified to ensure the launch of the virus, the body of the virus is generated, combined with the infected program in a block equal to the length of the BASIC in sectors + 8, and this is written to free space on the disk. After that, the disk catalog is corrected, and everything is repeated until the catalog is exhausted. Theoretically, the virus from the "bottle" can infect all BASIC files on the disk at once.
As you can see, the virus is generally simple, but even in its current form, it can cause problems. I will give one example from life: we received disks with systems from Flash, and it turned out that several (maybe initially one) were infected with the "drunken genie" (my name for this virus /I think it sounds good/). Although it did not manifest itself in any way, RAY, having sad experience with the "drunken genie", decided to carry out a course of treatment. The technology was simple: we start BASIC, halt it, and if it turns out what we expect to see, we unload BASIC onto a clean disk. That's all the treatment. Those who cannot carry out the treatment themselves, bring (send) them to us, we will help.
To sum up: there are viruses on the Spectrum. One virus is known, written by HACKER SQUAD ("drunken genie"). Distinctive features: an increase in length by 8 (in sectors), infection only of short BASIC files, an increase in loading time of the infected program. It first appeared in the game "Last Battle." The magazine's editorial invites anyone interested to express their opinions about viruses on the pages of ADVENTURER.

ADV: By the way, we have a packed and virus-free (well, I said it!) version of LAST BATTLE. If anyone needs it...

───────────────

(C) SHRSOFT

Contents of the publication: Adventurer #06

  • Presentation
    This is an introduction novel for the game Return to Home 4, featuring space battles and a narrative about pilot Raifus navigating challenges in a military context.
  • Presentation
    The article presents K.KAV software's new game 'DEATH WORLDS: TORISTAG INVADERS RETURN TO HOME 5', a real-time strategy continuation of 'RTHЧ'. Players will battle against competitors on resource-rich planets while managing technology and military forces. The game's projected release is between late spring and summer of 1997.
  • System Software Updates for ZX Spectrum - Котов А.В.
    The article reviews various software updates and utilities for ZX Spectrum, highlighting their features, usability, and performance. It provides insight into programming tools, disk management, and database applications. The tone blends critique and personal experience to inform readers about the latest developments in Spectrum software.
  • Overview of ZX Spectrum Software
    The article provides a comprehensive overview of new software for ZX Spectrum, highlighting various games, their features, and recommendations for players.
  • Interface
    Discussion of the ZX Spectrum's interface issues and user frustrations with compatibility and modern enhancements. The author critiques the push for users to modify their machines for non-standard features and expresses dissatisfaction with current trends. Reflection on the future of the ZX Spectrum and the need for a more vibrant community involvement.
  • Interface
    The article discusses feedback from readers regarding games and programming tools for ZX Spectrum. It includes cheat codes for a game, opinions on assemblers, and insights into user preferences for computing. Various reader inquiries about games and software are also addressed.
  • Interface
    The article discusses issues surrounding the OVER FILE GROUP, a game developer known for mail-order sales, and the impact on user trust in software distribution. It also raises the question of whether to transition the magazine to 128K ONLY, seeking reader feedback. The piece reflects on the importance of user support for maintaining a trusted gaming community.
  • Interface
    The article discusses recent news in the ZX Spectrum community, including game development updates, personal news about developers, and local happenings in the Rybinsk and Yaroslavl areas.
  • Presentation
    The article presents new software releases by SURDAKAR GROUP, including a demo of ROAD FIGHTER and updates on FONT EDITOR and RAY DISK MONITOR.
  • Promotion of Adventure Games
    The article provides a detailed analysis of the adventure games 'APOLLO' and 'ЧУЖОЙ', evaluating their gameplay, challenges, and shortcomings in design.
  • Ottyag
    Discussion of computer slang and its impact on modern language, highlighting humorous interactions among users.
  • Оттяг
    The article presents a humorous collection of absurd lists, including reasons for dinosaur extinction, alternative names for Robinson Crusoe's Friday, and more.
  • Ottyag
    The article presents a test for aspiring demo makers, assessing their skills and commitment to demo creation on the ZX Spectrum. It evaluates their approaches to music, graphics, effects, and their overall engagement with the demo scene. Results determine their standing from novice to expert in the demoscene community.
  • What Not to Say or Do When Drunk
    The article provides humorous advice on what to avoid saying or doing when drunk, based on personal anecdotes. It emphasizes the consequences of poor decisions and offers cautionary tips. The content is lighthearted and reflects on typical drunken behaviors and their repercussions.
  • Friendship Quiz
    The article presents a humorous quiz about friendship, evaluating how friends would react in various social scenarios, culminating in a scoring system to assess the depth of one’s friendships.
  • Ottag
    Статья представляет собой сборник китайских пословиц с юмористическим подтекстом, отражающих различные аспекты жизни и отношений. Она сочетает в себе элементы сатиры и легкого фольклора, используя ироничные наблюдения о человеческом поведении. Текст включает в себя аллюзии на сексуальность, настольные игры и религиозные вопросы.
  • Оттяг
    Статья представляет собой пародийное евангелие, где события жизни Иисуса Христа изображаются в неформальном и юмористическом ключе.
  • Experience Sharing
    The article provides a detailed guide on creating a complete disk version of a program for ZX Spectrum, including code examples and practical advice.
  • Experience Exchange
    The article provides a comparative analysis of the PC and Amiga platforms, highlighting their respective advantages and disadvantages based on personal experience.
  • Experience Exchange
    The article discusses the existence and behavior of computer viruses on the ZX Spectrum, particularly the BASIC file infecting virus known as 'Drunken Djinn', first seen in the game Last Battle.
  • Code Protection Methods
    The article discusses various methods of software code protection, detailing techniques like inversion masking, obfuscation, P-code, cryptographic algorithms, and the use of ISR. Each method is evaluated for effectiveness and application, particularly within the ZX Spectrum environment. The author invites further information and collaboration on information security methods.
  • Anniversary
    The article celebrates the sixth issue of 'ADVENTURER,' marking one year since the founding of the AURYN group. It reflects on the past year for the Speccy community, including the emergence of new programs and the first demomakers' gathering in the CIS. The author expresses hope for the future of Speccy and encourages readers to support and promote the platform.
  • Anniversary
    Article celebrates the 15th anniversary of the Spectrum, reflecting on its enduring legacy and recent developments in hardware and software.
  • Novella
    The article narrates a novella centered on a covert mission involving a programmer named Gerald O'Brien, who is hired by a drug lord called Swede to infiltrate a rival's computer network, leading to a thrilling sequence of espionage and violence.
  • Contest
    The article discusses a contest related to ZX Spectrum, showcasing submissions and participants' creativity.
  • Advertisement
    The article is an advertisement section in Adventurer #06, inviting hackers, programmers, artists, and musicians to contribute to the ZX Spectrum community. It outlines collaboration opportunities, offers specific requirements for software submissions, and includes contact information for advertising and game distribution. Additionally, it promotes a range of ZX Spectrum software and services available across various cities.