首页
社区
课程
招聘
脱离c库后return无法退出
发表于: 2014-7-30 11:43 5149

脱离c库后return无法退出

2014-7-30 11:43
5149
我写了一个程序,由于体积太大, 就把c库脱掉了, 只用的ntdll里面的标准函数,手工指定的winmain入口点, 但是我改完之后其他一切正常, 在winmain函数中return 0后不会退出, 而是一直挂在了ntdll空间中的tppwaiterpthread这个线程里.

程序是一个网络程序, 调用了很多类似WSCInstallProvider的lsp操作的函数.

请问是什么原因导致的呢.

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 2161
活跃值: (750)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
自己调用API退出
其实使用return返回后也是由框架负责退出的
上传的附件:
2014-7-30 11:55
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
3
有没有指定入口点0.0
2014-7-30 12:03
0
雪    币: 12
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=sidyhe;1304755]自己调用API退出
其实使用return返回后也是由框架负责退出的
[/QUOTE]

请问具体应该调用哪个api呢, 是exit吗, 但是exit好像是C库里面的吧.
2014-7-30 12:15
0
雪    币: 12
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
vs2008开发的, 在link的高级里指定了WinMain的入口点.
2014-7-30 12:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
自己定义的入口点,是需要进程所有线程都结束才真正的结束,C库的return之后还是会调用ExitProcess的,你可以自己调用ExitProcess来终止掉进程
2014-7-30 13:22
0
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
windows 里面的exit 是调用 了ExitProcess

This function is the preferred method of ending a process because it provides a clean process shutdown. This includes calling the entry-point function of all attached DLLs with a value indicating that the process is detaching from the DLL.
2014-7-30 13:23
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
return 以后还是需要调用C库的东西释放一些东西! 最后都是调用系统的ExitProcess~
所以 用ExitProcess 结束进程吧
2014-7-30 13:31
0
雪    币: 2161
活跃值: (750)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
kernel32
ExitProcess or ExitThread

ntdll
ZwTerminateProcess or ZwTerminateThread
2014-7-30 13:49
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
10
按理说,你指定了入口点,并且没有使用库函数的话,是不会链接libcmt的。
你winmain直接return就行了。
2014-7-30 15:51
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
RtlFreeThreadActivationContextStack();
    RtlExitUserThread(code);
2014-7-30 15:58
0
雪    币: 12
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
使用exitprocess搞定了, 谢谢大神们的帮助.
2014-7-30 16:52
0
游客
登录 | 注册 方可回帖
返回
//