Send big files the easy way. Files too large for email attachments? No problem!
theres a much cheaper version of the book btw =P
Send big files the easy way. Files too large for email attachments? No problem!
theres a much cheaper version of the book btw =P
awesome... thank you cypher...
Err, I don't see how that answers his question or helps at all....
He wants to learn to know how to read object names and learn to reverse engineer, object interaction has nothing to do with that...
If you linked it because of the information on how to call virtual functions that won't do much good because he doesn't even know the basics. He's best off reading the book I linked as it's an excellent resource.
Best learning experience is from making mistakes imo =P not reading books. I have never once read a book about ASM, C++, Memory Editing, or Reverse Engineering. Shit... the last book i read without my school telling me I had to was the Harry Potter series =P
To answer the original question...
got the offsets from this thread, thanks to whoever posted themCode:ReadProcessMemory( hProcess, (LPVOID)(dwCurDspObj + 0x224), (LPVOID)&ObjectNamePointer, sizeof(ObjectNamePointer), &dwBytesRead ); //This is also held at a static address ReadProcessMemory( hProcess, (LPVOID)(ObjectNamePointer + 0x78), (LPVOID)&ObjectNamePointer, sizeof(ObjectNamePointer), &dwBytesRead ); //This is also held at a static address if (ObjectNamePointer != NULL) //This will make sure that the name pointer exists { char c; //Character we are using to collect the name memset(Name, 0, sizeof(Name)); for (int i=0; ; ++i) //I did not know the maximum length of the string held at this offset, so I looped through the memory until I got to a 0. { ReadProcessMemory( hProcess,(LPVOID)(ObjectNamePointer+i), (LPVOID)&c, 1, &dwBytesRead); //reads the memory 1 byte at a time and stores it in c Name[i] = c; //Puts the letter c into the first part of an array Name if (c == ' ') break; //Stops when we hit a zero } }
Following that approach you'll NEVER be able to get the depth of information required to get REALLY good. Sure trial and error works, but ONLY after you have the groundwork down and a solid framework to start with.
PS. No offence but what you said about never reading a book about ASM/C++/RCE is evident from your posts. Trust me, if you read the book I linked you'll like it, and you'll learn a lot.
He was talking about learning how to send keystrokes for a fishbot. Someone mentioned having to inject a DLL in order to interact with something. Whereas it's definitely the best and easiest way, it's not the only one, and I don't think that anyone would turn down another source of information on the subject. I was only trying to help.
Your book, plus a small outline on virtual functions, plus a little bit of the information contained in my article will give him all the tools he needs to do it in whatever manner he wants. I'm a strong proponent of having as much information available as possible.
This how you press keys in C++.
Code:keybd_event((unsigned char)'A',0,0,0); // key in keybd_event((unsigned char)'A',0,KEYEVENTF_KEYUP,0);// key out
yeah i'll just stick to reading the book... lol.. already have it ordered anyways... thats how i learn anything... love reading...
also... i managed to figure out sending keystrokes using PostMessage()... seeing as doesn't mouse_events send the event to whatever object has focus?? Postmessage allows me to send it to any window that i have a handle too... my problem is just figuring out how to control the mouse using PostMessage(), i have mouse clicks, just trying to figure out mouse movement... but at the same time, scanning the screen for the fishing bobber is a hassle... lag is a big effect and sometimes it'll overshoot the bobber... i was thinking about the .dll injection that everyone is talking about and i think it would be the best way to go... It would be harder to do but it would be a hell of a learning experience... and it'll also fix the problem of when you get a$$es that like to swim ontop of your bobber...
Last edited by arynock; 07-21-2008 at 10:35 PM.
that would work and all and that was something i was really looking into... but i just dont understand... why do people make fishing bots that do the whole finding pixels and searching the screen for a color... i have just read that there is alot that can go wrong with them like shadows and such... and i whipped up my own fairly quick that works decently... i just get in the habit of trying to make something error-proof which is likely to ever happen... but as the subject with if someone was messing around and swimming on bobbers... using the interact function from within the WoW process would completely eliminate this problem, would it not?
Very much so, providing you check to make sure the CreatedBy GUID is your local players guid, calling the Interact function should never fail. There is an ever deeper function which takes an "autoloot" parameter so you could have it autoloot your fish independant of your actual autoloot game setting.
okay i find it extemely amazing that you guys somehow manage to find these functions out... so i'm gonna have to read this to learn how to do all this stuff...