kernel32.dll里有个函数叫FreeLibraryAndExitThread
就是专门给你做这种事情用的:
正常情况下你调用FreeLibrary来释放当前执行的代码所在的DLL会导致FreeLibrary返回以后无法继续执行之后的代码(DLL已经释放了)
而这个函数会在FreeLibrary之后结束当前线程,这个操作的代码在kernel32.dll中,所以不存在上述问题
注入的dll不能自己释放自己吧,线程到是可以在dll内终止,释放的话还得重复一次类似注入的操作,远程释放,要不就等进程终止。不过有这必要么?