开源dll注入器

Posted

技术标签:

【中文标题】开源dll注入器【英文标题】:Opensource dll injector 【发布时间】:2011-09-19 07:58:50 【问题描述】:

我开发了一种工具,可以改变某些程序的外观。为此,我需要在某些进程中注入 dll。

现在我基本上使用这个approach。问题通常是人们无法注入 dll,因为他们没有以管理员身份运行目标进程或其他我不理解的东西(即使关闭 UAC,也有人根本无法在 vista 上注入)所以它很漂亮依赖。

是否有可以在我的应用程序中使用的可靠的开源解决方案,可以进行故障排除,例如识别用户问题?

【问题讨论】:

【参考方案1】:

该方法相当普遍且可靠。

尝试添加

 HANDLE hToken;
 LUID sedebugnameValue;
 TOKEN_PRIVILEGES tkp;
  if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) puts("Failed to Enable Debug Options!");
  if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &sedebugnameValue))
  
   CloseHandle(hToken);
   puts("Failed to Enable Debug Options!");
   gets(temp);
   return 0;
  
 tkp.PrivilegeCount = 1;
 tkp.Privileges[0].Luid = sedebugnameValue;
 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof tkp, NULL, NULL)) CloseHandle(hToken);

因此您的注入应用程序将获得调试权限。

【讨论】:

【参考方案2】:

了解Detours的来源会很有用:http://research.microsoft.com/en-us/projects/detours/

【讨论】:

以上是关于开源dll注入器的主要内容,如果未能解决你的问题,请参考以下文章

dll注入器怎么用 看完你就知道了

C# Dll 注入器、VB.Net Dll 注入器

DLL注入---任务管理器之进程保护--Python

使用来自 x64 注入器的 x86 dll 注入 x86 目标

资源分享Dll Injector(DLL注入器)

实战DLL注入