Sign in to follow this  
Followers 0
Hirax

Memory Writer

2 posts in this topic

#1 ·  Posted (edited)

Hello everyone today I decided that I wanted to dabble in memory. So I made this, it edits memory for you. It can't search values and address's or anything but it can edit one address at a time so far. I'm not really sure if this hasn't been done yet but here is my version. It requires two includes GUIConstants.au3 of course and NomadMemory.au3. Now there were about three includes I looked threw that could deal with memory and I chose this one it was quite easy to use really. So here you go the download pack comes with the includes and the source of course. If you have any suggestions or anything like that then just reply. Also there are a few things I am going to add to this I guess I'll add them later though.

Download 4 KB:

http://files.filefront.com/Memory+Writer+v...;/fileinfo.html

Screen shot of memory writer.

Posted Image

;Includes/NoTrayIcon Starting
#Include <NomadMemory.au3>
#Include <GUIConstants.au3>
#NoTrayIcon
;Ended


Global $NameOfProgram = InputBox( "Program Title" , "Please insert what program you would like to write memory to." )
Global $Adress = InputBox( "Adress" , "Please insert what adress you would like to write to.  Note: Must be in hexidecimal format" )
Global $Value = InputBox( "Value" , "Please insert what value you would like to be written to the adress.")
;Ended


Func  _On()
    Global $PID = WinGetProcess( $NameOfProgram );Getting the program's PID number
    Global $DLLHandling = _MemoryOpen( $PID ) ;Opening the programs memory, must be done if you want to Read/Write memory
    Global $ReadOrginal = _MemoryRead( $Adress , $DllHandling ) ;Reading the orginal value, needed for the _off function
    $Writing = _MemoryWrite( $Adress , $DLLHandling , $Value ) ;Writing the value (you wrote) to the adress (You wrote)
    _MemoryClose( $DLLHandling ); Closing memory witch was prevously opened
EndFunc

Func _Off()
    $AgainOpeningDLL = _MemoryOpen( $PID );Opening memory so I can write to it.
    _MemoryWrite( $Adress , $AgainOpeningDLL , $ReadOrginal ) ;Writing the value that was retrived from the $ReadOrginal value
    _MemoryClose( $AgainOpeningDLL );Closeing memory again
EndFunc

Func _Close()
    Exit
EndFunc

GUICreate( "Memory Writer" , 400 , 110 )
GUISetState()

$OnButton = GUICtrlCreateButton( "On" , 5 , 5 , 130 , 30 )
$OffButton = GUICtrlCreateButton( "Off" , 5 , 40 , 130 , 30 )
$CloseButton = GUICtrlCreateButton( "Exit" , 5 , 75 , 130 , 30 )
GUICtrlCreateLabel( "Address You Are Writing To:  " & $Adress , 145 , 11 )
GUICtrlCreateLabel( "Value Written To Address:  " & $Value , 145 , 46 )
GUICtrlCreateLabel( "Program Attached To:  " & $NameOfProgram , 145 , 81 )

While 1 
    $msg = GUIGetMsg()
    Select
    Case $msg = $OnButton
        Call( "_On" )
    Case $msg = $OffButton
        Call( "_Off" )
    Case $msg = $CloseButton
        Call( "_Close" )
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    EndSelect
WEnd
Edited by Larry

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0