Getting Mods Coords and Attacking

09/11/2010 06:16 PKDemon#1
ok i have been looking into memory based bot

i have found this source here

[Only registered and activated users can see links. Click Here To Register...]

and i have looked through it and i have started a little project and was wondering if i would be hard for me to be able to locate the monster in-game and then be able to attack them using the memory

i have searched the forums but i havent found anything on it or how to do it



----------------
Now playing: [Only registered and activated users can see links. Click Here To Register...]
via [Only registered and activated users can see links. Click Here To Register...]
09/11/2010 16:27 pro4never#2
well I'd strongly recommend reading/writing packets inside memory (pre/post encrypt/decrypt routines so that you don't need to worry about that side of things).


You can create a structure of monsters based on incoming spawn monster packets. This will give you their original X/Y

REMOVE them from struct any time they are:

More than 18 or so spaces from current char position (check dist every time you move)

Any time you receive an attack targeting their uid using type 28(?) or w/e the kill monster subtype is

Any time you attack them more than x times (good for fs bots that get stuck trying to hit a target that is dead/too strong)


UPDATE the struct any time you receive a walk/movement packet from one of them (if not you will have wrong coords

For attacking you will need to handle moving effectively to the target (jumping/walking via packets) and then simply send the attack packet using the target uid (or use a spell on them if you want a archer/tao bot)

It's mostly just logical bot scripting you will need to be careful about in this case.
09/11/2010 17:22 PKDemon#3
well i was wanting to try and make it all memory based

and i dont know anything about packets :|
09/12/2010 02:42 pro4never#4
Ummm it's still memory based lol. If you want to do anything but read you will need to send packets. It's how server/cllient communicate and do things. Read my sticky, it should help you
09/12/2010 05:03 Ian*#5
-----------------------------
09/12/2010 05:11 PKDemon#6
well i dont know C++

i know how to use visual basic 6 and vb.net

and very little C#.net

but i guess i will have to try and figure this out i guess :|
09/12/2010 12:27 shimo diaz#7
[Only registered and activated users can see links. Click Here To Register...]
09/12/2010 14:20 PKDemon#8
Quote:
Originally Posted by shimo diaz View Post
[Only registered and activated users can see links. Click Here To Register...]
thanks i will look through it and see what i can learn from it
09/13/2010 02:24 *M*#9
Heh that hack wasn't really designed to push ASM to the stack, only edit values and such.

It is difficult but possible with VB6 if you want to use only that, tho much easier if you give c++ or something a go through a DLL as you can hook one of the simple functions like chat to activate your code on a command like "/attack" or w/e
09/13/2010 05:42 pro4never#10
Quote:
Originally Posted by Ian* View Post
You can emulate functions from the client using inline assembly or AT&t if you're using a mingw compiler.

What he needs to find is the old sir hooks 0.01 source code, that will help him a lot.
Sorry. Didn't mean to imply it was impossible... it's just SO much easier to read/write packets instead vs tracking down and modifying a different memory offset for every single function you want to do. Any client action or update REQUIRES a packet to be either sent or received so simply hooking the send/receive function and doing it that way certainly seems like the easiest and most efficient way to me...

As I've said before though. I know virtually nothing about memory reading/modification so I could be wrong, just seems alot simpler.


@ thread starter: Packets are really not that intimidating... it's just a structure to send/receive data

Eg:

Length of packet
Type of packet
Who packet is targeting
Subtype of packet
Value
Seal

You then simply write these values using a super simple function and WHAMMO, bot functionality acquired.

EG

Client.SendPacket(Packets.Jump(ToX, ToY, FromX, FromY, PlayerUID));
09/13/2010 06:10 Ian*#11
46 75 63 6b 20 79 6f 75
09/13/2010 08:04 PKDemon#12
well i dont much on C# but i know a good amount in VB.net but i really dont see much stuff in vb.net nor vb6 that deals with like memory based or proxy based bot

but i am willing to learn and if i had like an example of a proxy/memory based bot in vb.net i could learn alot from it and be able to build my own but the only problem i am going to have is that i have not messed with packets so for me to be able to get the packets and then be able to make my own would be the rough part but once i got it down at what i need to do i would be able to do it with out problem
09/13/2010 13:37 pro4never#13
Packet logging ftw..


If you're hooking the send/receive functions in the client then you can simply dump incoming/outgoing packets for types that you don't already know. Once you know hwo a few work, they are rather simple to structure...

+ korvak's wiki is a GREAT reference (even if it doesn't have current tq patch structure it gives you values to look for in the packet)

They really... never remove values from packets, they just shift them around and sometimes add new things so having even older packet versions lets you know "ok... this packet contains these 5 main values at least... lets find out at which offsets they are in current tq patch"


Saves a ton of times.

And afaik there is no vb.net examples because no one bothers making them in those languages... there are lots of great C# examples for basic learning and some c++ references but that's about it..
09/13/2010 14:43 gabrola#14
Use any online C# to VB.NET converter
09/14/2010 09:39 trash#15
Try to have a word with IAmHawtness he loves his vb.