Simple command-line editor of binaries (images)
-------------------
License: GNU General Public License (GPL)
goals: educational and system utility.
- A description of the problem your software will solve - easy and fast
inspect and change* arbitrary piece of binary file. Can be used for
inspecting any binary file (executables, images, database files and so on).
- A list of the major obstacles (technical problems) your team will need to
overcome in writing this software - I had to become familiar with certain
binary file. Far don't give enought for me. Another efitors (hiev, hex
edit) - are not all free, and not always so usefull as I wanted.
- The major features which will be included in your software :
- see piece of binary file
using file rediraction (ima2.exe > res.txt) - possible to get acces to
arbitrary piece odf binary and inspect it more detaily.
(arbitrary size and offset (to 100K))
- write one byte to binary file* [have be improved].
- convert hex to int.
- see current configuration.(service function)
--- COMMANDS
/*
command:
* report piece of binary file
ima2.exe a
ima2.exe b
ima2.exe d
ima2.exe e
required:
ima2.exe f 12.txt - name of file to read from
ima2.exe o 2 - offset in file
ima2.exe n 1 - number of bytes to read
command:
* write one byte to binary file
ima2.exe g
ima2.exe h
required:
ima2.exe f 12.txt - name of file to read from
ima2.exe o 2 - offset in file
command:
* convert hex to int
ima2.exe v
required:
ima2.exe s 1 - size of hex to convert
command:
* see current configuration
ima2.exe c
*/
I have C++ program (1286 lines in 1 source file) and VC++ project too.
The utility is command-line tool.
(It can be it'a advantage, as I think, because it's easy to use it and
requires small place.)
Most code is written on C/C++, so, possible, it can be easy ported to
another operating systems.
(www.system32.narod.ru - some information about compilers on russian.
if it will be usefull, some information may be added here later)
Any detailed information about program can be sended if required.
EXAMPLE:
file: cmd.exe:
offset: 557 (bytes)
count : 10 (bytes)
Detailed information (there are 4 degrees of detaility):
=== NB IMA UTILITY CONFIGURATION:
--- SIZE : 1
--- FILE : cmd.exe
--- OFFSET : 557
--- COUNT : 18
A - 10
B - 11
C - 12
D - 13
E - 14
F - 15
| ----- | -------- | ---------- | ----------------------- | ----------------------- | ------------------------------- |
| LINE | OFFSET | DEC OFFSET | 00 01 02 03 04 05 06 07 | 08 09 0A 0B 0C 0D 0E 0F | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
| ----- | -------- | ---------- | ----------------------- | ----------------------- | ------------------------------- |
| 00000 | 00000000 | 0000000000 | 00 00 00 98 28 02 00 00 | B0 03 00 00 2A 02 00 00 | - - - Ш ( - - ░ - - * - - |
| 00001 | 00000010 | 0000000016 | 92 03 __ __ __ __ __ __ | __ __ __ __ __ __ __ __ | Ш ( = = = = = = = = = = = = = = |
| ----- | -------- | ---------- | ----------------------- | ----------------------- | ------------------------------- |
ima2.exe > h - description of commands
=== NB IMA UTILITY
----------------------------------------------------------
SET SIZE size | s one|two|four
SET FILE NAME file | f
SET FILE OFFSET offset | o
SET FILE COUNT count | n
----------------------------------------------------------
GET CONFIGURATION config | c
----------------------------------------------------------
CONVERT convert | v
----------------------------------------------------------
READ1 (SIMPLEST) read | a
READ2 (good header) read1 | b
READ3 (good greed) read2 | d
READ4 (good report) read3 | e
----------------------------------------------------------
WRITE1 (integer) write | g
WRITE2 (hex) write1 | h
----------------------------------------------------------