home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
util
/
mayflower.lha
/
MayFlower
/
SearchMem
/
SearchMem.doc
< prev
next >
Wrap
Text File
|
1994-05-04
|
8KB
|
172 lines
--- ---
(o) (o) SearchMem 4.0 (19940311)
^
\_____/ by Stephen D. Childers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
******* NOTICE ! NOTICE ! *******
Certain areas of memory within your Amiga system are linked to the
registers of special purpose chips, and searching through these areas may
cause very strange things to happen. Be prepared to reset your system.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Program Description:
1) Program searches a given memory range for a given search pattern.
An address will be printed (in hex format) for every match found.
NOTE 1: This version of SearchMem does not check memory size of
your system. It attempts to search the memory range that
you specify whether that memory is or is not installed.
2) Option -c will look for any case condition of the pattern.
3) Option -d will disable multitasking while searching.
Not using this option may lead to erroneous results when searching
memory. Using this option freezes EVERYTHING until SearchMem is
done searching, but system will unfreeze momentarily when SearchMem
finds a match and prints a line.
4) Option -s will show a line of data that surround pattern.
The pattern, and data that surround the pattern, will be shown
as printable characters (the pattern portion will be shown in a
different colour). Non printable characters will appear as an
asterick of another different colour.
NOTE 2: When SearchMem finds a match within memory the data may be
changed by other processes just before SearchMem prints the
data to window; when this happens the data printed in window
will not match pattern argument.
NOTE 3: If option -h is used then printout is shown in hex format.
5) Option -n means no ansi codes will be used by option -s.
6) Control-C will break SearchMem (but only if option d is NOT set)
and display the memory location that was about to be searched
when break occured; this is so you may later resume a search
without having to start at the original search location.
7) When program ends, it will print out the last address searched.
The last address that is searched is computed by the following
formula:
location + range - pattern length
You may use this address if you plan to begin again where you
left off.
8) Can only be used from CLI. Can be made resident.
9) Program (when run from CLI) will interact with the 'c:Why' command
after program failures; this command may provide a more detailed
explanation of why the program failed.
The 'Why' command should be used immediately after a program
failure to extract the last program's result code, because
that result code is changed upon the execution of the next CLI
command.
10) Certain error reports will contain the name of the argument, file,
device, (etc) that is associated with failure when it occurs.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLI Usage:
> SearchMem [!|?] [[-options] location range pattern]
! = Show author info
? = Show some help
options c = case insensitive
d = disable multitasking during search
h = pattern is in hex format
s = show characters surrounding pattern
n = no ANSI codes when using option -s
location = Address to start search from.
The range of input values for location are:
Decimal = 0 to 4294967295
Hex = H0 to Hffffffff
range = How much memory to search.
The range of input values for range are:
Decimal = 1 to 4294967295
Hex = H1 to Hffffffff
pattern = The pattern to find, which may be in string
format (default) or hex format (use option -h for hex)
Hex values for location and range must be preceded with 'h'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLI examples:
Example 1:
> SearchMem -sc hf80000 h80000 Code
> SearchMem -sc 16252928 h80000 Code
> SearchMem -sc 16252928 524288 code
> SearchMem -sch hf80000 h80000 436f6465
All of the above lines will accomplish the exact same thing.
Example 2:
> SearchMem -sc hf80000 h80000 .library
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Version History:
The following information briefly describes changes or improvements
made to each version, and they will be described in descending order;
meaning latest version information begins first:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version 4.0 (19940311) -
1) Changed version numbering format. Program can now be used with the
"Version" command. Date within parenthesis is shown in a somewhat
international format as (yyyymmdd).
2) Added new options -s & -n
3) Modified option -c because of new option -s
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version 19930804 -
1) Optimized and refined source code thereby making program smaller.
2) Alas, removed a small bug (programmer's error) which would
sometimes print eroneous results when using option -c.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version 19920107 -
1) Removed a CLI parsing problem.
2) Removed yet another problem from my code which involved pattern
matching. Certain patterns containing repeated characters would
not match with memory that contained data that matched pattern.
An example of the problem follows:
Suppose the pattern to search for was equal to "0001", and the
memory to search contained the following data:
"00001000010000100001"
Note the differences between pattern and memory data.
The program would not find any matches, although it should have.
3) Program should now search a little faster when using c option.
4) Can be made resident.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version 19910918 - The first version.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/X_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_X\
/X/ \X\
/X/ 9 Know ye not that the unrighteous shall not inherit \X\
\X\ the kingdom of God? Be not deceived: neither fornicators, /X/
/X/ nor idolaters, nor adulterers, nor effeminate, nor abusers \X\
\X\ of themselves with mankind, /X/
/X/ 10 Nor thieves, nor covetous, nor drunkards, nor revilers, \X\
\X\ nor extortioners, shall inherit the kingdom of God. /X/
/X/ \X\
\X\ The Holy King James Bible - 1st Corinthians 6:9-10 /X/
\X\_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _/X/
\X_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_X/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Of Document