远程线程DLL注入, 如何释放DLL和结束DLL的线程

2025-04-13 20:32:21
推荐回答(2个)
回答1:

kernel32.dll里有个函数叫FreeLibraryAndExitThread
就是专门给你做这种事情用的:

正常情况下你调用FreeLibrary来释放当前执行的代码所在的DLL会导致FreeLibrary返回以后无法继续执行之后的代码(DLL已经释放了)
而这个函数会在FreeLibrary之后结束当前线程,这个操作的代码在kernel32.dll中,所以不存在上述问题

回答2:

注入的dll不能自己释放自己吧,线程到是可以在dll内终止,释放的话还得重复一次类似注入的操作,远程释放,要不就等进程终止。不过有这必要么?