Debugging 在DLL注入后拦截大型应用程序执行

Debugging 在DLL注入后拦截大型应用程序执行,debugging,dll,reverse-engineering,disassembly,interception,Debugging,Dll,Reverse Engineering,Disassembly,Interception,我必须在许多地方拦截非常大的应用程序的执行 我可以用什么程序来做这个?针对这些问题存在哪些技术 手动反向工程和添加钩子可能不是这个问题的最佳解决方案,因为应用程序非常大,并且应用程序的某些部分可以在一段时间内更新,我认为通过一些工具或针对这个问题的良好实践,我可以更快地完成这项工作,有人知道怎么做吗 有人帮我吗?关于你到底需要做什么的一些细节,例如,你如何决定在哪里休息会很好。根据你的情况,类似的方法可能会奏效。关于你到底需要做什么的一些细节,例如,如何确定在哪里休息会更好。根据您的情况,类似的

我必须在许多地方拦截非常大的应用程序的执行

我可以用什么程序来做这个?针对这些问题存在哪些技术

手动反向工程和添加钩子可能不是这个问题的最佳解决方案,因为应用程序非常大,并且应用程序的某些部分可以在一段时间内更新,我认为通过一些工具或针对这个问题的良好实践,我可以更快地完成这项工作,有人知道怎么做吗


有人帮我吗?

关于你到底需要做什么的一些细节,例如,你如何决定在哪里休息会很好。根据你的情况,类似的方法可能会奏效。

关于你到底需要做什么的一些细节,例如,如何确定在哪里休息会更好。根据您的情况,类似的方法可能会起作用。

如果您对拦截方法调用感兴趣,可以进行API挂接


或者使用一些反汇编程序,如softice或。

如果您对拦截方法调用感兴趣,可以进行API挂接

或者使用一些拆卸器,如softice或Or。

我建议使用。这是你能做你需要的最简单的方法。它有一些COM对象,可以用来从不同的进程钩住应用程序。在您的过程中,您可以获得完整的参数信息,您可以在我使用C的任何编程语言中使用它,它就像一个魅力。 如果您需要拦截注册表API,我建议使用Deviceare来调试您需要拦截的内容,但是您必须自己制作钩子,否则,您会发现性能问题。

我建议使用。这是你能做你需要的最简单的方法。它有一些COM对象,可以用来从不同的进程钩住应用程序。在您的过程中,您可以获得完整的参数信息,您可以在我使用C的任何编程语言中使用它,它就像一个魅力。
如果您需要拦截注册表API,我建议使用Deviceare调试您需要拦截的内容,但是您必须自己制作钩子,否则,您会发现性能问题。

既然已经介绍了工具部分,下面介绍一些技术

根据您需要钩住什么以及是否有保护,有几种方法:

虚拟化二进制文件中的相对调用/jmp修补:这是最简单的,但也需要大量的工作。如果您无法自动找到对函数的所有引用,由于您的条件,这可能在这种情况下不起作用

IAT/EAT挂钩:这是用于importsIAT和exportsEAT的,如果您的目标是一组已知的导入/导出API函数,这将非常有用。这方面的一个很好的例子是

热补丁:Windows XP SP2引入了一种称为热补丁的东西,用于实时系统功能更新,其中所有WinAPI函数都以“mov edi,edi”开头,允许将相对跳转补丁到每个热补丁函数上方创建的可用空间中。这通常用于校验和有IAT或其他有趣的保护形式的程序,可以找到更多信息并

代码泄漏:通过在任意代码空间中放置重定向来捕获执行流。看到了吗

VFT/COM重定向:基本上覆盖对象虚拟函数表中的条目,对于基于OOP/COM的应用程序非常有用。看

有很多第三方图书馆,最著名的可能是,你也可以看看或一个


当然,没有什么可以替代您使用调试器所需的初始拨动,但了解您将使用的方法可以大大缩短拨动的时间。

鉴于工具部分已经介绍过,下面介绍一些技术

根据您需要钩住什么以及是否有保护,有几种方法:

虚拟化二进制文件中的相对调用/jmp修补:这是最简单的,但也需要大量的工作。如果您无法自动找到对函数的所有引用,由于您的条件,这可能在这种情况下不起作用

IAT/EAT挂钩:这是用于importsIAT和exportsEAT的,如果您的目标是一组已知的导入/导出API函数,这将非常有用。这方面的一个很好的例子是

热补丁:Windows XP SP2引入了一种称为热补丁的东西,用于实时系统功能更新,其中所有WinAPI函数都以“mov edi,edi”开头,允许将相对跳转补丁到每个热补丁函数上方创建的可用空间中。这通常用于校验和有IAT或其他有趣的保护形式的程序,可以找到更多信息并

代码泄漏:通过在任意代码空间中放置重定向来捕获执行流。看到了吗

VFT/COM重定向:基本上覆盖对象虚拟函数表中的条目,对于基于OOP/COM的应用程序非常有用。看

有很多3r d党的图书馆,最著名的可能是,一个人也可以看看或一个


当然,没有什么可以替代您使用调试器所需的初始拨动,但了解您将使用的方法可以大大缩短拨动时间

您有权访问代码吗?还有,你如何决定截取什么?一些特殊的API或模式?@Fasial Ferox:我没有权限,你如何决定截取什么我和IDA一起解压应用程序,但这个应用程序非常大,很难逆转,我面前有一件非常大的工作,我正在寻找更快的解决方案,可能是关于这个问题的一些最佳实践,一些简单的提示可以将我的工作加快大约一个月/秒。我正在挂接内部函数。你有权限访问代码吗?还有,你如何决定截取什么?一些特殊的API或模式?@Fasial Ferox:我没有权限,你如何决定截取什么我和IDA一起解压应用程序,但这个应用程序非常大,很难逆转,我面前有一件非常大的工作,我正在寻找更快的解决方案,可能是关于这个问题的一些最佳实践,一些简单的提示可以将我的工作加快大约一个月/秒。我挂接内部函数。我使用IDA调试器,但分析大型应用程序的一部分以找到好的挂接函数需要花费很多时间,我必须在20个可执行文件中挂接大约200个函数。这完全不同。我正在寻找加快工作速度的解决方案。我使用IDA调试器,但分析大型应用程序的一部分以找到好的钩子函数需要花费很多时间,我必须在20个可执行文件中钩子大约200个函数。这完全不同。我正在寻找加快工作速度的解决方案。为什么会被否决?否决和不留下理由是非常粗鲁的…为什么会被否决?拒绝投票和不留下理由是非常粗鲁的。。。