#### Archived

This topic is now archived and is closed to further replies.

# Making invisible win32 applications

This topic is 5265 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I want to make an application that can intercept inputs from any program, but at the same time remaining unable to be seen. i''ve tried using hide, but that didn''t get any commands, so how do i do this? Higher Forces

##### Share on other sites
And why, pray, do you want to do this?

##### Share on other sites
because, i want to develop a logging program. just a project. couldnt find what i was lookin for on google, so i thought i would try here.

Higher Forces

##### Share on other sites
If you don''t want it to be visible at first you can just not give it a window, but it will still be seen in the task list. No one here is going to tell you how to get that to disappear since it falls under the category of a virus/key-logger/other nasty thing.

##### Share on other sites
Or it falls under the category of "for educational purposes only".

Go burn some books.

And to answer your question, from what I recall you can use a
ShowWindow(hwnd,SW_HIDE);

It's not reality that's important, but how you perceive things.

[edited by - The Reindeer Effect on August 19, 2003 1:07:17 AM]

##### Share on other sites
Logging program huh. Not to intercept passwords or anything right.

-Mark

P.S. You can't grab all inputs from any program using an exe application (as others seem to be telling you). Note to others, he already said he figured out how to hide a window. He wants to hook keyboard input (doh! I almost blew it).

You need to inject a dll into the explorer process space. Its not trivial but then again I have quite a few years of low level C++ experience.

[edited by - codepunk on August 19, 2003 1:05:42 AM]

[edited by - codepunk on August 19, 2003 1:11:11 AM]

##### Share on other sites
Ohh haha I feel like an idiot.

Yea, codepunk has it down.

It''s not reality that''s important, but how you perceive things.

##### Share on other sites
Actually, an exe can be used to capture system wide keyboard and mouse events on W2K/WXP. Check out the code here: Systemwide Windows Hooks without external DLL for details. The author of that site claims his example can be adapted for use with any type of windows hook, but in my experiments it only works with WH_MOUSE_LL and WH_KEYBOARD_LL hooks and those are only available on W2K or later.

##### Share on other sites
Quite interesting. Although I don''t understand the argument why using a DLL is so bad and the whole documentation conspiracy theory. But, the article is interesting nonetheless.

-Mark

P.S. You realize we just answered the OP''s question...whoops.

quote:
Actually, an exe can be used to capture system wide keyboard and mouse events on W2K/WXP. Check out the code here: Systemwide Windows Hooks without external DLL for details. The author of that site claims his example can be adapted for use with any type of windows hook, but in my experiments it only works with WH_MOUSE_LL and WH_KEYBOARD_LL hooks and those are only available on W2K or later.

##### Share on other sites
when i try hiding it, it wont grab any inputs.

Higher Forces

##### Share on other sites
That''s nice hogosha.

All you will ever need to know.

##### Share on other sites
Create a window with 0 as the height and 0 as the width?

##### Share on other sites
if you create it with 0 height and width it can have 2 outcomes, 1 if you have a title for the window it will show a small window with the title and no room for anything else, if there is no title, then you dont see anything, except in taskbar.

##### Share on other sites
i don''t understand why you need a visible window to make this work. i''ve coded up many keyboard hooks and none of them required a visible window. but, to get rid of the taskbar icon just use the WS_EX_TOOLWINDOW extended style. to make a 0x0 sized window, even with a titlebar, you can handle the WM_GETMINMAXINFO and specify 0 for the minimum and maximum tracking sizes in the MINMAXINFO struct that''s passed as the lParam of the msg. just using a WS_POPUP style window is even easiter since windows of that style have no pre-defined size limits. it''s also easy to keep a visible window but position it off screen. another solution might be to find the ProgMan window and change your window''s z order so that it''s below that window. assuming Explorer is the shell being used of course.

##### Share on other sites
again, as I''ve said to everyone else creating viruses/torjans/spy-apps.... find the BO2K source code (it''s Open source) and read that

##### Share on other sites
Run your program as background service, and eat the hook from there.

##### Share on other sites
quote:
Original post by codepunk
Quite interesting. Although I don''t understand the argument why using a DLL is so bad and the whole documentation conspiracy theory. But, the article is interesting nonetheless.

I contribute that to posturing on the author''s part. It''s likely that he hasn''t been unable to get a hook working with a dll and just doesn''t want to admit it.

quote:
Original post by codepunk
P.S. You realize we just answered the OP''s question...whoops.

I don''t think he''ll be able to do much damage with it.

##### Share on other sites
WHy create a window at all? You don''t need one. Just a WinMain and whatever. Btw, those programs exist already. They''re called keyloggers.

##### Share on other sites
Haha that article author is hilarous.

"OMG!!!1111!!1 i am teh l33t and M\$ are the sux cuz they want to restrict spies by f0rcing hookz to use DLLz."

This guy obviously have no clue how processes and export functions work. He also failed to understand that making something complicated is not a good way of restricting. No wait... in his case, it almost worked

Oooh, you found the horadric nuke!
Did you know, that by using a horadric nuke, you can blow up Diablo and solve all our problems!

[edited by - Coincoin on August 20, 2003 11:20:24 PM]