I want to propose a new feature
You are welcome! Unfortunately, so far the ways of communication with the author are limited to a couple of forums, but other methods of communication will be presented later.
A fairly large list of future innovations and fixes has already been accumulated, so don't despair if you couldn't contact the author, perhaps the desired functions will appear in the next update.
Functions requiring third-party (non-WinAPI) libraries, YARA for example, will NOT get into the program with almost 100% guarantee. The only exception will be the disassembler engine, which is planned to be added in the near future.
It is guaranteed that functions that require the program to go online (like checking by Virustotal) or digging in the file system (for example, searching for dependency files) will NOT be implemented.
Donations are unacceptable! The program is absolutely free and is handed over for use free of charge.
An irresistible desire to express greetings will be mutual if you just talk about the program somewhere (without spam) or share use cases.
OS: MS Windows XP ServicePack 3 (but there are no restrictions on working in ServicePack 2, just try) and newer.
It's also possible to work with ReactOS 0.4 and newer.
CPU: any x86-compatible starting with Intel Pentium III and its analogues.
HDD: there are no special requirements; the program does not write any data other than the configuration file.
Dependencies: none, only WinAPI is used.
What about of the PE editing?
Most likely, the editor will be a new program, some kind of PE Surgeon :-)
What DLL is hanging out next to the program?
If we are talking about
PEAnatomist-RU.dll then this is a library with resources for displaying the program interface in Russian.
This DLL is optional and does not contain any code. Anyway, code in it will be ignored.
The program supports GUI localization and on-the-fly language change. The internal format is still variable, so the SDK for creating your own translations is not published. Please write to the author if you are interested in translating the program into other languages.
The program does not require any other components.
How can I change the program settings manually?
The way of storing settings in the first versions of the program was very simple - just a binary saved directly from a memory with primitive integrity control. At the same time, it was not intended to be changed from the outside.
However, starting with version 0.2.0, the configuration management mechanism and storage format have been totally changed for portability and scalability.
Now the program configuration is stored in plain text form (with the clause that UTF-16 is the only supported encoding) in the form of "key = value" pairs, one per line.
It can be edited manually following a few rules:
- leading and trailing spaces or tabs are ignored in the key name, but only leading spaces or tabs are skipped in a value;
- the key and value are separated by an "=" symbol;
- the value enclosed in quotation marks is accepted as is, this is useful for specifying file paths if they contain spaces, semicolons, etc.;
- quotes, spaces, tabs in the key name are not allowed;
- a semicolon anywhere in the string (except for a quoted value) means the beginning comment that ends with a line feed.
Any deviation from the specified rules will lead to skip the line. A setting with a unknown key will also be ignored. Currently the program writes settings which value differs from the default one. This behavior will become optional in the next program updates.
Precense of the lines with the same key will not result in an error but only the last one will be accepted. The only exception so far is the
wnd.RecentFilePath key for listing recent files.
The order of the lines in the file is irrelevant unless one of the settings directly affects the other.
All settings are validated and can be discarded if they go outside the specified limits, either as a single value or as a whole set in the case of ListView settings.
The program maintains a small set of indicators by which you can diagnose ignored settings. To see them, you should call the "About" dialog from the menu, holding down the Ctrl key (not Ctrl + F1). Among other diagnostic data, the line "Cr" ("Configuration reading") will be interesting: the first number is the count of lines with the correct format of values, next - the number of uncommented lines parsed without syntax violations, the third number is the total of lines parsed; and the line numbers of the first and last found errors remains.
When finished, the program overwrites the configuration file regardless of the changes made. This can be avoided by specifying the read-only attribute in the properties of the configuration file or by adding the
config.ReadOnly setting with a nonzero integer value in any new line. Please note that in this case no settings will be saved by the program.