首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
1
0
[讨论]启动进程有这么另类的方法?
发表于: 2010-7-30 15:46
5641
[讨论]启动进程有这么另类的方法?
wzanthony
2010-7-30 15:46
5641
今天调试一个带壳程序,XP系统,发现它是自启动+自己退出的方式运行的。
于是我加了CreateProcessInternalW和ShellExecuteExW的断点,再运行,结果根本没有断下来。后来一步步跟踪,发现它竟然是先取得Explorer的"Program Manager"窗口,然后调用SendMessage往它上面发送0xC131号消息,WPARAM是0x1BC8,LPARAM是1,这样就把进程自启动起来了。
这个原理是什么?Program Manager怎么知道要启动哪个?尚未细致跟踪,先上来问问各位前辈。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
#调试逆向
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
2
楼
搞清楚原因了,昨天下断SetWindowsHookExW也没有断下,我还以为是什么奇技淫巧。
原来它是首次运行时调用SetWindowsHookExA往Explorer注入一个DLL,类型为WH_CALLPROC,被注入进程的DllMain内部再次调用LoadLibrary增加计数,这样本进程退出后,被注入的Dll不会被卸载。
第二次调用的时候就不再调用SetWindowsHookExA了,所以下断SetWindowsHookEx也就没能断下。
然后调用RegisterWindowMessageA注册一个自定义消息,这个自定义消息由注入的DLL来处理,所以自启动就是往Explorer注册消息的窗口发消息,启动进程的代码在注入的DLL里面。
2010-7-31 09:45
0
loveqqc
雪 币:
276
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
11
回帖
226
粉丝
0
关注
私信
loveqqc
3
楼
这样能自启动吗?
2010-7-31 10:11
0
loveqqc
雪 币:
276
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
11
回帖
226
粉丝
0
关注
私信
loveqqc
4
楼
所以自启动就是往Explorer注册消息的窗口发消息
不明白
2010-7-31 10:13
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
5
楼
Explorer进程有一个叫"Program Manager"的窗口,对它调用RegisterWindowMessageA可以注册一个消息值(如果所有程序都遵守这规则就不会有消息值冲突的问题),然后调用SetWindowsHookEx监视该窗口所在线程的所有消息回调,这样就可以响应自己SendMessage发送的消息,响应的处理方法就是启动进程。
2010-7-31 10:23
0
loveqqc
雪 币:
276
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
11
回帖
226
粉丝
0
关注
私信
loveqqc
6
楼
明白的,但是这个不能做到关机重启动自己的进程呢。
2010-7-31 10:50
0
wzanthony
雪 币:
359
活跃值:
(41)
能力值:
( LV3,RANK:20 )
在线值:
发帖
72
回帖
430
粉丝
0
关注
私信
wzanthony
7
楼
貌似我没有说在调试病毒或者木马吧?
2010-7-31 10:57
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wzanthony
72
发帖
430
回帖
20
RANK
关注
私信
他的文章
[求助]C#的可执行文件的加载过程貌似很特别啊?
3865
[求助]为什么这个无壳的DLL看起来这么像有壳的?
9555
[讨论]用默认浏览器在新窗口或新标签中打开URL链接的方法
9787
[求助]如何获取父窗口而不是拥有者窗口?
6175
[求助]关于硬盘分区表的磁头数的问题
7943
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部