问题标签 [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.
ollydbg - 如何在 ollydbg 中更改 EIP 的值?
我EIP
在注册窗口中双击,但似乎无法编辑。
为什么EIP
特别?我怎样才能改变它?
winapi - Ollydbg评论栏-win32 api
从我在各种视频/屏幕截图中看到的情况来看,每当您加载可执行文件时,win32 api 调用都会在主 CPU 窗口的注释列中可见。
怎么能做到这一点?在我的版本中,我看不到它们。
谢谢。
debugging - OllyDbg 和 WinDbg 有什么区别?
我的简单理解是 OllyDbg 是一个用户模式调试器,您可以使用它来调试“普通”应用程序。WinDbg 是一个内核模式调试器,您可以使用它来调试自身。
那正确吗?
assembly - 为什么 OllyDbg 中的 cpu 寄存器没有按字母顺序排序?
在 OllyDbg 中,寄存器窗口中列出了标准的 cpu 寄存器:
最后显示EBX有什么特别的原因吗?
assembly - 替换可执行文件(x86)中的异或字符串
我有一个我正在尝试修补的可执行文件。可执行文件使用 XOR 加密存储字符串。我使用 XORSearch 来查找我正在寻找的字符串。它返回:
找到 XOR FD 位置 3E22:
现在我想改变那个字符串。我假设“FD”是异或键,所以如果我用 FD 对新字符串进行异或,我应该能够修补可执行文件。问题是:我在可执行文件中找不到该位置。我不确定位置 3E22 是什么意思。
请帮忙!
debugging - 在打包的 EXE 文件中查找 OEP
请问有关于如何为打包的 .exe 文件真正定位 OEP(原始入口点)的一般规则吗?在调试的汇编语言中有哪些 OEP 线索可以搜索?
假设有一个包含PC-Guard 5.06.0400的 Windows .exe 文件,我希望将其解压缩。因此,关键条件是在新提取的代码块中找到 OEP。
我会使用通用调试器OllyDBG来做到这一点。
assembly - 将代码修补到 MASM 编译的可执行文件中
我在 MASM 中编写了一个简单的程序,例如:
我检查了 OllyDbg 调试器中的代码,我得到:
我的问题是哪个组件在实际代码 (00401010) 之前修补了这 11 个字节 (00401005-0040100F) ?为什么?
我使用 Windows XP SP3、MASM 和 OllyDbg。
好的,这里是解释(对谁在乎):这段代码是在调试模式下构建的,所以汇编器/链接器(不知道到底是哪个)添加了这些额外的字节。JMP 的存在是为了让程序能够运行,因为它必须绕过一系列 INT 3 指令。如果程序是在 RELEASE 模式下构建的,则不会附加这样的额外代码。
bit - 逆向工程,左位移七
我一直在尝试对游戏的功能进行逆向工程,但我有点困惑。我对逆向工程很陌生(我正在使用 ollydbg btw),所以我还不知道所有的技巧和细节。
无论如何,这是我的问题。当您在游戏中拾取任何物品时会调用此函数。然后它会计算项目的价值并将该值添加到您的分数中。在调用该函数之前,会推送一个值,我非常确信它是项目的 ID。这是让我感到困惑的代码:
ESI = 项目 ID EDX = 常数值 FE56A0
我猜 EDX (FE56A0) 是一个项目数组的开始,ESI 是项目的索引,42 是项目持有的值的索引。这会有点奇怪,因为你的 ESI 向左移动了 7。随着 ESI 的增加,它的位移值不会线性增长。
因此,如果 EDX 表示数组的开头,而 ESI 将是索引,则数组中的项目将不具有相同的大小。这段代码的含义让我感到困惑。
有人知道这段代码可以代表什么吗?
c++ - OllyDbg 无法调试 Visual Studio exe
我刚刚用这个简单的代码创建了一个新的 vc++ exe:
该应用程序非常简单,并创建了一个依赖于 kernel32.dll 和 MSVCR100D.dll 的 exe 文件。
当我尝试将其导入并调试到 OllyDbg 中时(我只想在堆栈窗口中查看 SEH 链),它显示“模块‘testseh’在代码之外有入口点(如 PE 标头中所指定)。也许这个文件是自解压或自修改,设置断点时请牢记!并且没有执行任何代码,它直接跳转到ntdll.dll崩溃部分(实际上exe正在崩溃但我无法逐步执行printf指令)
这种行为是怎么来的?exe不依赖CLI也不依赖CLR,我错过了什么吗?
reverse-engineering - 程序前的 Ollydbg 指令
我是逆向工程的新手,我一直在看一个简单的程序:
但是,当我在 ollydbg 中打开它时,我并没有像在 gdb 中那样直接进入程序集,首先还有更多说明。我想知道为什么会这样。
谢谢!