• Welcome to Valhalla Legends Archive.
 

sending text to warcraftiii

Started by Laff, October 05, 2004, 11:01 AM

Previous topic - Next topic

Laff

i need to know if there is a way to send text to the local warcraftiii client and have it be displayed in game.  can i just dummy up a packet that looks like a whisper and send it out with winpcap?  or is there an easier way?  thanks.

iago

I'm assuming you mean during a game.  You follow these steps:

1) press enter
2) typr your message
3) press enter

Hope this helps!
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Laff

-_-

no, i meant from MY PROGRAM.  nice one though.  made me laugh when i read it.

iago

There is an easy way to send keystrokes to a different program.  In VB it's SendKey or something.  Try googling sending keystrokes to other processes from visual basic or something.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Laff

seriously guys this is NOT what i'm asking.  i need to make warcraftiii think it's receiving text, not me actually sending text.

i'm very aware of sendkeys...from my old vb days.  i don't use vb anymore, c# is where it's at.

Zakath

My guess would be that you'll need to hook into and manually call whatever function War3 uses for processing incoming text. Better get out the disassembler!
Quote from: iago on February 02, 2005, 03:07 PM
Yes, you can't have everybody...contributing to the main source repository.  That would be stupid and create chaos.

Opensource projects...would be dumb.

UserLoser.

Quote from: Laff on October 05, 2004, 11:01 AM
i need to know if there is a way to send text to the local warcraftiii client and have it be displayed in game.  can i just dummy up a packet that looks like a whisper and send it out with winpcap?  or is there an easier way?  thanks.

Find out what packet/format/ect and I'll find a way to send it for you

iago

If you want to send it to yourself, that's difficult.  You're going to have to call the actual game's function that processes recieved messages.  To do that, you'll need to execute code in the game's context.  Have fun :)
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


UserLoser.

Quote from: iago on October 05, 2004, 04:13 PM
If you want to send it to yourself, that's difficult.  You're going to have to call the actual game's function that processes recieved messages.  To do that, you'll need to execute code in the game's context.  Have fun :)

That's what i was planning on trying to do :) But i don't feel like getting on war3, joining a ladder game, then finding out what packet it is, ect.  otherwise i'll be re-addicted to war3 :)

Laff

i'm just trying to spoof a packet right...and see if wc3 gets it...we'll see.

MyndFyre

Quote from: Laff on October 05, 2004, 06:00 PM
i'm just trying to spoof a packet right...and see if wc3 gets it...we'll see.

Methinks it would be easier to just use WC3's draw-text function.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

Zakath

Quote from: iago on October 05, 2004, 04:13 PM
If you want to send it to yourself, that's difficult.  You're going to have to call the actual game's function that processes recieved messages.  To do that, you'll need to execute code in the game's context.  Have fun :)

I thought I just said that! I feel like $t0rm here.
Quote from: iago on February 02, 2005, 03:07 PM
Yes, you can't have everybody...contributing to the main source repository.  That would be stupid and create chaos.

Opensource projects...would be dumb.

Kp

Quote from: MyndFyre on October 05, 2004, 06:46 PM
Quote from: Laff on October 05, 2004, 06:00 PMi'm just trying to spoof a packet right...and see if wc3 gets it...we'll see.
Methinks it would be easier to just use WC3's draw-text function.

Assuming they didn't get stupid and forget everything they learned from Starcraft, they're likely storing text messages in some structure for whenever it needs to be redrawn.  If you don't want to have your text wiped at the next update, I'd suggest getting the message stored into that structure.  Either run code in w3 like Zakath said or use WriteProcessMemory to poke the message and supporting bookkeeping directly into the right structure.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Laff

yeh i got no idea how to do that ;)

Forged

check and see what happens when  you send a message and then duplicate it?
QuoteI wish my grass was Goth so it would cut itself