greko2009 0 Posted December 31, 2010 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 #RequireAdmin #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) $Game_Memory=_MemoryGetBaseAddress($result,1) if @error > 0 Then MsgBox(0,"Error!",@error) EndIf $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') MsgBox(0,"AnyError",$res) $welcome_string = _MemoryRead(0x00F9C804,$result,'char[47]') MsgBox(0,"New message",$welcome_string) _MemoryClose($result) 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
greko2009 0 Posted December 31, 2010 Sorry, I found the problem. a ] missing in memorywrite Share this post Link to post Share on other sites