All-Russian Verification Software - An Inside View

What is it about?


Hello, Habr! I am a school computer science teacher. However, the article you are reading is not about Paint or the Turtle at all, but about the meaning of the digital life of schools.

Information technology came to educational institutions around 2010. I remember that it was then that there were requirements for each op-amp to have an Internet connection and its own website. That was the beginning of a very long journey that has not been completed to this day. This path is strewn rather than the loss of engineering tasks, the search for a happy medium and the creation of a new one, but the banal corruption, technical illiteracy and low responsibility of those who are entrusted with designing, building and writing code. Officials proclaim the digitalization of education. And now I look at how it looks from the inside.

Software for All-Russian Verification Work


I will not dive into the discussions about the meaning of the existence of VLR, but imagine yourself a hero of the classic Hollywood horror movie, by the will of the plot of which you found yourself in an unfamiliar city. You walk along it and everything would seem good. But here and there you notice strange things. Here, passers-by look at you strangely, you understand that there is not a single phone nearby, cellular communications are not working and there is no Internet, a dog with five legs instead of four ran past you ... And then you understand that this place is literally bleeding. And as soon as the sun hides behind the horizon, you will have to try to survive until the next dawn.

That's the same with VLOOKUP. You have heard that the student knowledge control system is fully automated, control and measurement materials are generated automatically from a closed bank of tasks for each school, the computer checks the work ... And here you download software for conducting VLR in foreign languages. When you try to start, you get this:

image

It would seem that this is strange? An application needs a CMM (test material) - everything is logical. But you understand that the program was run on a computer without access to the Internet, there were no dialogs for requesting identification information ... how does the program know the name of the file with the CMM? And some kind of strange name is this: here is the sign of the type of work - “vpr”, here is the separator “-”, here is the sign of the subject “fl” (foreign languadge) and ... then there is no separator, and then the sign of parallel is “11” and on that’s all. You start to suspect something. As if the automatic information system that created this file for the school the data hierarchy ends on the parallel number, and the lack of a separator between the last two elements creates unnecessary problems for the examiner program. She will have to make out this name by separators ...

Well, all right, you think, driving away strange thoughts from yourself. Moreover, the KIM file is sent to you separately by mail. Maybe somehow they have everything arranged. Having copied KIM to the working directory, you start the application and you see this:

image

Of course, I could be wrong, but if my worldview doesn’t change me, then someone had to pay someone to create this software. Budget money. And if it was some kind of studio, then why don’t I see in this interface the results of the work of interaction specialists, designers ... after all, the program will be used by children. Even if a second-year student, handcuffed to a battery, worked on this program, I still don’t see at first glance reasons to pay him off with food.

Further, your gaze stops at the "School login (without sch letters)" field. Let me remind you that the program is running on a computer without the Internet, and from the above it can be assumed that all the necessary metadata (including the school identifier) ​​should be in the KIM file. There is no other option. But if, for the sake of interest, you try to enter a completely random sequence of numbers in this field, you will see that the application does not care! Although no, not all the same. See, the school login then falls into the name of the folder with the answers.

image

Well! Already something machine-readable. So then this folder will need to be sent somewhere for, for example, automatic verification. But about checking later. Now I had an insatiable desire to see how the vpr-fl11.kim file works.

A little reverse


At first glance, this file is not particularly similar to anything. There is nothing interesting in the hex editor. The file is not an archive or any other file of the format I know with a modified extension. I did not like the prospect of much research on this subject, but I knew that any program dealing with packed or encrypted data was doomed to unpack or decrypt it before use. It is only necessary to catch her in this occupation. Yes, it happened:

image

The program creates the kim.tmp file in the working directory and writes something very intensively there, reading vpr-fl11.kim. Then kim.tmp is deleted. Without thinking twice, you can pick up the debugger and put a breakpoint in front of the last statement with the file name. Fortunately, they turned out to be hard-coded.

image

By the way, sub_409F78 just calls the DeleteFileA API procedure.

Now I have in my hands the kim.tmp file, which is approximately twice as large (26MB) as vpr-fl11.kim. If you open it in a regular text editor, we will see the following:

image

The TPF0 header is very eloquent: with a high probability it is a binary file with a Delphi data structure ... I did not really want to find out, especially writing software to read it. Although, as is now evident, to do this is quite realistic. Using pens from this file you can get several PDF documents containing KIMs and an OGG audio stream with an audio recording. The most interesting thing is this:

image

If you compare with the beginning of the file with the field names, then the numbers are the coordinates. Coordinates of ComboBox-s on the program window. The text below is the contents of the lists, possible answers to the tasks that are offered to the student for choice. However, there is no information about the types of tasks in the file. That is, purely technical demonstration to the student of the assignment consists in using a third-party PDF viewer on the window with superimposing controls on it. A rather rude and amateurish decision, given that all of the above, in addition to everything else, implies rigidly fixed types of tasks in each work and strictly the same order of their sequence.

Well, the cherry on this cake is detected when you do not find the correct answers in the KIM file for at least the test part. Does the program not check the answers? Is the student's work entirely sent somewhere for automatic verification? No. The teachers themselves are engaged in the verification of the school using another program. To view student work.

image

Another application of the same quality as the first shows the teacher the answers of the students and allows you to listen to the notes. The teacher himself is forced to verify them with the evaluation criteria. It turns out that the stage of interaction between students and a computer when performing VLR could not exist at all!

What's the point?


The above is just an example of digitalization for the sake of digitalization. You can recall about interactive whiteboards, which serve only as a white screen for a projector, document cameras, digital laboratories and language laboratories, which are rarely used in rare schools. Electronic journals and diaries are generally a byword.

What is the point?

All Articles