HIEW Hex editor tutorials series , part 2 – the basics.
Round up of the basic HIEW commands used:
Command | Action |
---|---|
Change the color scheme | edit hiew8.ini the last section "Colors", set ColorMain = 0x07 to have the black background. |
ESC | To exit any window/mode without saving the changes. |
F1 | Context-sensitive help. |
F3 | Enter the Edit mode. |
ENTER | In the read mode, switch between Hex/Decode/Text modes. |
F7 | Open a search window |
Ctrl + Enter | continue searching. |
Alt + F1 | Change location addressing mode. |
F9 | Save the changes. |
F6 | In Decode/Disassembled mode, find cross-references. |
* | In Read mode, select block(s) of bytes. |
F8 | Show the file header. |
F8 -> F6 ->F3 | In Hex/Decode modes, show then edit file header sections. |
Alt + F6 | Show all strings in a file. |
+/- | See above, increase/decrease minimal string lentgh. |
F5 | Go to offset. |
Alt + F7 | Change the search direction. |
Sample "serial1.exe" program used in the tutorial:
Compiled binary "serial1.exe": https://blog-assets-public-all.s3.amazonaws.com/serial1.exe
NOTE: Today almost all OS will flag any executable you download as "malicious/harmful" etc. (and good they do so), so be warned. The virustotal rating of the file is quite good, just 7 detections of 72 :) https://www.virustotal.com/gui/file/b38128c26bc792989b23d70684498ea2612639c11047e2cd6c3a1114a9ad1e92/detection
Its SHA256 hash (use PowerShell command Get-FileHash "serial1.exe") to verify:B38128C26BC792989B23D70684498EA2612639C11047E2CD6C3A1114A9AD1E92
The source code (compiled in Microsoft Viual Studio 2015):
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
// this example and all the following will be posted on my site https://yurisk.info
int main()
{
char serial_input[6] = "";
char serial_correct[6] = "23845";
int result = 0;
printf("Please enter the serial of 5 numbers:");
fgets(serial_input, 6, stdin);
result = strncmp(serial_input, serial_correct, 5);
if (result != 0)
{
printf("Wrong serial!, quitting ..\n");
return 1;
}
else { printf("Great, you have the correct serial !\n"); }
return 0;
}
See also other posts in the series:
Part 1
Part 3
Part 4
Part 5
Part 6
Follow me on https://www.linkedin.com/in/yurislobodyanyuk/ not to miss what I publish on Linkedin, Github, blog, and more.