发新话题
打印

进程隐藏详解

本主题由 水晶王子 于 2007-12-19 15:55 设置高亮

进程隐藏详解

如何让程序在后台运行??有什么方法或软件可以让程序在后台运行,而不会弹出窗口???(windows系统)
) z! P9 }. n+ R% G  [. u: N5 X, o爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具& A% \1 j3 h* J6 v$ u/ F+ n. \
问题猜解:是否在你开了很多程序,或者网页后发现有很多窗口显示,觉得很恼火呢?如果你想不会弹出窗口,那就最小化,自然不见弹出窗口了。它也是在后台运行了,而且没有弹出窗口,但我想你问的问题可能不是证明简单,我们可以延伸下:
, l% p; [$ l6 j/ _: H3 |爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net问题延伸:是否在你开了很多程序,或者网页后发现有很多窗口显示,在任务栏有很多窗口图标,这些是很烦恼的事情,你一定也想去掉这些窗口。4 Z% ]: I3 M8 p+ O3 t
1,在软件开发过程中相关的窗口属性原本就有相应设置。比如豪杰,比如qq它们都可以在软件自身功能项中实现“窗口总在最前运行”,去掉即可。又比如Serv-U由两大部分组成,引擎和用户界面。Serv-U引擎(ServUDaemon.exe)其实是一个常驻后台的程序,也是Serv-U整个软件的心脏部分,它负责处理来自各种FTP客户端软件的FTP命令,也是负责执行各种文件传送的软件。在运行Serv-U引擎也就是ServUDaemon.exe文件后,我们看不到任何的用户界面,它只是在后台运行,通常我们无法影响它,但在ServUAdmin.exe中我们可以停止和开始它。另外木马程序的Server端为了隐藏自己,必须在设计中做到不让自己显示到任务栏或者系统进程控制器中,同时还不会影响其他程序的正常运行,当使用者电脑处于断线状态下,Server段不会发送任何信息到预设的端口上,而会自动检测网络状态直到网络连接好,Server会通过email或者其他形式将Server端系统资料通知Client端,同时接收Client发送出来的请求。爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具6 T9 e+ O, f" l7 i
2,对qq用户来说。要隐藏起来了?怕领导或长辈老师看见,呵呵。想挂QQ,但别人发现了就关,有什么办法能把QQ任务栏的图标隐藏起来吗?答案是有,很简单,启动QQ,用鼠标单击QQ窗口左下角的主菜单,在弹出的快捷菜单中选“系统参数”,弹出“QQ参数设置”对话框,在“参数设置”标签中,取消“在任务栏显示图标”、“自动弹出信息”选择,选择“使用热键”复选项,您还可以选择“自定义热键”定义自己的热键,在“声音设置”标签中,选择“声音开关”中的“关闭声音”。另外把QQ用鼠标点住拉到屏幕顶部,它会自动隐藏的!用时`把鼠标放在那个位置就会出来。
3 _+ ?7 U: y4 b3,对其他用户,在上班或者上课怕他人看见,可以使用软件实现彻底隐藏。
) k3 L6 a. ?# z! F- ?9 j' Q- k6 k爱毒霸社区“任务栏”是Windows桌面底部一条灰色的区域,其左边是“开始”按钮,右边有一个小窗口显示时间、输入法等图标,也称为系统托盘。根据操作系统与软件安装与配置的不同,在“任务栏”上具有不同的图标,而且根据个人的需要和喜好我们也可以自定义“任务栏”内容。Windows 任务栏有自动隐藏功能:在任务栏空白处单击鼠标右键,选择“属性”,然后选中“自动隐藏任务栏”前的复选框再单击“确定”退出即可。但这个功能总让人感觉不太完美,原因是任务栏隐藏的不太好,总会在屏幕最底下留着一条线(露出一个“尾巴”),这给有些工作带来麻烦,比如你要用Print Screen 键截图的话,还要去掉那条线。网上找的一款名为TaskbarHide的免费软件,其主程序只有200多KB,最新版本为1.2b,http://home4.inet.tele.dk/mbresson/tbhide/tbhid12b.zip
9 k$ A4 I( z8 {' vbbs.duba.net  下载后得到一个只有三个文件的压缩包,直接解压缩后双击执行文件,你会发现任务栏最右侧的系统托盘处出现了T 型图标,同时你会看到任务栏已经自动隐藏了,而且隐藏得非常彻底,不留一丝的痕迹。当我们把鼠标移到屏幕底部时,任务栏会自动弹出,比原来灵敏多了!
, D+ J8 W/ o4 J/ `5 qbbs.duba.net如果你想停止自动隐藏的话,只要用鼠标单击T 型图标即可,比原来方便得多。如果你想退出TaskbarHide,直接用鼠标右键点击T 型图标,从弹出的菜单中选择“Close”命令。怎么样,有了TaskbarHide,可以让Windows 自带的任务栏隐藏功能下岗了吧!% ?3 k8 V; t- K9 B: \( ?
4,对编程爱好者来说,让程序通过按一组合键就隐藏到后台运行,再按一次又到前台。
3 P" y' z# N$ D; E! K+ G0 `! i可以通过hide和show来实现。首先,我们看一个术语,系统托盘是任务栏上一个很小的区域,隐藏在那儿的程序只显示小图标,比如说你的Outlook在收取新邮件的时候。任务栏是一个贯穿屏幕的工具条(ToolBar)。程序的图标就放在那儿,要隐藏任务栏图标,你可以用Application->Handle 调用API函数& _" g; P8 W* |9 C  G( [8 t
ShowWindow。bbs.duba.net: ^* L8 W  e; M
ShowWindow(Application->Handle, SW_HIDE);
& H0 i) l& v* [0 ?7 R爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net你想重新显示图标,简单地改变SW_HIDE而代之以SW_SHOW.
$ u; E- j% e7 J爱毒霸社区ShowWindow(Application->Handle, SW_SHOW);金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net7 P* n+ F8 g# M0 ~
注意:你可以通过设置主窗体的Visible 属性的值为false来隐藏它。爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net' B8 A6 E# I9 o; K1 Y" T# S
注意:用ShowWindow隐藏任务栏图标并不长久,某几个动作将使得任务栏图标重新出现。你可以移去程序的任务栏图标并让它不再出现,就是使应用程序的窗口成为工具窗口(Tool Windows)。工具窗口是不会有任务栏图标的,但是这样做有一个缺点就是程序不会在ALT+TAB中出现。把应用程序窗口编程工具窗口用的是API函数GetWindowLong和SetWindowLong爱毒霸社区+ d  i" F) x, I6 g
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)* @- o6 ?5 n) s2 I
{
" `- H5 C# q4 o; Y5 D8 F3 X: g, G' P爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具    DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
& R- B. _# [- m8 K2 i& @5 h爱毒霸社区    dwExStyle |= WS_EX_TOOLWINDOW;: @5 ~) Q( e3 m4 F( P6 t
    SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);
) @3 G, w/ a9 x) j& G爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具    try金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net8 N9 Y6 y& n7 V/ `
    {爱毒霸社区4 ^9 n( x$ J" W0 o( h
        Application->Initialize();
/ g2 d( J  G% w1 ?. r/ ~爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net        Application->CreateForm(__classid(TForm1), &Form1);
/ Z/ W8 p- M2 x" Y, }爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具        Application->Run();
3 I9 p7 `: u2 K, k9 H: n! f爱毒霸社区    }bbs.duba.net4 Z: o# w# w$ Z# [& `. Z7 j' G/ h9 J
    catch (Exception &exception)
3 A2 k: o2 K; z4 b) A5 n, g金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net    {爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具7 H( D8 e! `+ f* K# A0 ]
        Application->ShowException(&exception);
5 x9 ?4 A, R, ?6 w% U7 ^bbs.duba.net    }
- T. K' x4 I( n  i; b, S6 }金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net    return 0;爱毒霸社区( G; v9 c2 A: V  D0 [7 l
}
$ q* o& D- U2 K6 t& R7 b爱毒霸社区5,对黑客爱好者来说,木马程序的隐藏技术当然很受欢迎。
( z) v8 H% e+ L, W3 e8 X  k, U0 ~木马程序的服务器端,为了避免被发现,多数都要进行隐藏处理,下面让我们来看看木马是如何实现隐藏的。 说到隐藏,首先得先了解三个相关的概念:进程,线程和服务。我简单的解释一下。 爱毒霸社区! {2 L' W4 r% J! W6 R
  进程:一个正常的Windows应用程序,在运行之后,都会在系统之中产生一个进程 ,同时,每个进程,分别对应了一个不同的PID(Progress ID, 进程标识符)这个进程会被系统分配一个虚拟的内存空间地址段,一切相关的程序操作,都会在这个虚拟的空间中进行。 爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具8 `% x! E4 A2 x3 N7 ]5 d
    线程:一个进程,可以存在一个或多个线程,线程之间同步执行多种操作,一般地,线程之间是相互独立的,当一个线程发生错误的时候,并不一定会导致整个进程的崩溃。
9 n' }" h& u2 {4 q爱毒霸社区  服务:一个进程当以服务的方式工作的时候,它将会在后台工作,不会出现在任务列表中,但是,在Windows NT/2000下,你仍然可以通过服务管理器检查任何的服务程 序是否被启动运行。
+ K! j5 v& R% a0 V  想要隐藏木马的服务器端,可以伪隐藏,也可以是真隐藏。伪隐藏,就是指程序的 进程仍然存在,只不过是让他消失在进程列表里。真隐藏则是让程序彻底的消失,不以 一个进程或者服务的方式工作。5 ]$ n' D3 f# N* X
    伪隐藏的方法,是比较容易实现的,只要把木马服务器端的程序注册为一个服务就可以了,这样,程序就会从任务列表中消失了,因为系统不认为他是一个进程,当按下Ctrl+Alt+Delete的时候,也就看不到这个程序。但是,这种方法只适用于Windows9x的系统 ,对于Windows NT,Windows 2000等,通过服务管理器,一样会发现你在系统中注册过的服务。难道伪隐藏的方法就真的不能用在Windows NT/2000下了吗?当然还有办法,那就是API的拦截技术,通过建立一个后台的系统钩子,拦截PSAPI的EnumProcessModules 等相关的函数来实现对进程和服务的遍历调用的控制,当检测到进程ID(PID)为木马程序的服务器端进程的时候直接跳过,这样就实现了进程的隐藏,金山词霸等软件,就是使用了类似的方法,拦截了TextOutA,TextOutW函数,来截获屏幕输出,实现即时翻译的。同样,这种方法也可以用在进程隐藏上。
& n; q0 {* a$ r- ^! O爱毒霸社区    当进程为真隐藏的时候,那么这个木马的服务器部分程序运行之后,就不应该具备一般进程,也不应该具备服务的,也就是说,完全的溶进了系统的内核。也许你会觉得奇怪,刚刚不是说一个应用程序运行之后,一定会产生一个进程吗?的确,所以我们可以不把他做成一个应用程序,而把他做为一个线程,一个其他应用程序的线程,把自身注入其他应用程序的地址空间。而这个应用程序对于系统来说,是一个绝对安全的程序,这样,就达到了彻底隐藏的效果,这样的结果,导致了查杀黑客程序难度的增加。
8 u( d* S! N+ `6 ^7 u爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net    出于安全考虑,我只给出一种通过注册服务程序,实现进程伪隐藏的方法,对于更复杂 ,高级的隐藏方法,比如远程线程插入其他进程的方法,请参阅 ShotGun的文章。《NT 系统下木马进程的隐藏与检测》
; {% R3 Q( `9 U. n; e8 Nbbs.duba.netWINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
+ [4 C/ u/ V  e, Sbbs.duba.net{
* a* D$ J1 L- S/ r# p4 ]    try
+ L2 H- C* d+ z4 k6 V爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net    {爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net/ t  A& \- Q$ h( {
    DWORD dwVersion = GetVersion();   //取得Windows的版本号
4 q' f8 y6 w! t0 ]6 i  @1 G爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具        if (dwVersion >= 0x80000000)   // Windows 9x隐藏任务列表 金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net7 K7 |3 x0 C9 C7 u$ W
        { 爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具+ C  F  R0 G7 t
           int (CALLBACK *rsp)(DWORD,DWORD); 0 L4 `7 o; z. a) K5 z
          HINSTANCE dll=LoadLibrary('KERNEL32.DLL');//装入KERNEL32.DLL 爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具$ Q. _8 I" [) M9 \/ g/ ^* X+ W
          rsp=(int(CALLBACK
5 R- R; S3 j+ w: W* H3 u. I金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net*)(DWORD,DWORD))GetProcAddress(dll,'RegisterServiceProcess');
! w  C( c9 S/ O4 E金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net//找到RegisterServiceProcess的入口 爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net: q/ d' D. \2 l; r: ~
          rsp(NULL,1);   //注册服务
( {- l5 E9 Y- D, R( H, Q爱毒霸社区-是中国金山毒霸杀毒软件专业社区,提供金山毒霸2009,金山毒霸2008,金山毒霸2008下载,在线杀毒,金山清理专家,专杀工具等产品信息,有流行病毒,木马专业查杀解决方案,为广大金山毒霸用户和电脑安全知识爱好者提供免费的互动社区,爱毒霸社区-成为中国知名杀毒社区,灰鸽子专杀, 做中国杀毒软件最用心社区-bbs.duba.net          FreeLibrary(dll);   //释放DLL模块 2 E0 j) h& }9 G, ?0 ~$ @' \
        } 爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具0 n$ ^4 C$ r2 W2 R
    } 爱毒霸社区3 P$ x0 p3 g" j3 `  S4 d; J$ B* \6 V
    catch (Exception &exception)   //处理异常事件
0 n' K4 s. {+ N# E' d, r爱毒霸社区    {金山毒霸-爱毒霸社区-做中国杀毒软件最用心社区-bbs.duba.net$ u# u! I6 W( s" a% ]7 A: S
//处理异常事件爱毒霸社区4 @  ~& P; m& j0 C( G# k
    } bbs.duba.net4 X' i0 T, T) V& [9 }& j* W" A5 Q# A
    return 0;
' }# m# f. X% G# f) \; n6 c爱毒霸社区,金山毒霸,金山毒霸2009,金山毒霸2008,金山毒霸2008下载,杀毒软件,杀毒论坛,在线杀毒,毒霸论坛,木马,木马专杀,免费杀毒软件下载,金山毒霸通行证,毒霸,AV终结者,灰鸽子,磁碟机,专杀工具}

TOP

TOP

TOP

挺好的
`你的电脑?
`呵..
`我的权限!

TOP

挺好的
`你的电脑?
`呵..
`我的权限!

TOP

回复 4楼 的帖子

这么两个一样啊

TOP

回复 1楼 的帖子

学习了

TOP

发新话题