Jump to content

chat program

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
9 replies to this topic

#1
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
i found the memory address for the chat string for the game i play. maybe we could use this thread to help me be able to dump all the text into a simple command prompt using this memory address using visuall c++.

thank you :)

#2
Lop

Lop

    Speaks fluent binary

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,172 posts
Which version of C++ are you using?

I'm not sure how you would specify what memory to use and then what type to cast it to. This sounds a bit complex and I can't find anything on google.

#3
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
i found this in a forum, and it read "here are the complete and working functions for reading and writing to a program from your C++ app."

it means absolutley nothing to me, but i believe it is what i want and it is designed for the game i want too

//###################### READBYTES 
void ReadBytes(DWORD lpBaseAddress, void *lpBuffer, int nSize) 
{ 
   HWND hwnd = FindWindow(NULL,"Delta Force,  V1.5.0.5"); 
   DWORD proc_id; 
   GetWindowThreadProcessId(hwnd, &proc_id); 
   HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id); 
   if (hProcess != 0) 
   { 
      ReadProcessMemory(hProcess, (void *) lpBaseAddress, lpBuffer, nSize, NULL); 
   } 
   CloseHandle(hProcess); 
} 

However, i have no idea how or where to specify the particular memory address i have

#4
Sionofdarkness

Sionofdarkness

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 384 posts
What's a memory address?

#5
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
its a unique identifier in the memory that can be called upon later

in my case each time someone types something in a chat it is stored in the computers memory, the memory address is therefore the "variable" so-to-speak that corasponds to the chat strings that are stored in the memory

my problem is trying to call the memory address from a 3rd party program

#6
TcM

TcM

    Writes binary right handed and hex left handed

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 11,147 posts
So you are trying to access the memory location that is holding that string?

#7
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
A memory address is a way of accessing a particular location in memory. It is stored in a pointer. The idea is that your computer's memory is vast, and you have to be able to access the particular location where something is stored, so you get the "address" of that particular spot. So if you have 1 Gig of RAM, you have to find the particular 20 or 100 bytes that holds the string, you need its address.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#8
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts

Tcm9669 said:

So you are trying to access the memory location that is holding that string?

yes, and i have no idea how to do it

#9
brackett

brackett

    Programmer

  • Members
  • PipPipPipPip
  • 192 posts

Sidewinder said:

i found this in a forum, and it read "here are the complete and working functions for reading and writing to a program from your C++ app."

it means absolutley nothing to me, but i believe it is what i want and it is designed for the game i want too

//###################### READBYTES 

void ReadBytes(DWORD lpBaseAddress, void *lpBuffer, int nSize) 

{ 

   HWND hwnd = FindWindow(NULL,"Delta Force,  V1.5.0.5"); 

   DWORD proc_id; 

   GetWindowThreadProcessId(hwnd, &proc_id); 

   HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id); 

   if (hProcess != 0) 

   { 

      ReadProcessMemory(hProcess, (void *) lpBaseAddress, lpBuffer, nSize, NULL); 

   } 

   CloseHandle(hProcess); 

} 

However, i have no idea how or where to specify the particular memory address i have

You'd call this method with lpBaseAddress as the memory address, a buffer to store the read data in as lpBuffer, and the number of bytes to read as nBytes.

#10
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
so it would be like this?

//###################### READBYTES 

void ReadBytes(DWORD lpBaseAddress, void *lpBuffer, int nSize) 

{ 

   HWND hwnd = FindWindow(NULL,"Delta Force,  V1.5.0.5"); 

   DWORD proc_id; 

   GetWindowThreadProcessId(hwnd, &proc_id); 

   HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id); 

   if (hProcess != 0) 

   { 

      ReadProcessMemory(hProcess, (void *) 00007EEC1C, chatStringVar, 32, NULL); 

   } 

   CloseHandle(hProcess); 

} 

and then i could like cout << chatStringVar and it will print it? im sure its not that easy...?