本文介绍了连续几个int3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用x64dbg检查.DLL的反汇编.

I'm using x64dbg to inspect the disassembly of a .DLL.

在程序集的几个点处,我连续看到几条Int3指令.

At several points in the assembly I see several Int3 instructions in a row.

00007FFA24BF1638 | CC                       | int3                                    |
00007FFA24BF1639 | CC                       | int3                                    |
00007FFA24BF163A | CC                       | int3                                    |
00007FFA24BF163B | CC                       | int3                                    |
00007FFA24BF163C | CC                       | int3                                    |
00007FFA24BF163D | CC                       | int3                                    |
00007FFA24BF163E | CC                       | int3                                    |
00007FFA24BF163F | CC                       | int3                                    |

该指令用于调试/断点吧?那么,为什么要连续这么多呢?考虑到此DLL是用VC ++发行版配置编译的,为什么还没有呢?

This instruction is used for debugging / break points right? So then why are there so many in a row, and why is there any at all considering this DLL was compiled with a release configuration VC++.

推荐答案

可能只是填充,它们将永远不会执行.我假设下一个函数从16字节对齐的 00007FFA24BF1640 开始,并且上一个函数大概在这些指令之前结束.

It's probably just padding, they won't ever be executed. I assume the next function begins at 00007FFA24BF1640 which is 16 byte aligned, and the preceding function presumably ends before these instructions.

这篇关于连续几个int3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 13:34