…to the official web site of Memory Hacking Software!

MHS is now an award-winning software with a 5-star rating!

Reviews on SoftSeaReviews on SoftSeaProsoftix

Update (1:15 PM 12/5/2009):

MHS6.1.rar has been added to the download page.


  • Added support for Windows Vista Service Pack 2.

And while you are at it, check out my current work-in-progress on deviantArt:
Japanese Model Drawing by L. Spiro
This drawing of a Japanese model has taken me well over 60 hours so far and will probably take over 100 more hours to finish, so check it out and, if you have an account, leave some comments to tell me what you think.

Update (12:31 PM 11/18/2009):

MHS6.0.rar has been added to the download page.


  • Fixed the CallRemoteFunction() bug in the scripts.

Update (10:53 PM 8/14/2009):

MHS5.009.rar has been added to the download page.


  • The Hex Editor no longer loses changes to files when the Helper window is disturbed (was caused by window messages overlapping).
  • Added the ATan2 function to the scripts.
  • Fixed the display of all lock types on float values in the Main Address list.
  • Fixed the display of the lock values on float values in the Modify Address dialog.

Update (8:30 PM 6/1/2009):

MHS5.008.rar has been added to the download page.


  • Fixed the Modify Address freeze in the Hex Editor and RAM Watcher.
  • Added a second parameter to LoadProcess() (script API) to allow opening processes in Restricted Mode via scripts.
  • Added the GetProcessNameByPEproc() function to the scripts.
  • Fixed the alignment option in Expression Searches.

Update (10:11 AM 4/25/2009):

MHS5.007.rar has been added to the download page.


  • Added the DrawBitmap function to the scripts.
  • Added the BrowseForFolder, GetPathFromIDList, and Execute functions to the scripts.
  • Fixed the displayed range of doubles in search dialog boxes.
  • Fixed the bug in the Auto-Assembler where DB, DW, DD, and DQ commands could not correctly exceed 255 characters.
  • The C/C++/L. Spiro Script code printed in the Auto-Assembler during preview now includes the length of the array.
  • Fixed the parsing of L"" Unicode strings in the Auto-Assembler.
  • Fixed that annoying search bug. You know the one.
  • Fixed the bugs related to showing message boxes (via scripts or DLL plug-ins) while MHS is detaching from the target process. Previously the script functions or DLL functions would be called repeatedly while the message box was visible, often causing more message boxes to appear.
  • Added the DrawText function to the scripts.
  • The Hex Editor Helper Window now accepts all valid expressions for input.
  • Fixed the bug in the Hex Editor that caused the data in the Helper Window to show the values from the first tab when clicking any address in any other tab.
  • Moving the cursor in the Hex Editor with the arrow keys while not holding Shift now results in the selection being lost and the Helper Window being updated with the current cursor position.
  • Fixed the Update button in the Modify tab of the Structure Editor dialog.
  • Mapping templates containing pointers over RAM in the Hex Editor is now more stable.

Update (10:41 PM 12/28/2008):

MHS5.006.rar has been added to the download page.


  • Fixed the UDD Path option, broken in MHS 5.5.
  • Search speed fixed on Windows® Vista®.
  • Fixed the CallRemoteFunction() script function (previously always failed).
  • Fixed an error related to setting breakpoints one address away from each other.
  • If there is no selection, copy operations occur on the highlighted address (the grey address) in the Disassembler.
  • Added the Copy Address pop-up–menu item to the Imports and Exports tabs in the Helper window of the Disassembler.
  • Fixed the bug where clicking the Go to DisEbutton in the Auto-Hack window would always open in a new tab regardless of the check state.
  • The Assemble button in the Auto-Hack window now works.
  • The NOP button in the Auto-Hack window no longer tries to NOP if no address is selected.
  • The module lists no longer waste time updating twice in a row when debugging begins.
  • Nodes can now be deleted from loaded .lcf files in the Code Filter.
  • Added the File/New menu item to the Code Filter, allowing to make a new filter set from scratch.
  • Added the ability to supply registers when calling functions in the target process.
  • The Disassembler now shows referenced addresses in more detail.
  • The Disassembler now loads OllyDbg 2 UDD files for comments.
  • Fixed a bug in the scripts related to using floats as function parameters.

Update (12:44 PM 11/23/2008):

MHS5.005.rar has been added to the download page.


  • Existing addresses in the Stored Address list are no longer overwritten when they have the same address as an item being added to the list.
  • The arrow keys can now be used to change the selected item in the Auto-Hack window.
  • The arrow keys can now be used to change the selected item in the DLL Injector window.
  • The arrow keys can now be used to change the selected item in the Injection Manager window.
  • Opening a process now falls back on weaker methods of the stronger methods fail.
  • Fixed a bug with the initialization of the UDD directory environment variable.
  • Restricted Mode no longer obtains the path and name of the process. It generates these values instead.
  • A major internal problem related to closing processes which has been there literally for years has been found and fixed.
  • The Disassembler no longer opens to address 0x00000000 if there is an error looking up module entry points.
  • Added the EnumWindows and EnumChildWindows functions to the scripts.
  • The Debugger now attempts to put the Disassembler in the foreground when single-step breakpoints are hit.

Update (8:21 PM 9/19/2008):

MHS5.004.rar has been added to the download page.


  • Fixed the Code Filter crash caused by not logging contexts.
  • Added Expression Search.
  • Fixed the Copy Current Value in the Found Address list after Pointer Searches.
  • Added the ?: tertiary operator to the Expression Evaluator.
  • The Code Filter expression highlighter now uses ?? to highlight instead of ?.
  • The RAM Watcher can now be set on top of all other windows.
  • Fixed the Assemble bug related to miscounting the number of instructions that need to be NOP'ed when overwriting things. Bug was not related to Auto-Assemble nor the Injection Manager.
  • Fixed a bug related to the mapping of dynamic templates which caused misalignment in nested dynamic arrays.

Update (8:06 PM 8/12/2008):

MHS5.002.rar has been added to the download page.


  • Added StructBuilder/Templates.
  • Hex Editor now allows placing structures/templates over RAM/files.
  • The Delete item in the Hex Editor pop-up menu now works.

Update (10:29 PM 7/23/2008):

MHS5.001.rar has been added to the download page.


  • The Sub Search dialog now allows all expressions as valid input.
  • Fixed a crash in the Code Filter “Highlight by ExpressionEfeature related to using the [] operators.
  • Added support for Windows® Vista® SP1. Thanks to Napalm of http://www.rohitab.com/ for the EPROCESS definition.
  • Fixed the for ( ; CONSTANTVALUE; ) bug in the scripts.
  • Holding Shift while moving the caret with the arrow keys now causes the selection to change in the Hex Editor.
  • The Code Filter is more stable while single-stepping and opening a process for debug.
  • # prefix added to the Expression Evaluator to indicate a number should be evaluated as a decimal number. Applies to the Auto-Assembler, which defaults to treating all numbers as hexadecimal.
  • Added the CaptureScreen function to the scripts.
  • Added the CallLocalFunction, LoadLibrary, LoadLibraryEx, FreeLibrary, and GetModuleHandle functions to the scripts.

Update (5:13 PM 6/8/2008):

MHS4.019.rar has been added to the download page.


  • Variable view types added to the Context panel on the Code Filter.
  • Added highlighting of functions that reference strings to the Code Filter.
  • Secret things changed.
  • Fixed the version number.
  • Added highlighting of functions based on the evaluation of an expression.
  • The LockStoredAddresses Hotkey can now also be used to toggle locked/unlocked items. It is now possible to use one HOtkey to toggle locked items on and off.
  • Added SetProcessSpeed Hotkey.

Update (11:51 PM 5/19/2008):

MHS4.018.rar has been added to the download page.


  • The Go To dialog for the Disassembler has been fixed.
  • The UDD path is now correctly reset when invalid upon loading of MHS.
  • Fixed capitalization errors in function descriptions in the help file and Code Window.
  • Fixed the Expression Evaluator bug related to placing a | directly after a number (previously treated the number as being in hexadecimal format).
  • Fixed a crash related to bad timing when closing other processes while MHS is closing.
  • Fixed the assembler. Previously unable to compile certain commands with multiple registers or produced incorrect machine code.
  • Added Code Filter.
  • Postfixing octal numbers with U or L in the Expression Evaluator no longer results in 100% 0 values.
  • The buttons on the Auto-Assemble dialog no longer remain distorted after normalizing the window from a full-screen state.

Update (7:25 AM 3/6/2008):

MHS4.016.rar has been added to the download page.


  • The secret DLL files are no longer left on the hard drive if MHS is used to hack itself and the Disassembler or Hex Editor is opened.
  • Secret things changed.

Update (8:05 AM 3/4/2008):

MHS4.0.0.15.rar has been added to the download page.


  • LOCK is now highlighted in the Auto-Assembler editor.
  • GlobalAlloc(), GlobalDeAlloc(), and GlobalFree() added to Auto-Assemble.
  • “LOCK DEC” instructions no longer cause problems being assembled.
  • All cases of “Memory Hacking Software” changed to “MHS” in the help file.
  • Help file updated.
  • Bypasses more stuff.
  • Added RegisterSymbol() and UnregisterSymbol() to Auto-Assemble.

Update (1:54 AM 2/16/2008):

MHS4.0.0.14.rar has been added to the download page.


  • The All list in the Open Process dialog now shows processes that have not been closed properly.
  • Functions exported by the HAL are now shown in the Kernel Functions tab.
  • The Go To Target pop-up menu item in the Disassembler now allows going to the target in the current tab or a new tab.
  • The entries to ntoskrnl.exe functions are now shown in the Disassembler.
  • Group Searches now use epsilon as per the search options.
  • Added the CreateHookInfo, DestroyHookInfo, CreateFuncHookInfo, DestroyFuncHookInfo, GetNtOsKrnlRange, GetNtOsKrnlPath, GetNtOsKrnlName, GetHookInfo, GetFuncHookInfo, GetFuncHookTotalCalls, GetFuncHookTotalHooks, GetFuncHookCall, GetFuncHookHook, GetProcAddress, and GetKernelProcAddress functions to the scripts.
  • Added the CreateRemoteThread, CreateRemoteThreadAndGetReturn, and CallRemoteFunction functions to the scripts.
  • Added the GetEproc function to the scripts.
  • Fixed a security bug.
  • Fixed a security bug.
  • Functions in Hal.dll are now shown in the Disassembler.
  • The .EXE extension is now added automatically if not supplied in the Modify Self dialog.
  • Fixed the AddBreakpoint script function.
  • Module-list processing stabilized when attached to processes that hook certain API functions to protect themselves (improves stability in the Disassembler, Hex Editor, and Properties).
  • The Property header of the Info tab of the Helper dockable of the Hex Editor is now wider by default.
  • The Exports tab of the Disassembler now shows module addresses.
  • All search-related dialogs accept any valid expression for all input fields.
  • SO() and EO() operators added to the Expression Evaluator.
  • Added the ability to view chunks in the Hex Editor or Disassembler from the Properties dialog.
  • The Properties dialog now defaults to the Chunks tab.
  • The EPROCESS tab of the Properties dialog defaults to having a wider header.
  • It is now possible to snap the search range to selected chunks or selected modules via the Properties dialog.
  • Hotkeys added via scripts are no longer saved between sessions.
  • Added the GetSdtFuncIndex, GetSdtFuncName, GetSdtFuncAddress, GetCurrentSdtFuncAddress, GetSdtTableAddress, GetCurrentSdtTableAddress, and GetSdtTotalFuncs functions to the scripts.
  • MHS is now able to bypass all anti-cheat protections to open processes and read their RAM (but this has been crippled temporarily).
  • Added the Assemble command to the Disassembler pop-up menu.

Update (1:01 AM 1/21/2008):

MHS4.0.0.13.rar has been added to the download page.

The start-up lock-up related to multi-processor machines is fixed. If you have been having problems, redownload version and continue worry-free.


  • Added the RegisterHotkey and UnregisterHotkey functions to the script.
  • Added the LockScanForRead and UnlockScanForRead functions to the script.
  • Modified the way Auto-Assembler scripts work when applied to Stored Addresses.
  • Processes that are opened after MHS now have their EPROCESS addresses shown in the Open Process dialog.
  • All processes opened after MHS now appear in the All listing of the Open Process dialog.
  • Code compiled with the Auto-Assembler is now smaller.
  • Added the ReadLocalMemory and WriteLocalMemory functions to the script to allow reading/writing of kernel RAM.
  • Added a self-modifier which allows MHS to change its CRC/MD5, window titles, and other things.
  • Function/Enum/Struct/Typedef/Function database complete.
  • The EPROCESS tab in the Properties page is now filled on Windows® Vista.
  • Increased compatibility with Windows® Vista.
  • MHS now remains open longer than other processes during system shutdowns.
  • MHS now shows “<unknown>” in the Open Process dialog only when processes are unnaturally hidden (very rarely).
  • Filler instructions are lightened in the Disassembler.
  • Fixed Group Search when supplying floating-pointer numbers.
  • The EPROCESS tab in the Properties page is now filled even when opening a hidden process.
  • Fixed a crash in the Disassembler related to trying to open a tab to an invalid address and then later viewing a kernel address.

Tested by sonicboom.

Update (12:28 PM 12/28/2007):

MHS4.0.0.12.rar has been added to the download page.


  • Advanced Speed Hack to work on more games.
  • Added snippets to the Auto-Assembler.
  • Added the OpenProcess function to the scripts.
  • Fixed the OpenThread description in the help file.
  • The OpenThread script function is now memory-managed (the HANDLE returned will be cleaned up automatically when the script set is destroyed, if left open).
  • The Hex Editor no longer locks files while editing them.
  • The Hex Editor now detects when files are modified externally and prompts to reopen them.
  • Fixed the error message shown when attempting to use [ENABLE] or [DISABLE] in the main Auto-Assemble window.
  • Fixed the version of the .EXE file.
  • Added the Set CF, Set PF, Set AF, Set ZF, Set SF, and Set OF functions to breakpoints.
  • Updated the help file regarding breakpoint features.
  • Registers can now be modified from the Disassembler.

Update (3:39 PM 12/17/2007):

MHS4.0.0.11.rar has been added to the download page.


  • Fixed the crash related to clicking an Auto-Hack entry while no Disassembler tabs are shown.
  • The Hex Editor now updates its status when MHS detaches.
  • Added Speed Hack.
  • Added the ability to preprocess files as C (__cplusplus not defined).
  • Fixed the bug related to modifying Stored Values that do not have Auto-Assemble scripts.
  • Fixed the loading of the Use Complex Address setting on Stored Values.

Update (11:08 PM 12/9/2007):

MHS4.0.0.10.rar has been added to the download page.


  • Auto-Assemble templates created with right-clicks in the Disassembler are now added to the already-open Auto-Assemble window (if it is open already).
  • Auto-Assemble added to Stored Addresses (values added to the main list). Addition includes the [ENABLE], [DISABLE], and [GLOBAL] optional tags.
  • Auto-Assembler parser is now more advanced and allows module:function to be used anywhere.
  • db commands in the Auto-Assembler are no longer restricted to one type of data (string, Unicode string, or hex string). db commands can now include any mixture of any types of data and now including labels and module:function types.
  • rep, repe, repz, repne, repnz, loop, loope, loopz, loopne, loopnz, pushad, popad, pushfd, popfd, iretd, pusha, popa, pushf, popf, iret, db, dw, dd, and dq are now highlighted in the Auto-Assembler editor.
  • dw, dd, and dq added to the Auto-Assembler.
  • API Hook template added to the Auto-Assembler.

Did you find a bug? Want to comment about the software? You should e-mail me at yogurtemperor[at]hotmail[dot] removeThis com right away.

Free Web Counter

Copyright © 2004 L. Spiro