NAME
binpatch —
examine and or modify
initialized data in an executable binary
SYNOPSIS
binpatch |
[-b | -w |
-l | -d]
[-o
offset]
[-T saddr]
-s symname
[-r value]
binfile |
binpatch |
[-b | -w |
-l | -d]
[-o
offset]
[-T saddr]
-a addr
[-r value]
binfile |
DESCRIPTION
binpatch is used to modify or examine the data associated with
a symbol in a binary file
binfile.
The flags
-b,
-w,
-l, and
-d specify the size of the data to be modified or examined.
-b is for 8bit (
int8_t
),
-w is for 16bit (
int16_t
),
-l is for 32bit (
int32_t
), and
-d is for 64bit (
int64_t
) variables.
The
binfile is scanned in search of the symbol
symname (specified with the
-s flag).
If the symbol is found the current data and address are printed.
Next if the
-r flag has been given, the current data is
replaced with that of
value.
If the second form is used the address
addr specified with
the
-a flag is used as a direct address into the data
section of the binary and no symbol search is performed.
The
-o flag specifies an offset in
int8_t
,
int16_t
,
int32_t
, and
int64_t
(
-b,
-w,
-l, or
-d) units from the given locator (
-s or
-a) for
binpatch to perform its described
actions. This might be useful to patch a member of array or structure.
The
-T flag is used to specify the starting address of a.out
binary text segment. Ignored for other binary executable formats.
SEE ALSO
gdb(1),
mdsetimage(8)
BUGS
The
binpatch command doesn't check if size of specified symbol
is the same as the specified size by
-b,
-w,
-l, or
-d flag.
The
binpatch command doesn't check if specified address or
symbol is a patchable variable and it might corrupt the specified executable
binary.