Shoutbox

Hooking Messenger the Plus Way - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Skype & Technology (/forumdisplay.php?fid=9)
+---- Forum: Tech Talk (/forumdisplay.php?fid=17)
+----- Thread: Hooking Messenger the Plus Way (/showthread.php?tid=34504)

Hooking Messenger the Plus Way by RaceProUK on 11-17-2004 at 09:36 AM

* RaceProUK prepares for the inevitable replies from M_E and TB... *-)

I'm interested in the methods used by Plus and SPNG (among others) that hook into Messenger the way they do. Obviously, I'm not suggesting you post the methods here on the forum for everyone and their grandma to read. All I'm looking for is a pointer in the right direction, that's all.

I intend to hook the Messenger API for ProjectRP, and would like to do it in such a way that prevents Windows Messenger from running i.e. avoiding CoCreateInstance().


RE: Hooking Messenger the Plus Way by Banks on 11-17-2004 at 06:50 PM

SPNG writes to the memory with WriteProcessMemory(), I belive and as for plus i'm not sure.


RE: Hooking Messenger the Plus Way by Stigmata on 11-17-2004 at 06:58 PM

well it depends what you currently want to do?

add menus

recieve wparam of messenger clicks

or (what im working on) api hooking :D (internal proxy etc..)

the problem is that plus creates a instance of messenger, so what your trying is a little harder

note the problems between plus and messenger:mate


RE: Hooking Messenger the Plus Way by WDZ on 11-17-2004 at 07:17 PM

The attached code was posted by Patchou on another forum... I dunno how useful it is... :p


RE: Hooking Messenger the Plus Way by Stigmata on 11-17-2004 at 07:38 PM

umm..... any chance that we could see the thread that the .txt file was posted in :)

may be some intresting reading :D


RE: Hooking Messenger the Plus Way by WDZ on 11-17-2004 at 07:42 PM

Just Google for the filename. :tongue:


RE: Hooking Messenger the Plus Way by Stigmata on 11-17-2004 at 07:53 PM

for lazy people =

thread:
http://www.wilderssecurity.com/showthread.php?t=30511
Post :
http://www.wilderssecurity.com/showpost.php?p=267616&postcount=31


RE: Hooking Messenger the Plus Way by RaceProUK on 11-17-2004 at 10:59 PM

quote:
Originally posted by Stigmata
the problem is that plus creates a instance of messenger, so what your trying is a little harder
I thought Plus looks for msnmsgr.exe or msmsgs.exe to start, and extract the IMessenger3 pointer from the address space. That being what I want to do.
RE: Hooking Messenger the Plus Way by Stigmata on 11-18-2004 at 07:00 PM

Firstly i do not want any lovers of plus to go argue with maurio becuase of this post......

quote:
Originally posted by http://www.versoworks.com/forum/viewtopic.php?t=13

No, and it never will be. The reason is a technical one and has to do with how both applications create an instance of the messenger object. Because both apps use a non standard method to do this it causes instability in MSN Messenger if more than one app does it.

but then......
quote:
Originally posted by patch

And for reference, of course Messenger Mate could be compatiblewith Plus!. I know several plugins that use the same technique and we're all compatible, don't hide yourself behind "technial" reasons when there are none. Idon't want to cause troubles to your new project but the very least you could do is being honest.

i see a little war comming on...

quote:
patchou wrote:
And for reference, of course Messenger Mate could be compatiblewith Plus!. I know several plugins that use the same technique and we're all compatible

Really, please name all the other addons that create an instance of the Messenger object without calling CoCreateInstance. I only know M:M and MP! that do this, and of course, you didn't even write the code in MP! to do this, Will did. I've spoken to Will about it and he aknowledges the problem, maybe you should talk to him too seeing you don't seem to understand what the code he wrote for you is doing. You keep hiding behind the line 'Will just saved me some time' but after all this time you've never tried to come up with your own code to do it, I wonder why.


oh look more fun

quote:
Once again,you talk without knowing. Will did a very good job searching for a way to get the Messenger API in MSN Messenger 6 without calling CoCreateInstance(), however, despite the fact that the idea is still the same, I do use a very modified method nowadays, which works better than the original. There's absolutely no problem with it and you're the only one inthe entire community to be complaining about it. Why do you and some others keep bringing him into this kind of discussion when he has nothing to do there? why do you keep saying that I didn't write the code to make Plus! compatible with Messenger 6 when its 100% wrong, stupid and without any real argument?

dum deee dum

In your last public whinge on your forum you stated Will wrote the code, so you need to check yourself. I've never stated publicly you didn't write the code to make MP! compatible with Messenger, so again, please check yourself.

I'm still waiting for you to name all the other addons that you know of that don't use Cocreateinstance, or do I just assume this is another one of your baseless claims?
hmm......
quote:
Anyway, as for naming another plugin, I know itseasy but it's valid: the interactive agents plugin. It's a plugin I made for another company some years ago, it's been revamped and they will start the distribution of the beta version in a week orso (check products from IMT Labs). I had no problem making another plugin compatible with Plus!, and that's why Itell you I still don't see why you are experiencing any.


blah i give up

RE: Hooking Messenger the Plus Way by RaceProUK on 11-18-2004 at 07:55 PM

I won't quote your post Stigmata (far too long), so I'll just get on with it.

I'm not sure how revelant your post is to this topic, but it has reminded me of that whole MP! vs M:M thing, which is something I'd like to avoid if at all possible.
That's why I asked for pointers in the right direction (so I can get a pointer from memory... :S). I would never wish to write anything incompatible with Plus (just look at all the plugins I've written), so of course I'd do extensive testing.

If I can just find a certain pattern in memory and take the address of that as an IMessenger3 pointer, then that should work with Plus yes? Trouble is, what's the pattern to look for?


RE: Hooking Messenger the Plus Way by surfichris on 11-18-2004 at 10:28 PM

quote:
Originally posted by Stigmata
blah i give up
Good, because thats a thread of the past.

You've done nothing but take shots at Patchou recently, perhaps you're jealous, I don't know but please, get them off this forum and stop trying to start things.
RE: Hooking Messenger the Plus Way by Stigmata on 11-19-2004 at 05:24 PM

Please Delete the posts concerning my post before...

my 'thread' if you read posts details into memory hooking for example...

After a quick read...

- Plus uses a non cocreateinstance method created by will
- Mate uses cocreateinstance
and for others here is the syntax for cocreate instance

code:
HRESULT CoCreateInstance( REFCLSID rclsid, LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL );

HRESULT CoCreateInstance( LPCOLESTR szProgID, LPUNKNOWN pUnkOuter = NULL, DWORD dwClsContext = CLSCTX_ALL );


If you feel it nessisary chris, you can prune the post to remove all the argueing.... and if you read the thread which i took it from, you would no that i tryed to only take the bits of intrest.

Now please leave it with that jelousy thing. you are taking things too far. what happened before is over and i accept i am wrong, do you realy need to act the fool and rub it in?
RE: Hooking Messenger the Plus Way by RaceProUK on 11-21-2004 at 05:14 PM

quote:
Originally posted by Stigmata
Plus uses a non cocreateinstance method created by will
This is the method I am interested in.
I'm not asking for the code, just hints so I can discover the method by myself.