Index of /hopperw2000/SSC

      Name                    Last modified       Size  Description

[DIR] Parent Directory 06-May-2009 20:44 - [TXT] SSC.html 12-Dec-2001 14:06 2k [   ] SSC10.zip 23-Nov-2001 13:51 154k [   ] SSC10b.zip 23-Nov-2001 13:51 143k [   ] SSC11.zip 23-Nov-2001 13:51 190k [   ] SSC11S.zip 23-Nov-2001 13:51 25k [   ] SSC12.zip 23-Nov-2001 14:54 182k [   ] SSC12S.zip 23-Nov-2001 13:54 29k [   ] SSC13.zip 30-Nov-2001 10:18 172k [   ] SSC131.zip 12-Dec-2001 14:04 175k [   ] SSC13S.zip 30-Nov-2001 10:18 32k [IMG] SSCShot.gif 30-Nov-2001 10:18 14k


Save State Cracker v1.3


	Save State Cracker is a utility to aid in save state, SRAM, and
ROM hacking. It includes search and comparison abilities, file corruption,
as well as being a front end for my hex editor HeX0R.

__________
New in 1.3
~~~~~~~~~~

11/30/01

Clone Data Interface
New Known Search parameters
Corrupt types: Increment, Decrement, & Replace
Backup Improvement
Quick View Interface improved


1.2 - 11/21/01

Clone Data
Cross Reference Results
File Backup System
Results improvement, written to file, can display all
Search speed improvement


1.1 - 11/18/01

Compare can now use the search parameters originally made for
Unknown Value Search, and those parameters have been extended. 
Added project workspaces.
Added file corruption, for a range or the results. 
Can delete a selected result from the list.


__________
Known Bugs
~~~~~~~~~~

	There's probably quite a few, but I don't know of any.



========================
	 Options
========================
___________
Value Type
~~~~~~~~~~~

	Values for the various functions can specified to be of types byte
(0-255), word (0-65,535), or double word (0-4,294,967,295). 

_______________
Cross Reference
~~~~~~~~~~~~~~~

	This causes the next search to cross reference the results from
The last search. If the current search/compare generates an address,
that address must also exist in the results from the previous search for
it to be added to the new results. This allows the results to be narrowed by,
in essence, combining two different searches. 

_______________
Restore On Exit
~~~~~~~~~~~~~~~

	If checked, all the backup files will be restored when the program closes. 

_______________
Delete On Exit
~~~~~~~~~~~~~~~

	if checked, all backup files are deleted when the program closes.

___________________________________
Compare & Unknown Search Parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	Sets the parameters for Comparison and Unknown Value Search in order
to narrow down the results. The Base Value is the value in the first file,
and the Dissimilar Value is the value in the second file (third for Unknown
Search) which differs from the Base Value. 

	If Compare is set to display where the files are the same, then the
Dissimilar Parameters do not apply.

Base value is:
Zero - The base value must be 0
Not zero - The base value can't be 0
Not max - The base value can't be the max value for its data type

Dissimilar value is:
Larger - You know the value increased in the dissimilar file
Smaller - You know the value decreased in the dissimilar file
Either - Dissimilar value can be greater or smaller, but not equal
Zero - Dissimilar value must be 0
Not Zero - Dissimilar value can't be 0
Not Max - Dissimilar value can't be the max value for its data type

Max Difference - The dissimilar value changed from the base by no more than a certain amount

____________
File Range
~~~~~~~~~~~~

	The range of offsets within the files that Search and Compare will work
within, and that Corrupt Entire Range will corrupt. The range is specified
by the Starting Offset & Ending Offset, which default to Start of File and End
of File if those boxes are checked. To change one of these, uncheck the
corresponding check box and type in the offset. 



=========================
	Functions
=========================
__________________
Known Value Search
~~~~~~~~~~~~~~~~~~ 	

	Searches any number of different files based on given values and logic,
and cross references the matches in each file with matches in the others.
Final results are the locations where all files had a match. 

	There are three check boxes for the search parameters: > < =. They can
be combined to form different logical comparisons. The results will be all
locations in the file that pass the comparison with the given value(s),
of the selected type. 

Search Types:

Checked     Comparison                    Equation

=           Equal to                      X=Val1
>           Greater than                  X>Val1
>=          Greater than or equal to      X>=Val1
<           Less than                     X<Val1
<=          Less than or equal to         X<=Val1
><          Between                       Val1<X<Val2
><=         Inclusive between             Val1<=X<=Val2


	For each file, you will be prompted to input a value (two for Between),
in decimal or hex, and the comparison logic. This can be used to search one
file, showing all locations in that file that matched the criteria, or many
files showing only the locations where every file matched. 

____________________	
Unknown Value Search
~~~~~~~~~~~~~~~~~~~~ 
	
	Searches 3 files when the specific values for the variable you're
searching for are unknown. All that is known is the state of the variable
changed between the files. This is similar to compare, but since it uses 3
files it can further narrow down the results.

	The first file is the Base file, which is the basis for the comparison.
The second file is the Similar file; in this file the variable you're searching
for has the same value as in the Base file, but some other things have changed
(for save state: time passes, you may have moved, etc). The third file is the
Dissimilar file, where the variable you're searching for has a different value
than in the base state. 

	Using this information, the search finds all locations where both:

1. The Similar file is equal to the Base file, and
2. the Dissimilar file is not equal to the Base file

The Compare & Unknown Search Parameter can be used to narrow down the results.

_______
Compare
~~~~~~~

  	Compares the first two files; If Different is checked, it returns all
locations where the files are different. If Same is check, then it returns
where the files are the same. Compare also goes by Byte, Word, or DWord values,
and uses the Compare Parameters under Options.

_______
Corrupt
~~~~~~~
	
	Corrupt the file within the File Range, or corrupts all the current
results. When a file is corrupted, its data is stored and can later be
reverted by Undo. Corrupt uses the selected type: Byte, Word, or DWord values,
so if you were using zero corruption on the data 0FBA873A using different types;
Byte: 00BA873A, Word: 0000873A, DWord: 00000000.

Corrupt types are:

Zero: 	Changes to 0
Max:		Changes to the type's max value
Increment:	Adds one to the current value
Decrement:	Subtracts one from the current value
Random:	Changes to a random value
Replace:	Replaces with a specified value


__________
Clone Data
~~~~~~~~~~

	An idea from UgeTab: Copies the data within the File Range from the first
file to the second file, cloning the data. This can be useful in showing exactly
what specific data is for without the unpredictable nature of corruption.

	The clone range can be entered in the Clone Data window, or you can choose
to use the range specified in the File Range option. When the Clone Data window
is opened, the destination file is automatically added to the backup file list.
The file can be restored anytime from the window, and will optionally be 
restored automatically when the window closes. 



========================
     General Usage
========================
_____
Files
~~~~~

	Files can be added to the list via File->Add or by dragging files into
the window. File->Delete for the delete key will remove the selected file.
Clear All will remove all files from the list.

__________
Workspaces
~~~~~~~~~~

	Saves the files, results and all program options. Can be loaded later
to fully restore the state during previous work.

______________
Undo Changes
~~~~~~~~~~~~~~

	When a file is edited by HeX0R, corruption, or Clone Data, a backup copy
of the file data is made. You can then later undo and return the last edited
file back to it's original state. 
 
_____
HeX0R
~~~~~

	When a file and offset are selected, you can launch my hex editor HeX0R,
Which automatically loads the file and goes to the selected offset. HeX0R can
edit in hex mode (keys 0-9 & A-F) and text mode (All alpha-numeric and
punctuation keys). See HeX0R Help (F1) for more details.

___________
File Backup
~~~~~~~~~~~

	Creates a temporary copy of a file, which can be restored at any time,
reverting the file to its backup data. There can be any number of backup files
at a given time, which can be selected from a list. This differs from Undo in
that undo is automatic, but its data is reloaded before every edit. If you edit
more than once without undoing, the original data is lost. However, if the file
is backed up before any editing, the original data can always be restored.
These temporary files can be also be deleted from the list.

	There are two backup options: Restore on Exit and Delete on Exit,
Which determine what happens to the backup files when the program closes.
If Restore on Exit is checked, all the backup files are restored before program
termination. If Delete on Exit is checked, all the backup files will be deleted,
and if not, the files will remain after the program closes and the files will
be accessible the next time the program is run. 

__________
Quick View
~~~~~~~~~~

	This displays the byte, word, and double word values in hex and decimal
for the data in selected file at the selected offset. If both a file and offset
are not selected, the Quick View window will be blank. The quick view window will
open when a result is double clicked, and refreshes when a new result is slected.

_____________________
Next/Previous Results
~~~~~~~~~~~~~~~~~~~~~

	If more than 32736 results are generated (list box display limit),
then the results will be displayed in chunks of that size. Selecting Next
or Previous Results will display the next/previous set of results until the
end of the results is reached.

________________
Accelerator Keys
~~~~~~~~~~~~~~~~

Ctrl-A: Add File
Ctrl-L: Load Workspace
Ctrl-S: Save Workspace
Ctrl-H: Launch HeX0R
Ctrl-K: Known Search
Ctrl-U: Unknown Search
Ctrl-D: Clone Data
Ctrl-C: Compare
Ctrl-V/Enter: Quick View
Delete: Delete File/Result



Save State Cracker written for Microsoft Visual C++ 6
HeX0R written for DJGPP

Copyright 2001, Wesley Hopper
HopperW2000@yahoo.com