I don't code in C# but the know z and the dynamic z must be searched in the same types
I don't code in C# but the know z and the dynamic z must be searched in the same types
as in they must both be searched as a float (4 byte) value? i've converted my buffer (byte[] array) into float and did sucessfully obtain the correct Z value. so next i tried to scan upwards to find the dynamic Z but to no avail. sometimes i'd find it but then tried to hit the found player base address + 0xA54C (mana) to locate the dynamic mana, but that returns 0. so i think i'm deffinately doing something wrong here when scanning for my base address.
Float != 4Byte, I just discovered that searching in 4 byte will just give you a faster result (not much change but...)
Float : -454,4466
4Byte = 22554564
dont use those "4 byte" / "2 byte" names ... its still Long ("8 byte"), Integer ("4 byte"), Short ("2 byte"), Byte / Character, float, double (float*2)..
Easier to use those schlumpf, because I also could say dword etc and then nobody would understand it.
okay so i am searching by 4 byte but using the BitConverter class to convert into a float. You think if i change to converting into a Int16 this might fix it? i'm at work now and can't test the code so won't be able to do testing till i get home.
or did i just confuse my self, i think i need to do BitConvert.ToDouble(); since double = float * 2 correct? and you said float is a 2 byte.
*edit* i found this page Help - IBM Mac OS X Compilers which states:
float 4 bytes
float _Complex 8 bytes
double 8 bytes
double _Complex 16 bytes
long double 8 bytes
Code:int z = 0xDBBCDC; int start = 0x07000BF0; int offset = 0x2000; ProcessMemoryReader procMemReader = new ProcessMemoryReader(); procMemReader.ReadProcess = GetProcess(); procMemReader.OpenProcess(); int bytesRead = 0; byte[] staticZbuff = procMemReader.ReadProcessMemory((IntPtr)z, 4, out bytesRead); int knownZ = BitConverter.ToInt16(staticZbuff, 0); int dynamicZ; do { // read byte[] playerStart = procMemReader.ReadProcessMemory((IntPtr)start, 4, out bytesRead); dynamicZ = BitConverter.ToInt16(playerStart, 0); // increment start += offset; } while (dynamicZ != knownZ); procMemReader.CloseHandle(); Console.WriteLine("found player address @ {0}", start - 0xBF0); Console.ReadKey();
Last edited by localhostage; 12-07-2007 at 04:27 PM.
Yes I know it is, but I never really saw the normal names because everyone is using others. The standard types are unknown to me
okay i found the base address, silly mistakes. i've verified by pulling dynamic x,y,z but when i do base + heath or mana i get 0. are those accurate?
Nice read. I used to toy around in Gunbound with TSearch, it will be fun to hop back into memory editing.
Very good post =) +rep
I found this quite useful, thank you. I'd love if you made some more like it, maybe some info on the mob structs? Forgive me, I've only just started =P
Mig i will be posting an updated Source to the public MMOwned bot.
I'm only going to be releasing the base because the community hasn't supported the project yet and hasn't put forth effort to contribute to it, but it will have last patches' cheap mob structs it has the player structs and is a complete base ready to be a bot.
I'll post it after I finish my job.
Thanks suicidity, sounds good. I was actually going to try and contribute to it, but VB express was giving me a stupid error when I tried to compile. But I'm looking forward to the updated source.