Chapter 52: Virus Killing
The micro-hardware and software platform has a sales network, and the profits are also amazing. In the eyes of software developers, it is really a win-win situation for this micro-hardware software to give up monopoly profits, open its arms to software developers, and encourage them to develop better software that meets user requirements.
Subsequently, a large number of software developers sent their own software, source code and software development block diagram to the email address published by the micro-hardware software platform.
Zhang Yi stayed in Guangdong for more than ten days, except for occasionally accompanying Luo Bingyun to go shopping and eat, basically all the time was spent testing the software sent over.
There are many fields involved in software, and there are no less than hundreds. Although the quality is mixed, it is also a good start.
EASY-TO-USE, BUG-FREE SOFTWARE, HE INCLUDED IT FIRST.
If the idea is good, but the software has obvious bugs, he will send a correction email and some suggestions to the developer, so that the other party can modify it and send it again for review.
As for the joke software, he also sent a thank you note and made pertinent suggestions.
Thanks to the degree of development of the brain domain, as well as the experience of testing accumulated in later generations. In order to be lazy, Zhang Yi made a test software, including options for functions, stability, vulnerabilities, etc., and all tests were basically automated. At present, this testing software can be said to be the one that he has spent the most effort on and integrated the most functions.
As a software developer, laziness is the driving force.
The developers who received the email felt very respected and encouraged when they looked at the bug descriptions and rationalization suggestions that were densely listed on it.
The most important thing is that the proposed optimized software block diagram is more reasonable, simpler, and less code-intensive than my own previous block diagram.
Zhang Yi's serious reply and suggestion caused a sensation in the circle of software developers.
For software developers, testing software is far more difficult than developing software, but I didn't expect that by submitting to the micro-hardware software platform, the testing process and rationalization suggestions were completed.
In the eyes of developers, this micro-hardware software must have concentrated a large number of software testers, otherwise, it would not be able to complete such a large workload.
The positive response of the micro-hardware software platform has made waves in the software developer circle, and the scope of dissemination is becoming more and more extensive, and new software is constantly being sent, even if it is not included, you can get valuable suggestions and testing opportunities.
Individual developers and small companies don't have the money to support a large number of professional testers.
When I was actively busy, I heard a long-lost prompt sound in my head, and the brain domain development degree was 26%. As more and more software is reviewed, so do the beeps, 27%, 28%, all the way up to 30%.
With the sound of 30% of the prompts, a large amount of assembly language knowledge was continuously stuffed into his mind, including IBM-PC assembly and AT&T assembly, which surprised Zhang Yi.
Assembly language is notoriously obscure, with a variety of proprietary registers, and octal or hexadecimal calculations used between registers.
Of course, the most headache is the way to directly manipulate the memory address, which is simple and rude, which is also the most torturous.
Assembly language is the language closest to the underlying hardware except machine language, with concise syntax and powerful functions. C and C++ are many other high-level languages that are compiled into assembly language before they run on computers. Its power of directly manipulating memory is also the most intoxicating.
A year later, in June 1998, Chen Yinghao, an employee of the former GIGABYTE subsidiary, would produce the world's most impactful and costly CIH virus.
The earliest version of the virus was just over 900 bytes, but it would destroy the BIOS system of the computer motherboard and completely paralyze the basic input and output systems.
The most frustrating thing is that this virus will damage the hard disk of the computer, constantly give the hard disk boot sector of the user's computer, write junk information, resulting in millions of computers around the world, on April 26, the motherboard is damaged, and the hard disk data is lost.
Its last version, V1.4, will be released on the 26th of each month.
From the earliest version of CIH v1.0, which was more than 900 bytes, to the final version of v1.4, which was only more than 1200 bytes, it shows how strong the assembly language's ability to directly manipulate memory and interrupts is.
In addition to the knowledge of many assembly languages, Zhang Yi's mind also flashed the source code of the CIH virus, which was extremely concise and beautiful, and he studied it with reverence for a long time.
One of the snippets of the code looks like this:
push esi
mov esi, eax ; The ESI points to the beginning of the virus
LoopOfMergeAllVirusCodeSection:
mov ecx, [eax-04h]
rep mov s b ; Copies the virus code to the allocated address of the system memory
sub eax, 08h
mov esi, [eax]
or esi, esi
jz QuitLoopOfMergeAllVirusCodeSection ; ZF = 1 ; End of copy
jmp LoopOfMergeAllVirusCodeSection ; Copy the next paragraph
QuitLoopOfMergeAllVirusCodeSection:
pop esi
It's 1997, which means that starting next year, the CIH virus will be rampant along the chain of pirated disc sales.
It seems that it is necessary to develop an immunity software as soon as possible, so that users who use the micro-hardware and software compilation will not be lost.
The software produced by the software developer is all at the level of the RING 3 application layer of the operating system, and the CIH virus uses the VXD virtual device driver technology of the windows system to obtain the RING 0 layer permission in the driver layer in an ingenious way, so as to obtain the power to call the DR0 register of the 80386 of the INTEL CPU.
Immunity software is very simple, is to preemptively snatch the power of the DR0 address register from the hands of the CIH virus, without the permission of the DR0 register, the CIH virus will not be able to write spam information to the computer motherboard and hard disk to wreak havoc.
Write the prepared immunity software into the latest issue of the micro-hardware and software collection, of course, it can't be named CIH immunity software, it can only be said to be micro-hard virus immunity software, as for whether the user is willing to run, he can't care.