Log in

View Full Version : Octopus - Additional notes



skarlot
06-25-2008, 04:03 AM
The purpose of this is to detail stuff that doesn't belong in the setup guide.

1) Can I get the code?
2) About the injected DLL?
3) Allowing a toggle key to pass through
4) The Alt-Tab window gets stuck?
5) An easier way to exit with 'close to systray'?

1) Can I get the code?

No, there is no ambiguity on this matter now. It is closed-source. It has been open source for 6 months, which is extra work for myself to keep it to that standard, but hasn't really helped the project, even to the point of a single bug fix or such.

2) About the injected DLL?

Is it safe???
DLL injection isn't inherently unsafe. A quick glance at processes with OllyDebug (for example) will reveal third party DLL's in all processes most likely. Not limited to virus scanners, rogue software (like Apple Bonjour) and so on. Windows provides many valid global hooks that inject DLL's into all processes after execution (AFAIK) such as the computer business training hook (lol). It is also theoretical any 3rd party desktop theming software would do so. An open source program written to monitor Warden called the Governor *tries* to do this (although the code seems to be borked). Fraps also needs to do this. So it would be reasonable to conclude that its a safe practice as far as with WoW. Without giving too much away, my DLL does not attempt to modify the way WoW behaves in it's own code, but rather is the middle-man between the OS and the game, by detouring system calls, and gives WoW the impression the cursor is here or there, because Windows only has one real cursor. No additional threads are created in WoW - it is a simple passive system triggered by sending WoW windows messages, and obtains it's information via shared memory. It is well within Blizzard's capability to block background clicks all together, if they really cared, so I wouldn't be concerned.

Is it detectable???
Probably, I should think so. It will make no attempt (ever) to hide from Warden, however. Should it be banned / blocked on login, it will not return. But you must remember, that by writing this software I am helping Blizzard's revenue, and for them to go as far as banning an account, is highly unlikely since they will risk this software dissapearing all together. In reality, they probably know about this program by now, and are quite happy that the effort is being made, since it is way beyond any effort they seeming make to fix their follow bug!! Using Octopus without hooking WoW windows (via profile) is the same as before.

How does it modify current, pre-1.3.3 behaviour?
Any number of WoW windows can be hooked. Doing so by default, removes the need for the click-activation. It also force enables the window to receive broadcast clicks. Broadcast clicks only work this way if cursor broadcast is on as well, otherwise the clicks will revert to the cyclic method. For multi-window cursor broadcast to work on non-active clients, each client must have a cursor broadcast window to determine where the real cursor should go.

3) Allowing a toggle key to pass through?

Yes this is possibly by mapping a key to itself, before setting the key as a toggle, or whilst broadcast pausing is active.

4) The Alt-Tab window gets stuck?

Pressing escape will destroy the alt-tab window if it gets stuck. Something about the hooks it doesn't like.

5) An easier way to exit with 'close to systray'?

By holding shift and clicking the control box (X) it will force exit.

thmsn
06-30-2008, 08:50 AM
Like your work with octopus, too bad you've gone back to closed source, but it is understandable if you have a big overehad doing it and noone is using it thus giving you "credit" for the efforts of having it opensource :)

I've not run into any bugs with it as of yet else i'd would probably have taken a peak at it trying to fix it :)

Vyndree
07-02-2008, 07:40 PM
Would be great if someone would move these posts to the wiki ('http://www.dual-boxing.com/wiki') as well. ;)

This is the sort of reference material that would be great to have there as well as on the board. :)

Evil Kerek
07-02-2008, 11:22 PM
Open soure has it place. As far as tools like this, one only has to talk to the Ace Updater guy to see what kind of hell open source can put you in. People didn't like he was trying to help Ace pay for bandwidth with some unobtrusive ads (the software was free) so they immediately took all his hard work, ripped out the ads and put up a different version. It was quite a mess - so now the program is dead in the water and no longer being maintained. The ad rippers apparently couldn't be bother to update the software after they ran off the original author. Thanks 8)

That's probably the main issue I have with open source - I code for a living and honestly I have no issue handing source code to anyone that asks for it - I firmly believe anything can be written by anybody - no one's code is that great - but there's no way I'm saying 'here, take it, recompile it and give it away'. The idea that other people are gonna sweep your code is pretty silly anyway. Anyone with the skill to actually to find bugs is most likely too busy with their own software project to just randomly scan your code for bugs - or look for security holes - I've never bought into that and find it amusing when people suggest that's going to happen. There are very few coders that WANT to walk someone elses code when they are being PAID for it, much less for free.

I know I have more clients than I can handle and barely have time to game.

:D EK

skarlot
07-03-2008, 01:15 AM
im not sure what i was thinking when i figured i'd open source - that it'd be fairly easy, i knew it wasn't really anything anyone else could contribite too easily since it's not very modular in any way, but i thought it might be of some benefit, if someone had some obscure bug or something, with a particular OS or something like that, but in reality, apart from learning about SVN, it's a complete and total waste of effort open sourcing it, since i dont wanna leave my scribble in it, and so forth, the burden of checking in code as well is like a fucking job. and no one is paying me here lol. now that it has directx hooks and so on i dont want to hand it out on a plate to someone who might like wow in polygons :P many reasons against, no reasons for. i'll try add it to the wiki.

Shiena
07-03-2008, 04:11 AM
The only sad thing is that you dumped Open Source exactly on the day I discovered your work and was downloading it to add localization to it. Was looking into adding support for other languages, and then you released 1.3.2 and quit Open Source ;( Have you considered PayPal donations? I'm sure a few would donate for your work (I would).

Evil Kerek
07-03-2008, 08:52 AM
Skarlot, I hear ya! The thread started me thinking on what the additional workload would be to publish. I mean I source control everything - but working in tandem with other people takes co-ordination. And of course, yah, I got lots of code here written by edict of 'can you have this done last week' that I'd hate for other people to see. The ol' real world meets coding practices.

You should definitely consider a paypal contribution system. Honestly I've only toyed with octopus so far (been playing wow and using Keyclone up to this point) but I'm about to fool around with LOTRO and looking forward to seeing how it performs.

EK

Blubber
08-19-2008, 03:12 AM
That's probably the main issue I have with open source - I code for a living and honestly I have no issue handing source code to anyone that asks for it - I firmly believe anything can be written by anybody - no one's code is that great - but there's no way I'm saying 'here, take it, recompile it and give it away'. The idea that other people are gonna sweep your code is pretty silly anyway. Anyone with the skill to actually to find bugs is most likely too busy with their own software project to just randomly scan your code for bugs - or look for security holes - I've never bought into that and find it amusing when people suggest that's going to happen. There are very few coders that WANT to walk someone elses code when they are being PAID for it, much less for free.

Looking at other people's code is basically what I do all day long. Both as a job, but also as an effort to support my linux distro.

Ughmahedhurtz
08-19-2008, 02:04 PM
Would be great if someone would move these posts to the wiki ('http://www.dual-boxing.com/wiki') as well. ;)

This is the sort of reference material that would be great to have there as well as on the board. :)http://www.dual-boxing.com/wiki/index.php/Octopus

Done. :)