ulong Disassembleforward(uchar *copy,ulong base,ulong size,ulong ip,ulong n,uchar *decode);
Calculates address of the n-th command starting from address ip in the code block described by base and size. If copy of executable code is not supplied, function assumes memory and reads it by itself. In this case correct functionality is guaranteed only for n<=256.
Parameters:
copy
(in) Pointer to the copy of the executable code that starts at address base and is at least size bytes long. If copy
is NULL, function assumes that code is in the memory of the debugged
process and reads it automatically. Due to the limited size of the
internal buffer, correct answer in this case is guaranteed only if n does not exceed 256
base
(in) Base address of the memory block pointed to by copy. Note that base may be smaller than ip
size
(in) Size, in bytes, of the memory block pointed to by copy
ip
(in) Address of the initial command
n
(in) Number of commands to skip. For example, n=1 means command that immediately follows initial command
decode
(in) Pointer to the decoding data, USEDECODE if function must get decoding data automatically, or NULL if decoding is not necessary or unavailable. If decoding data is supplied, it must start at base and be at least size bytes long. Use decoding if you want to treat embedded data recognized by Analyser the same way as commands
Return values:
On success, returns starting address of the n-th command or base+size, whichever is smaller. On error, returns ip
See also: