Developers Club geek daily blog

? Pimp my game?, or how? to pump over? games without API

2 years, 2 months ago
image

I think, many of you at least once in the life were engaged in modification of favourite computer game. It could be editing resources (for example, models of characters and objects from GTA), writing of various scripts (for example, the task scheduler for Dwarf Fortress started by means of DFHack) or development of spendthrifts for the Minecraft server who worked under control of Minecraft Forge.

In many cases developers of games do not provide official API for expansion of functionality, leaving not indifferent community alone with their own ideas and desires which occasionally pour out in quite large-scale projects.

Sitting at one of the favourite games under the name UnReal World (further one night? URW), I have once again faced behavior, incredibly inconvenient for me. Natural desire practically any player at meeting with more or less strong enemy? instantly to remain not to lose everything that it has reached at the moment (yes, some will consider it? rudeness?/? chity? / etc, but tastes differ). The problem is what to remain-be loaded quickly into URW simply it will not turn out. When saving the character the output in the main menu is automatically executed, and to leave without having remained to return to the previous save point, it is possible only having killed process of game through taskmgr. As a result in most cases difficult fights at late stages of game (when everything is already really a pity to lose that has saved up for long time) came to an end with mad combinations and the keyboard shortcuts learned by heart.

And here I have reflected. And what the own menu of fast loading and saving prevents us to add? Having armed with debugger, the editor and analyzers of PE files, I have turned to work.

As process proceeded, and that from this left, read under cat (carefully, there are a lot of screenshots). Before reading of this article also I recommend strongly to examine with previous since in them some of the moments lowered here are already explained.

Read more »


AGTH reverse for reconstruction of alternative GUI

2 years, 2 months ago
As the subject reverse of engineering is quite popular on Habré, has decided to share the practices on this subject. To me, as well as many fans of visual short stories, such program as AGTH (Anime-Game-Text-Hooker) is familiar. She allows to retrieve the text from short stories for the subsequent transfer (the majority of games? Japanese). Development of this program, apparently, has been stopped still in 2011m to year, it was not succeeded to find source codes and as the soul wanted additional features, the decision to otreversit this program and on the basis of data retrieveds to recreate alternative cover with all functions lacking me has been made.

Read more »


Telnet and echo? who is right who is guilty

2 years, 2 months ago
image

In the previous article at us small dispute on has burst, whether the team helps? set localecho? in solution with lack of echo at interaction with the bat.org server. I stood what this team will not make anything for correction of the considered situation, and told it at all with an ulterior motive? specially after one of comments I have decided to double-check my correctness in the matter. Having done all necessary actions (start of telnet.exe, clicking of Ctrl-], input of team? set localecho? and double pressing Enter), I was once again convinced that was right. About what then the others so surely go on?

I have asked to send me binarnik? the working? the telnet-client and the version of OS on which he was started, in pm. Having convinced that versions of OS match (Windows 7 SP1 x64 was used), I have paid the attention on the telnet-client. Hashes have matched. Having started? the working?, on assurance of the user of k0ldbl00d, binarnik, I with surprise have found out that it also does not work at my computer.

Perhaps, matter in environment in which telnet.exe is executed? The original executable file has been taken from directory of "% \System32%WINDIR" so I have started the telnet-client from there, and? Has found out, what team? set localecho? correctly fulfills in this situation. And if to copy the same executable file in any other directory and to use already it, in spite of the fact that the main functionality of telnet.exe will continue to work, commands will cease to be executed that from them is required.

In what business? Give raberyomsya.

As process proceeded, and that from this left, read under cat. Before reading of this article also I recommend strongly to examine with previous since in them many of the moments lowered here are already explained.

Read more »


We teach telnet.exe the correct game in MUD'Y

2 years, 2 months ago
image

Somehow time, having decided to play something unusual, I have turned the view of MUD'Y — text computer multiplayer games with chat. It is possible to play them as by means of the specialized clients written under specific servers and on telnet'u.

Having selected one of the servers existing at the moment (https://www.bat.org/), I have armed with the default telnet-client under Windows and … Has felt disappointment. No, business at all not in game, and how telnet.exe interacts with this game. Sadly to realize, but any of the characters entered by me (name of the character, various actions of etc) was not displayed on the console screen. Yes, teams went on pressing Enter, but absence even the minimum interactive did such game almost impossible (it was especially inconvenient to delete the characters entered earlier, after all it was necessary to count in mind, how many characters you have already deleted and on what you are at the moment).

Without thinking twice, I have decided to try to connect besides to the server by means of putty and … Wow! I see the characters entered by me!

Why echo does not work in telnet.exe? Whether it is possible to correct it somehow? Let's understand.

As process proceeded, and that from this left, read under cat. Before reading of this article also I recommend strongly to examine with previous since in them many of the moments lowered here are already explained.

Read more »


Riddle about the invisible file

2 years, 2 months ago
image

Not so long ago, having finished work on the next article for Habr, I have decided to optravit it on revyyu to the acquaintance. Having saved the HTML page with all environment (pictures, etc styles), I have packed it in ZIP archive and have sent to the addressee. In five minutes I have received fidbek which, contrary to my expectations, has been connected not with article at all, and that the archive was absolutely empty. Having scratched the head and having decided that I have blunted with archiving, I have repeated procedure, having convinced that have selected all files, necessary for zapakovyvaniye. Some minutes later the acquaintance has again burst surprised "You that, joke?", while I did not joke at all.

I have started aggregating all elements of puzzle. First, I have found out, than he tries to open archive. Suddenly, as viewer'a it uses any third-rate hogwash do not understand from what developer? However default explorer.exe has appeared it. I used Total Commander'om both for zapakovka, and for viewing of the turned-out archive, and in my case it was not empty at all:

image

What, really it is sborochka of xxxWindowsUltimateEditionxxx has pumped up? I have tried to open the same archive on my computer by means of explorer.exe and at last have believed the acquaintance — the archive really looked empty:

image

Who is guilty of such behavior? Let's understand.

As process proceeded, and that from this left, read under cat (carefully, there are a lot of screenshots). Before reading of this article also I recommend strongly to examine the previous.

Read more »


We "pump over" notepad.exe

2 years, 2 months ago
image

What association is connected at you with the F5 key? Updating of the page in the browser? Copying of the file from one directory in another? Application launch from the Visual Studio? And here authors of notepad.exe have approached this question quite originally — on the key press of F5 there is adding of current date and time in place where at this moment specifies the cursor. Everything would be abruptly if in notepad.exe there was such feature, popular and quite natural to the majority of text editors, as reading over of contents of the current file which, apparently, and has to be assigned to F5/Ctrl-R or still any standard hot key.

We can wait while it is implemented Microsoft, to select other text editor (after all it not the only restriction on functionality of standard notepad.exe) or … To take disassembler, debugger and the editor of PE files in hand.

As process proceeded, and that from this left, read under cat (carefully, there are a lot of screenshots). Before reading of this article also I recommend strongly to examine the previous.

Read more »


Why "electronic diaries" are still unreliable in education?

2 years, 3 months ago
Good afternoon, habrayuzer!


In this topic the issue connected with the organization of reliability of the digital information systems which are part of process of modern education will be touched. If to speak specifically, electronic diaries.



It is known that digital implementations now povsemestna: schools and universities create own pages on social networks and blogs for informing on the events, the rare educational institution has no own site, and electronic journals just about will finally force out the paper … And it only part of those changes which happen at us in the eyes. Of course, in information century it already should not be surprised: people have got used that all information interesting them is the Internet.

Obviously, these processes encapsulate in themselves and considerable responsibility both from users, and from developers. Now it is not enough, leaving office, to lock door, leaving behind it all important. In the digital world physical unavailability is not security accreditation (however, undoubtedly, this aspect is extremely important in respect of ensuring complex safety). But, about everything one after another.

Read more »


We continue to deal with "the historical reasons" in cmd.exe

2 years, 3 months ago
image

In the previous article we have talked about possible candidate solution of situation with need of the indication of key "/D" for the CD team entering delivery of Windows family of the interpreter of command line of cmd.exe, standard for operating systems. Has come it is time to talk about one more behavior which lasts without the reason, special on that, from time immemorial.

This time it will be a question of autocompletion of ways which in the majority of Wednesdays and software products (and cmd.exe is not in this case exception) is carried out by means of clicking of the TAB keys/Shift-Tab. I think, nobody will begin to argue with that the feature is quite useful and often saves about several seconds of time which is spent on manual input of full path to the interesushchy user of the file or directory. It is healthy that it is present and at cmd.exe, however …

Let's experiment. Let's start cmd.exe (Win-R-> cmd), we will start entering the CD C: / team, we will click Tab, and … Instead of the expected directories like "Program Files" and "Windows" we will receive the object first alphabetically from % %HOMEPATH which is "stuck together" together with "C:/" (in my case it has yielded result in the form of "C:/.vim"). Why? I think, those who on the kind of activity had to face often cmd.exe, have already understood in what here business — instead of forward slash'a for correct autocompletion it was necessary to use backslash (by the way, there are also other exceptions in this plan). Especially it is unusual for those who spends the most part of the time in other systems (for example, * nix-like) where as path separator'a just the direct slash, but not the return is used. Why Microsoft have decided to use this character instead of already become at that time to forward slash'a, usual for many users, speaks, for example, here. Well, and to us it is necessary or to reconcile to it, or to take in hand file debugger and to research cmd.exe. If we have selected the first way, no article and existed so you already had to guess to what everything goes.

As process proceeded, and that from this left, read under cat (carefully, there are a lot of screenshots).

Read more »


We get rid of "the historical reasons" in cmd.exe

2 years, 3 months ago
image

The software development sphere is one of those areas of human activity where the term "historical reasons" is used most often. It also is clear — many "long-playing" projects like kernels of different operating systems, browsers and other have acquired during the existence not sickly arsenal of things, will begin to change which behavior not everyone even if the perfectionist in the developer tells the return. Most likely, the most part of code has been written by programmers who do not work in the company for a long time, and even those who else connect the lives with this corporation, doubt that other components of program complex normally otreragirut on these or those changes. "Is not present, better I will leave as it is".

As example of one of such things it is possible to call cmd.exe. Yes, it is that interpreter of command line entering delivery of all modern (and not really) operating systems of Windows family. The historical reasons it saved up fair quantity — to remember at least how it is necessary to make insert and copying in this interpreter enough (for the sake of justice It is necessary to tell that in Windows 10 at last have corrected this situation and applications like ConEmu fine help with it). But the speech will go to reflect on other behavior which zastvlyat for the first time the person who has faced cmd.exe today, apparently, where it it is not required at all.

As you know, one of teams which are perceived by cmd.exe, "CD" is. The official help on this team reports the following:

C:\Users\Nikita.Trophimov> CD/?
Displays the name of or changes the current directory.
[...]

It would seem, everything is simple. You call CD without argument — in stdout the way to the current directory is displaid, give other directory as argument — it replaces the current directory with the specified. Reefs begin here if the user has decided to replace directory at the same time together with disk. For example, if you are in directory of "C:\Windows\system32", the CD D:\books team will not make anything. In my opinion, obvious to new users in it absolutely anything is not present so they are rescued by Google or official documentation which, by the way, reports:

Use the/D switch to change current drive in addition to changing current
directory for a drive.

Certainly, this question, as well as origins of similar behavior, was more than once discussed on the Internet (for example, here) so we will not stop on similar things. Instead we will try to debug cmd.exe to clean need of the explicit indication of key "/D".

As process proceeded, and that from this left, read under cat.

Read more »


Dirty solutions in reverse engineering

2 years, 3 months ago
image

Before developers quite often there is choice — correctly to make everything, having spent on task solution time a great lot, or to make so that worked, not especially going into detail of that, how exactly it has turned out. From the customer, certainly, the most attractive is certain golden mean, which in this case consists at the same time and in good understanding the programmer of the executed task, and in as it is possible smaller quantity of the man-hours spent for it. With developers too not everything is so unambiguous — on the one hand, to understand, what there is in own code, this quite natural desire (especially if support of this product will also lie on his shoulders), and on the other hand if results of operation of application are presented in the visual form (diagrams / sound or video fragments of etc), development one-time, and the department of testing says, what everything is good why not to proskrollit the rest of working hours Habr, having devoted time to itself favourite?

Keep to the point. In one of the previous articles I already mentioned the program under the name "Govorilka". Despite the name, in itself she sounds nothing, and is only link between the user and speech engines, giving more convenient interface and opportunity of configuration. One of the engines, most popular in narrow circles, is "Digalo 2000 text-to-speech engine" (further — Digalo), on which it is just possible to find the reference on the site "Govorilki". As you already, probably, have guessed from subjects of my previous articles, not everything with it is so good, and without bugs here has also not done. This time the problem was shown when scoring the text «ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааà». Having a little experimented, I have found out that at achievement of certain quantity of "continuous" characters of Digalo starts crumbling, suggesting to debug the process. Well, and what why is also not present?

As process proceeded, and that from this left, read under cat (before reading of this article I recommend strongly to examine with previous which can be found, for example, here).

Read more »