Jump to content
Sign in to follow this  

nomadmemory & memorywrite problem

Recommended Posts

We have a system which displays a message like : "Visit http://www.xyz.com for support" every 60secs.

I want to change this message in order to notify users to logoff immediately.

The attempt to find the address of the message and read it was successful, and even modifying it using OllyDbg, but I would like to have a script running (with GUI preferrably) so that anyone can simply click a button and change the message to "Servers will go down in 30mins" and later to "log off NOW!".

Here is my autoit code

#include "NomadMemory.au3";
SetPrivilege("SeDebugPrivilege", 1)
#Include <String.au3>

Global $Prog_ID=WinGetProcess("[CLASS:Mainproc]")

MsgBox(0,"Prog ID",$Prog_ID)

$Address= 0x00F9C804  ;Address holding the message

$result = _MemoryOpen($Prog_ID)


if @error > 0 Then

$welcome_string = _MemoryRead(0x00F9C804,$result,'char[47]')

MsgBox(0,"Current message",$welcome_string)

$newstring = "Log Off NOW!" & _StringRepeat(" ", 46 - StringLen("Log Off NOW!"))

$res = _MemoryWrite(0x00F9C804,$result,$newstring,'char[47')


$welcome_string = _MemoryRead(0x00F9C804,$result,'char[47]')

MsgBox(0,"New message",$welcome_string)


The original message is read and displayed in MsgBox, _MemoryWrite doesn't return any error but last MemoryRead displays the original message. Still the message isn't changed. As I mentioned above, if I change it using ollydbg then users see the message after few seconds.

Testing is done on Vista Ultimate 32bit.

Any ideas?

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  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...