*********************************************RegFaker.dll*********************************************

RegFaker intercepts registry calls and dumps any read values to RegFaker.ini. Upon future executions, keys will be read from RegFaker.ini allowing for easy modification of registry items with support for custom codes. See (Custom Code) below.

************************************************Purpose***********************************************

Registry is important for things like determining Driver Versions, Mouse Settings (Left or Right Hand), Prerequsits etc... but it is too often used for too much more usesless stuff. Such as, where are the program files at that are right beside the .exe, what are the settings that can be stored locally but are not. Registry Cleaners, simple settings modifications and moving or renameing the folders cause applications to become unusable. RegFaker can convert games that require installation to behave as portable applications, only getting registry values that it needs that have no affect on the game itself.

*************************************************Note*************************************************

RegFaker.ini is in the format of a RegEdit .reg export but is renamed to .ini to avoid accidental imports, espically when using custom codes. This is so users can copy and paste from .reg exports if manual setup is desired.

*************************************************Usage************************************************

1. Open the game executable in a hex editor such as "HxD", search for `ADVAPI32.DLL` and rename to `REGFAKER.DLL`
2. Save the binary.
3. Place `RegFaker.dll` next to the executable.
4. Run the program; when it exits, there will be a file `RegFaker.ini` containing all registry values the program used. (In the same format as a RegEdit Export)
5. Open .ini and add any custom codes listed below and save the .ini file.
6. The game will now use the RegFaker.ini file instead of the Window Registry.

*********************************************Custom codes*********************************************

1. {Location} - This will return the current working directory

	[HKEY_LOCAL_MACHINE\Software\Developer\Game]
	"Installed To:"="{Location}\\"

2. {Ignore} - Will ignore any items in the registy after that point and fetch from the real registry instead. Used for things like DirectX Version and things that you actually want to get from the registry.

	[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]
	"{Ignore}"

3. {Lock} - This will lock any entries after it so the application cannot overwrite them in the .ini

	[HKEY_LOCAL_MACHINE\Software\Developer\Game]
	"Video Card Major Version:"=dword:00000003
	"Video Card Minor Version:"=dword:00000002
	"{Lock}"
	"Installed To:"="{Location}\\"
	"Installed From:"=".\\"

Changelog

RegFaker v0.2
- Fixed a bug that required the real registry key to exist in the Windows Registry for RegFaker to work.
- Modified {Lock} to only lock items after the call allowing for some codes in the registry key to be updated and others to remain locked.

RegFaker v0.1
- Inital Release.