Viewstate
Viewstate is an ASP.NET viewstate decoder, checker, parser and encoder. It supports both the old and new styles of viewstate.
Contents
Requirements
Viewstate is platform independent and is available as a Windows 32bit binary and as source code. Viewstate requires the GNU C compiler if you want to build it yourself.
Building
There is a Makefile to build Viewstate, so you can use the usual process of running "make", then "make install" (as root).
However, if you want to manually build Viewstate, first extract the archive and change into the source directory. Then execute the following command:
gcc -o viewstate viewstate.c
Running
If Viewstate is run with no options the help is shown. To decode a viewstate, soecify --decode, the default input format will be a HTML web page.
The command line arguements for Viewstate are:
Command:
viewstate [Mode] [Options]
Modes:
--decode Decode viewstate data.
--encode Encode viewstate data.
--version Display the program version.
--help Display the help text you are now
reading.
General Options:
--input=<file> Input file to process. By default
input is from stdin.
--output=<file> File to output to. By default
output is from stdout.
--verbose Increase verbosity.
--quiet Decrease verbosity.
Decode Options:
--url=<url> Get the viewstate from a URL, no
SSL support in this version. Specify
as http://www.somewhere.com.
--parse If possible, parse the viewstate.
--hash Output hash, if one exists.
--raw The input is raw viewstate data.
--no-hex Disable hex output.
Downloads
Viewstate can be downloaded from the Source Forge Viewstate project page.
Changes
Version: 2.0.0
Date : 12/01/2008
Author : Ian Ventura-Whiting (Fizz)
Notes : This version represents a major rewrite of viewstate. It
was getting a little out-of-date.
Changes: Feature : Added support for new ASP.net viewstate data.
Feature : Build with a Makefile
Feature : You can get viewstate directly from the web.
Feature : Man page added.
Improved: Commandline interface.
Improved: Added hex output for non-printable characters.
Fixed : Removed the comment lines at the bottom of the
LICENSE file.
VERSION: 1.5
DATE: 20/02/2006
AUTHOR: Fizz
DETAILS: Output data to stdout on viewstate failure
Fixed encrypted viewstate bug
Improved viewstate parsing
Fixed a small memory leak
A few optimisation improvements :-)
Included LICENSE file
VERSION: 1.4
DATE: 05/04/2005
AUTHOR: Fizz
DETAILS: Added output to stdout option.
Added help mode with examples.
Added HTML input on check mode.
Fixed a minor display bug.
Example viewstate included.
Improved documentation (README).
A few de-optimisations to imporove builds. :-(
VERSION: 1.3.0
DATE: 17/02/2005
AUTHOR: Fizz
DETAILS: Added URL Encoding capability.
General optimisations (new binary is about 1/3 of the size).
Fixed a minor display bug.
Improved documentation (README, INSTALL and ChangeLog)
VERSION: 1.2.0
DATE: 08/12/2004
AUTHOR: Fizz
DETAILS: Improved Parse routine to catch unexpected "items".
Improved Error Handling Routines - Stop program exceptions with invalid data.
Improve Command Line Help.
VERSION: 1.1.0
DATE: 01/12/2004
AUTHOR: Fizz
DETAILS: Program now in C++ and can be built on Linux, UNIX and Windows.
Added a check routine.
Added varying verbose levels.
Display HASH if found, and disply option is enabled.
Can Append a new HASH (must be provided).
Return codes returned for inclusion in scripts.
VERSION: 1.0
DATE: 19/11/2004
AUTHOR: Fizz
DETAILS: Original version, written in PHP.
License
Viewstate is covered by GPL version 3. You can get a copy from here.