问题标签 [dll-injection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
32167 浏览

c# - C# DLL 注入

是否可以使用 C# 将 DLL 文件注入到资源管理器或 svchost 等进程中?我知道这在 C++ 中是可能的,但它是在 C# 中吗?如果是这样,DLL 的编写方式是否重要,例如 C++ DLL 或 Visual Studio C# .NET DLL 会有所不同吗?如果这完全可能的话,有人可以发布我可以用来执行此操作的代码。非常感谢你。

0 投票
1 回答
898 浏览

c++ - 根据代码顺序,挂钩 sendto() 会导致崩溃

我正在使用 DLL 注入器来注入一个 dll,该 dll 进入 IAT 并用我自己的替换系统调用 sendto()。

这是替换方法。

调用者:

这有效:

不起作用

在使用 my_sendto() 的后一个版本时,主机应用程序将在调用 sendto() 时崩溃。

de_sendto 定义为:

0 投票
2 回答
1059 浏览

windows - 验证内存中的进程完整性?

看起来不可能阻止坚定的攻击者修改一个人的进程代码/数据。我希望它至少有可能检测到这种篡改。

在 Windows 下,是否可以在当前进程中监听DLL 注入WriteProcessMemory 和 CreateRemoteThread ?

在 Linux 下,是否可以监听 LD_PRELOAD 和DR rootkit

0 投票
3 回答
22666 浏览

c# - 如何从 taskmanager processtab 中隐藏 C# 应用程序?

我需要从 Taskmanager 的进程选项卡中隐藏我的 C# 应用程序

使用

我已将其从应用程序选项卡中隐藏。现在我需要从进程选项卡中隐藏它。

这可能吗?。

0 投票
2 回答
2234 浏览

c - 注入的 dll 使所有者进程崩溃。为什么?

我有一个在进程中注入的 dll。它搜索“file://”,直到找到无效符号。几分钟后,它使主进程崩溃。这是为什么?我该如何检查?我发现 CreateThread 上的堆栈大小越小,它崩溃的速度就越快,因此它可能会以某种方式堆栈溢出,但我没有分配任何东西,而是分配了一个结构。

0 投票
2 回答
1507 浏览

c++ - 窗口最大值最大化

我正在寻找一个程序,我可以在其中设置所有窗口的最大最大化大小(如当您点击最大化按钮时窗口最大化的大小)和最大化位置(X/Y 与最大化窗口协调)正在跑步。这样我就可以让我的 Rainmeter 在我的辅助显示器上始终可见,而无需手动调整每个窗口的大小以适合其中。

我已经设法为我使用 WinAPI 中的 MINMAXSIZE 编写的一个简单程序做到了这一点。这种方法似乎非常适合我的小程序,但是除了互联网上的 1 或 2 篇文章之外,关于它的文档很少。我想知道这是否是设置最大最大化尺寸的最佳方法,或者是否有其他方法可以做到这一点。

我计划在所有应用程序中实现这一点的方式将是 DLL 注入或 Hooks(我都没有任何经验),所以我也想知道你们对这些方法的看法。

我知道有一些应用程序已经这样做了,但我认为这可能是一种学习体验,而且我尝试过的所有应用程序都不能很好地工作(尽管所有这些应用程序都可能是这种情况由于 Windows 功能的方式)。

如果你们中的任何人仍然不确定我在说什么,MaxMax完全符合我的要求(尽管它效果不佳,正如我在上一段中所说的那样)。

谢谢大家。

0 投票
1 回答
1415 浏览

winapi - 一个 GetModuleHandle 实现

我需要这样做,因为我在其中,DllMain()因此持有加载程序锁。我读过GetModuleHandle() 它还使用了加载器锁 [第 6 页],这会导致死锁。

GetModuleHandle() 如何实现?一些代码将是一个加号。

更新:因为我SetWindowsHookEx只在 WinXP 上使用。只是在评论中接受建议,走简单的路,并在第一次调用回调时使用 GetModuleHandle() 。

0 投票
2 回答
5097 浏览

security - 保护 dll 文件的最佳方法是什么

我们在C++ builder中构建了一个大型应用程序,它在启动时会查看一个文件夹并加载所有当前的 dll 文件。我认为这可能不是一件好事,并通过创建一个仅启动 Web 浏览器并打开带有“拥有”一词的图片的 dll 来尝试我的想法:P

无论如何,它奏效了。因此,系统可能会因 dll 被关闭或添加新的 dll 以任何方式受到损害。远程管理员访问,格式化驱动器,你的名字。

所以我的想法是试图堵住这个洞。这方面的最佳做法是什么?我正在考虑对 dll 进行某种签名。让 .exe 保存有效 dll 的名称列表实际上并不能解决它,因为可以替换 dll。名称和校验和列表将起作用,但保留自动加载功能但仅加载正确签名的 dll会很好。

编辑:我正在研究使用似乎可以完成这项工作的signtool.exe 。但是我找不到任何好的参考来说明如何在 C++ 中实际检查 dll 的签名。谁有链接?

0 投票
0 回答
265 浏览

c - 通过 dlsym 覆盖 FSGetCatalogInfo

我正在尝试使用 DYLD_INSERT_LIBRARIES 在 OS X Lion 10.7 下覆盖 FSGetCatalogInfo 函数,并且一切正常,直到我实际调用原始 FSGetCatalogInfo 函数,此时我得到“总线错误:10”。

我的代码片段是:

我在想我必须定义或调用原始的 FSGetCatalogInfo 错误,但我无法弄清楚我到底在哪里搞砸了 - 想法?

0 投票
2 回答
8481 浏览

c++ - 从正在运行的进程中注入 DLL 后弹出

我编写了这个函数来将 DLL 注入正在运行的进程中:

而且效果很好,但是当我尝试弹出 dll 时,我无法找到有关脱钩的信息。我试图构建一些功能来做到这一点,我想我已经接近了,这就是我到目前为止:

这是正确的方法吗?如果是这样,我应该在 VirtualMem 的 createRemoteThread 中传递什么参数(在注入函数中使用)...