[Question] Making dynamic address static

05/11/2009 01:22 ookamocka#1
as the title states... i'm not looking for exactly how to do it (though that would be great)... but at least a push in the right direction... thx :)
05/11/2009 04:03 bgreen#2
u need to get the address of the pointer that stores the dynamic address, then u just look on the address thats on that pointer.
int* p = new int();
-------------------
int value = readmemory(readmemory(p));

this is just a pseudocode, but this is basicly how u do it
05/11/2009 04:30 ookamocka#3
Quote:
Originally Posted by bgreen View Post
u need to get the address of the pointer that stores the dynamic address, then u just look on the address thats on that pointer.
int* p = new int();
-------------------
int value = readmemory(readmemory(p));

this is just a pseudocode, but this is basicly how u do it
ah ok, so basically just find wat accesses that address...

so basically.. if your looking for a... you have to find what accesses a, lets say it's b... so you read wat the value of b is and and it'll give you a value which is equivalent to the address of a, then read a with the new obtained value (which is the address)... am i getting this right?

or would it be a little more complex then that, i.e. that reading the value of the pointer isn't gonna necessarily give you the address of what it's pointing to... or is it that easy?

EDIT:ok ok... so it was a little more complicated then what i thought... but i finally found it, sort of.. i don't know how to use the information i have properly... but the address of the pointer is Conquer.exe+001DB888 when an offset of 18... wat does that mean exactly as far as finding the address of the pointer? is it the processing ID of the Conquer.exe and litterally add it to the hex value 001DB888... and then i'm not sure exactly what to do w/ the offset?

EDIT:nevermind i think it's watever the process ID of Conquer.exe is + 001DB888 + 18, all in hex... and that'll give you the address to health whatever it might be... did i do this right?... this leads me to ask... does anyone know how to add hex in AutoIt? :) i'm assuming i need a class file (don't know what it's called in AutoIt but in java i guess it would be class file . . .) that has a function that'll do this? (tried searching if i could find one online w/o ne luck)... or maybe there's already a predefined function in AutoIt that can do this that i don't know of?

EDIT:lol another edit... but ne way... looks like there's more to it then just the process ID of Conquere.exe + 001db888... because if that was soo... i should come up with (in this case) 001db888 + 00000CE0 = 01b2faa0 (before adding the offset)... however i instead got 1e868... which is nowhere near... what am i missing... if it's not the process ID of the Conquere.exe... then what does Conquer.exe+001db888 mean? >.<

lol so many edits XD
05/11/2009 06:49 bgreen#4
ok, on the cheatengine or tsearch find for the health u have, then get the address of it, lets say its 345235 in decimal, u use it to search for a 32bit variable, that should be the pointer of the health, then when u want to see the health u look into that address, to get the address of the health variable, then u use this address to get the health value
05/11/2009 07:27 ookamocka#5
Quote:
Originally Posted by bgreen View Post
ok, on the cheatengine or tsearch find for the health u have, then get the address of it, lets say its 345235 in decimal, u use it to search for a 32bit variable, that should be the pointer of the health, then when u want to see the health u look into that address, to get the address of the health variable, then u use this address to get the health value
i was gonna test what ur saying when i came to a problem... i can't even find the dynamic health address anymore... wtf?! -_-
05/11/2009 09:17 high6#6
[Only registered and activated users can see links. Click Here To Register...]

Anyways your wording is wrong. You don't "make a dynamic address static". You find the pointer to the "dynamic memory".

Also this stuff is really simple if you learn a bit about C++/Assembly/VirtualMemory...
05/11/2009 18:41 ookamocka#7
Quote:
Originally Posted by high6 View Post
[Only registered and activated users can see links. Click Here To Register...]

Anyways your wording is wrong. You don't "make a dynamic address static". You find the pointer to the "dynamic memory".

Also this stuff is really simple if you learn a bit about C++/Assembly/VirtualMemory...
ya i've already realized that it's not that you make the dynamic address static... the only reason i said that was looking through old threads any time someone would talk about mob/other chars/health/mp addresses they always say "gotta make the address static first" which confused the hell out of me with what their saying... finding the pointer makes A LOT more sense

and ya i already know a bit about VM, Assembly i'm still working on but i'm starting to get the hang out of already... and as far as C++ goes... i'm not all that great with, i wanted to do this all in Java, but couldn't figure out how to (probably cuz it's not OS dependant)... I'm pretty good with BASIC, so i could probably do this in BASIC/AutoIt as i have already started with it (i.e. AutoIt)

anyway... wtf is an FDword? i know what a Dword is, but not FDword?

EDIT: btw... y is it i can't search for health anymore, i just did it yesterday... but i cant seem to get it working anymore... searched for a 4 byte value of my max health, go get hit a couple time, search for a changed value, and voila i got the current address to where my health is... but now when i try, i don't get any addresses... so i can't find it anymore... i litterally just did this yesterday, and can't do it now, y? -_-... no there was no patch or ne thing so idk?
05/11/2009 19:56 _fobos_#8
Quote:
Originally Posted by ookamocka View Post
ya i've already realized that it's not that you make the dynamic address static... the only reason i said that was looking through old threads any time someone would talk about mob/other chars/health/mp addresses they always say "gotta make the address static first" which confused the hell out of me with what their saying... finding the pointer makes A LOT more sense

and ya i already know a bit about VM, Assembly i'm still working on but i'm starting to get the hang out of already... and as far as C++ goes... i'm not all that great with, i wanted to do this all in Java, but couldn't figure out how to (probably cuz it's not OS dependant)... I'm pretty good with BASIC, so i could probably do this in BASIC/AutoIt as i have already started with it (i.e. AutoIt)

anyway... wtf is an FDword? i know what a Dword is, but not FDword?

EDIT: btw... y is it i can't search for health anymore, i just did it yesterday... but i cant seem to get it working anymore... searched for a 4 byte value of my max health, go get hit a couple time, search for a changed value, and voila i got the current address to where my health is... but now when i try, i don't get any addresses... so i can't find it anymore... i litterally just did this yesterday, and can't do it now, y? -_-... no there was no patch or ne thing so idk?
Java is derived from C++ sure some differences but programming is programming, even syntax looks familiar to C++.
So a decent java programmer should do decent in C++ I'd say.
Could you explain to me why programming a bot is so much harder then writing any other program?
It's all functions right, all the same :p
(btw i read this myself, and it could be read like i was saying it to be a dick, read it in a nice way cuz thats how i mean it.)
05/11/2009 20:10 ookamocka#9
Quote:
Originally Posted by _fobos_ View Post
Java is derived from C++ sure some differences but programming is programming, even syntax looks familiar to C++.
So a decent java programmer should do decent in C++ I'd say.
Could you explain to me why programming a bot is so much harder then writing any other program?
It's all functions right, all the same :p
(btw i read this myself, and it could be read like i was saying it to be a dick, read it in a nice way cuz thats how i mean it.)
obviously both Java and C++ are very similar seeing as they're both oo... but basically, it's just the little differences that i know will get me since i've been working with java for so long now... i'll write it out and be like... wtf i know it's right, and it'll end up being a small stupid mistake where it's right in java, but u do it slightly different in C++... such as a simple example...

C++
Code:
std::cout << "Hello," << "world!\n";
Java
Code:
System.out.println("Hello," + "World!");

EDIT: anyway, anyone know y i can't find the value for HP even though i just did it yesterday? :(
05/11/2009 20:25 high6#10
Quote:
Originally Posted by ookamocka View Post
ya i've already realized that it's not that you make the dynamic address static... the only reason i said that was looking through old threads any time someone would talk about mob/other chars/health/mp addresses they always say "gotta make the address static first" which confused the hell out of me with what their saying... finding the pointer makes A LOT more sense

and ya i already know a bit about VM, Assembly i'm still working on but i'm starting to get the hang out of already... and as far as C++ goes... i'm not all that great with, i wanted to do this all in Java, but couldn't figure out how to (probably cuz it's not OS dependant)... I'm pretty good with BASIC, so i could probably do this in BASIC/AutoIt as i have already started with it (i.e. AutoIt)

anyway... wtf is an FDword? i know what a Dword is, but not FDword?

EDIT: btw... y is it i can't search for health anymore, i just did it yesterday... but i cant seem to get it working anymore... searched for a 4 byte value of my max health, go get hit a couple time, search for a changed value, and voila i got the current address to where my health is... but now when i try, i don't get any addresses... so i can't find it anymore... i litterally just did this yesterday, and can't do it now, y? -_-... no there was no patch or ne thing so idk?
I linked to the source in that post....... FDword is just a class that TQ made/uses....

You can't search for it because it is "encrypted" inside the FDword. You probably just found a temporary address.


Quote:
Originally Posted by _fobos_ View Post
Java is derived from C++ sure some differences but programming is programming, even syntax looks familiar to C++.
So a decent java programmer should do decent in C++ I'd say.
Could you explain to me why programming a bot is so much harder then writing any other program?
It's all functions right, all the same :p
(btw i read this myself, and it could be read like i was saying it to be a dick, read it in a nice way cuz thats how i mean it.)
no... Just because the syntax looks familiar doesn't make them the same...

Really? So programming a game takes the same skill/time as programming a calculator?
05/11/2009 20:44 ookamocka#11
Quote:
Originally Posted by high6 View Post
I linked to the source in that post....... FDword is just a class that TQ made/uses....

You can't search for it because it is "encrypted" inside the FDword. You probably just found a temporary address.
ah ok that makes a lot more sense lol... umm... how did u go about finding their class file?

but i guess since i'm using AutoIt, i'm gonna have to convert that to AutoIt before i can make use of it >.< lol
05/11/2009 22:53 _fobos_#12
Quote:
Originally Posted by ookamocka View Post
obviously both Java and C++ are very similar seeing as they're both oo... but basically, it's just the little differences that i know will get me since i've been working with java for so long now... i'll write it out and be like... wtf i know it's right, and it'll end up being a small stupid mistake where it's right in java, but u do it slightly different in C++... such as a simple example...

C++
Code:
std::cout << "Hello," << "world!\n";
Java
Code:
System.out.println("Hello," + "World!");

EDIT: anyway, anyone know y i can't find the value for HP even though i just did it yesterday? :(
Cant really judge on different outputting..
Data types and variables are similar, variables are defined the same, fine classes work somewhat different so fine theres some syntax adjusting but its not the end of the world :p

Id say a few days/weeks or so would get you used to the small differences and there's always MSDN to look things up :)
Quote:
Originally Posted by high6 View Post
I linked to the source in that post....... FDword is just a class that TQ made/uses....

You can't search for it because it is "encrypted" inside the FDword. You probably just found a temporary address.




no... Just because the syntax looks familiar doesn't make them the same...

Really? So programming a game takes the same skill/time as programming a calculator?
Lol, How can you make that comparison?
I said nothing about skill or time, I asked the difference between a bot and a 'calculator' ;)
05/11/2009 23:00 high6#13
Quote:
Originally Posted by _fobos_ View Post
Lol, How can you make that comparison?
I said nothing about skill or time, I asked the difference between a bot and a 'calculator' ;)
That is the same thing lol. Both require different skills/time.
05/11/2009 23:22 _fobos_#14
Quote:
Originally Posted by high6 View Post
That is the same thing lol. Both require different skills/time.
I disagree but thats getting offtopic here :p
If you know how to make a calculator in C++ you know how to make a bot aswell, the difference is that for a bot you might have to use google more.
Sure both require a different amount of time but hey thats with every project different :p
it depends on the quality of the program if you ask me, i mean you can make a very simple basic console game just like you can make a simple calculator fine it takes a different amount of time but same 'skill' fine if you go into 3D and all ofcourse it requires more experience but I cant really compare something simple to something more advanced thats my opinion tho if you think different thats fine with me dont have to think the same :p
05/11/2009 23:35 high6#15
Google doesn't have the answer to everything.

Quote:
If you know how to make a calculator in C++ you know how to make a bot aswell
You know how incredibly stupid that sounds?

You contradict yourself with your next statement too.
Quote:
the difference is that for a bot you might have to use google more.
Googling something generally means you don't know it... otherwise why use google?