问题标签 [ollydbg]

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 投票
2 回答
9120 浏览

ollydbg - 如何在 ollydbg 中更改 EIP 的值?

EIP在注册窗口中双击,但似乎无法编辑。

为什么EIP特别?我怎样才能改变它?

替代文字

0 投票
3 回答
1324 浏览

winapi - Ollydbg评论栏-win32 api

从我在各种视频/屏幕截图中看到的情况来看,每当您加载可执行文件时,win32 api 调用都会在主 CPU 窗口的注释列中可见。

怎么能做到这一点?在我的版本中,我看不到它们。

谢谢。

0 投票
2 回答
6866 浏览

debugging - OllyDbg 和 WinDbg 有什么区别?

我的简单理解是 OllyDbg 是一个用户模式调试器,您可以使用它来调试“普通”应用程序。WinDbg 是一个内核模式调试器,您可以使用它来调试自身。

那正确吗?

0 投票
4 回答
762 浏览

assembly - 为什么 OllyDbg 中的 cpu 寄存器没有按字母顺序排序?

在 OllyDbg 中,寄存器窗口中列出了标准的 cpu 寄存器:

最后显示EBX有什么特别的原因吗?

0 投票
2 回答
178 浏览

assembly - 替换可执行文件(x86)中的异或字符串

我有一个我正在尝试修补的可执行文件。可执行文件使用 XOR 加密存储字符串。我使用 XORSearch 来查找我正在寻找的字符串。它返回:

找到 XOR FD 位置 3E22:

现在我想改变那个字符串。我假设“FD”是异或键,所以如果我用 FD 对新字符串进行异或,我应该能够修补可执行文件。问题是:我在可执行文件中找不到该位置。我不确定位置 3E22 是什么意思。

请帮忙!

0 投票
3 回答
3609 浏览

debugging - 在打包的 EXE 文件中查找 OEP

请问有关于如何为打包的 .exe 文件真正定位 OEP(原始入口点)的一般规则吗?在调试的汇编语言中有哪些 OEP 线索可以搜索?

假设有一个包含PC-Guard 5.06.0400的 Windows .exe 文件,我希望将其解压缩。因此,关键条件是在新提取的代码块中找到 OEP。

我会使用通用调试器OllyDBG来做到这一点。

0 投票
1 回答
339 浏览

assembly - 将代码修补到 MASM 编译的可执行文件中

我在 MASM 中编写了一个简单的程序,例如:

我检查了 OllyDbg 调试器中的代码,我得到:

我的问题是哪个组件在实际代码 (00401010) 之前修补了这 11 个字节 (00401005-0040100F) ?为什么?

我使用 Windows XP SP3、MASM 和 OllyDbg。

好的,这里是解释(对谁在乎):这段代码是在调试模式下构建的,所以汇编器/链接器(不知道到底是哪个)添加了这些额外的字节。JMP 的存在是为了让程序能够运行,因为它必须绕过一系列 INT 3 指令。如果程序是在 RELEASE 模式下构建的,则不会附加这样的额外代码。

0 投票
2 回答
740 浏览

bit - 逆向工程,左位移七

我一直在尝试对游戏的功能进行逆向工程,但我有点困惑。我对逆向工程很陌生(我正在使用 ollydbg btw),所以我还不知道所有的技巧和细节。

无论如何,这是我的问题。当您在游戏中拾取任何物品时会调用此函数。然后它会计算项目的价值并将该值添加到您的分数中。在调用该函数之前,会推送一个值,我非常确信它是项目的 ID。这是让我感到困惑的代码:

ESI = 项目 ID EDX = 常数值 FE56A0

我猜 EDX (FE56A0) 是一个项目数组的开始,ESI 是项目的索引,42 是项目持有的值的索引。这会有点奇怪,因为你的 ESI 向左移动了 7。随着 ESI 的增加,它的位移值不会线性增长。

因此,如果 EDX 表示数组的开头,而 ESI 将是索引,则数组中的项目将不具有相同的大小。这段代码的含义让我感到困惑。

有人知道这段代码可以代表什么吗?

0 投票
1 回答
4826 浏览

c++ - OllyDbg 无法调试 Visual Studio exe

我刚刚用这个简单的代码创建了一个新的 vc++ exe:

该应用程序非常简单,并创建了一个依赖于 kernel32.dll 和 MSVCR100D.dll 的 exe 文件。

当我尝试将其导入并调试到 OllyDbg 中时(我只想在堆栈窗口中查看 SEH 链),它显示“模块‘testseh’在代码之外有入口点(如 PE 标头中所指定)。也许这个文件是自解压或自修改,设置断点时请牢记!并且没有执行任何代码,它直接跳转到ntdll.dll崩溃部分(实际上exe正在崩溃但我无法逐步执行printf指令)

这种行为是怎么来的?exe不依赖CLI也不依赖CLR,我错过了什么吗?

0 投票
1 回答
2684 浏览

reverse-engineering - 程序前的 Ollydbg 指令

我是逆向工程的新手,我一直在看一个简单的程序:

但是,当我在 ollydbg 中打开它时,我并没有像在 gdb 中那样直接进入程序集,首先还有更多说明。我想知道为什么会这样。

谢谢!