Jump to content
Sign in to follow this  
Justforfun

Windows Versions Help

Recommended Posts

Justforfun

Ok,

I have made a autoit program that reads my characters level and I amworking on a C++ program that will read the output result of the autoit and display it on my game community website so that ever time I log in to the game it reads my current level which will be then updated on my profile. So dont go yelling at me this is not a Bot.

Ok so heres the problem the autoit program works fine on my Windows 7 when I start my game, but when I try to run it on my other computers it will not read the memory and display the result or anything like it does on windows 7 my other OS's are Windows XP and Vista any ideas of how I can make it work on other OS's other than Windows 7 here is the code

#include <Nomadmemory.au3>
SetPrivilege("SeDebugPrivilege", 1)


$ID = _MemoryOpen(ProcessExists("TwelveSky2.exe"))

While 1
    Level()
    Sleep(1000)
WEnd

Func Level()
    $Start = _MemoryRead(0x0008b9f8, $ID)
    If $Start = 48 Then
        $Level = _MemoryRead(0x014b4f62, $ID, "byte")
        MsgBox(4096, "Current Level", "Your Current Level Is  " & $Level)
        EndIf
        EndFunc

I was wondering if I need to use somthing like Wingetprocess or somthing like that to make it work on windows xp and vista. Thank ahead of time for any help.

Share this post


Link to post
Share on other sites
Ascend4nt

A few things

1. Nomad Memory is not 64-bit safe. Do not use that from a 64-bit Process, or for a 64-bit Process.

2. Make sure your memory addresses are right, and based on an offset. This means getting the module base address of game.exe and adding the memory offset to it.

3. Different O/S's.. hmm, got me if the address offset would stay the same on a different O/S. You should rescan with CheatEngine or whatever

Share this post


Link to post
Share on other sites
Justforfun

A few things

1. Nomad Memory is not 64-bit safe. Do not use that from a 64-bit Process, or for a 64-bit Process.

2. Make sure your memory addresses are right, and based on an offset. This means getting the module base address of game.exe and adding the memory offset to it.

3. Different O/S's.. hmm, got me if the address offset would stay the same on a different O/S. You should rescan with CheatEngine or whatever

Edited by Justforfun

Share this post


Link to post
Share on other sites
Justforfun

Hello,

Well after looking into the problem farther it seems its not the OS version as in xp or vista or 7 its the OS its

it works on 64 bit but will not work on 32 bit OS systems I tried it on my moms Windows 7 and its 32bit and it failed to work. I have it compiled to 86x so it should work fine I dont know if it is autoit or the game that causes this and ideas

Share this post


Link to post
Share on other sites
Justforfun

it appears that it is not reading the address it is the correct address but it will not read it on 32bit OS systems it runs fine just wont read memory address and return lvl like it does on a 64 bit OS anyone help please

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  

×