• Advertisement

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.

If you intended to correct an error in the post then please contact us.

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 this post


Link to post
Share on other sites
Advertisement
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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:
Original post by LessBread
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 this post


Link to post
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 this post


Link to post
Share on other sites
Guest Anonymous Poster
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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]

Share this post


Link to post
Share on other sites
If you''re interested here is a keylogger I threw together in Delphi a couple years ago. Works on 98/2000/XP. This app doesn''t hide the window, but it''s not hard to do. I''m sure there are plenty of examples out there.

Share this post


Link to post
Share on other sites

  • Advertisement