![]() |
|
|
|
| ||||||
|
Welcome to the The ProgrammersTalk Community forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
![]() |
![]() | | LinkBack | Thread Tools | Display Modes | ![]() |
| |||
| DMA - Reading the value,not changing Hi. There is a program that uses DMA (i think) the memory address keeps on changing on each restart. Where this value is displayed is in a runtime created window,might that be the reason the mem add is changing? (can't remember if i close the window and open it again if the mem add changes....) but I only need to read this value (for analysis) so I need an exact address to this value. (oh and multiple windows can be opened with different figures) Help? |
| |
| ||||
| What is DMA sorry if I sound dumb |
| The Following User Says Thank You to HelloWorld For This Useful Post: | ||
TeraTask (09-04-2007) | ||
| ||||
| Well, if the program is accessing memory directly and the program is directly changing it's address, it sounds like the program is the thing you need to go to the program's documentation or learn how to read your memory to find the memory address being directly accessed. That's my guess, but that's just based on the fact that the methodology is called direct memory access. As for memory addresses changing on window close, I believe it's true if the window is disposed and then recreated, but not if it's just hidden. I could be wrong here, but that's just what seems to make sense to me. |
| |||
| You get two types of DMA, direct memory access and what this program uses Dynamic Memory Allocation, which means every time the program is restarted it grabs a set of new memory addresses. Is there a way i can get the memory address from the code of the program? (as it never changes address). I know you can do this with games to NOP the instruction that decreases/increases the value but i only need to "read" this value. |
| |||
| I have found a way to get the DMA address from the code (code injection), only problem is I cannot move this value to the .code section of the exe, it gives me a "Access volation" error. I noticed that i can move this value to anywhere "After" the code section, but maby i'll overwrite some data the program needs. Does anyone know how to write a value to the .code section? you can do this with cheat engine, or a programming language (using writeprocessmemory) to write it (it works fine) but i need to do this in asm in my code cave so i can store the DMA address into a static location. Any help? |
![]() |
| Thread Tools | |
| Display Modes | |
| |