问题标签 [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 投票
3 回答
1046 浏览

debugging - 如果图像在只读内存中,调试器如何设置断点?

如果图像在只读内存中,调试器如何设置断点?我知道有硬件断点,但在我使用的调试器 (OllyDbg) 中,必须使用与普通断点不同的对话框专门设置这些断点。

解释:

这是调试器中的一个例程,它将自身与自身的副本进行比较。EDX 指向正在运行的镜像,EBX 指向镜像的已知良好副本。只有在不匹配的情况下才会到达 4010CE 上的断点。被比较的字符在 AL 寄存器中。如您所见,调试器在 10CE 显示 EB F6,但这是错误的。正如您通过查看 AL 寄存器可以看到的那样,10CE 实际上有 CC。这是因为调试器已经偷偷插入了CC来执行断点。

在此处输入图像描述

0 投票
1 回答
4160 浏览

ollydbg - 在 ollydbg 中找不到引用字符串

我试图获取下载管理器的序列号。我使用 ollydbg 来获取它并按照 youtube 中提到的提示进行操作。

我寻找与“30 天”匹配的参考字符串,因为每当我尝试安装此应用程序时,它总是说试用期仅为“30 天”,我需要有序列号才能使用它。不幸的是,该字符串无处可寻。

问题是,还有其他方法可以查找该字符串吗?如果没有办法,为什么?

谢谢!

0 投票
0 回答
844 浏览

assembly - OllyDbg:MessageBoxA 导致访问冲突

我第一次尝试注入代码,到目前为止基本上一切正常。但问题是,在我运行程序并调用方法 MessageBoxA() 后,会发生访问冲突。

问题是,ESI cpu 寄存器没有有效值。

MessageBoxA() 调用

在它被调用之后。我必须在 ESI 中存储什么才能避免出现此错误?我已经将该方法的参数推送到堆栈上,所以我只是不知道这条指令想要我做什么..

如果您需要更多信息,请告诉我。

谢谢你。


编辑

程序的第一条指令跳转到我的代码。在我调用 MessageBoxA 后,我跳回到标准程序(目前没关系)

在此处输入图像描述

在这里,您可以看到我调用 MessageBoxA 后程序的去向。第三条指令已经导致了问题。

在此处输入图像描述

我希望这会有所帮助^^

0 投票
1 回答
925 浏览

windows - windows 内存分割 & Ollydbg

关于windows内存分割的几个问题。

  1. Windows 中的每个进程都有自己的虚拟内存。这是否意味着每个进程都有自己的任务(我的意思是自己的任务描述符或任务门)?

  2. 我用 ollydbg 打开了一个简单的 exe,我看到每个对 dll 函数的 CALL 指令都将我带到了跳转表。跳转表有到 DLL 的跳转指令,如下所示:

    JMP DWORD PTR DS:[402058]

    我的问题是为什么它使用数据段而不是 CS 选择器作为基地址?如果我打开内存映射并找到存储在 402058 的内容,我会发现它包含资源。如果我正确理解了存储在 DS 中的 DLL 函数的地址?

  3. 我注意到内存映射是由所有者组织的。它不应该用段来组织,比如所有代码都在 DS 等的 CS 数据中吗?

    谢谢你

0 投票
1 回答
590 浏览

ollydbg - 代码\数据段重叠

当我查看 Olly 中的寄存器窗口时,我看到代码段和数据段寄存器都跨越了整个内存空间。这是否意味着它们相互重叠?

当我查看内存映射时,它似乎同时填充了代码区域和数据区域。

0 投票
0 回答
229 浏览

debugging - OllyDbg - 用于暂停执行的全局热键

我正在使用 OllyDbg 1 调试一个旧的 Windows 应用程序。当它正在绘制一个无缓冲的 GDI 绘图操作时,我必须暂停它的执行。我可以看到它绘制了所有内容,但是进度太快无法用鼠标暂停它。

它正在执行太多的 GDI 调用,因此使用模块间调用列表找到合适的 GDI 调用是不切实际的。

我想按下一个全局热键,以便在 OllyDbg 中暂停该过程。这可以通过插件或 OllyDbg 本身实现吗?

0 投票
1 回答
6703 浏览

debugging - 代码突出显示不适用于 OllyDbg

我是 OllyDbg 的新用户,我找不到突出显示 ASM 代码的方法。我检查了设置,看起来配置是正确的。另外,我尝试了两个版本的 OllyDbg(1.1、2.0)。

0 投票
1 回答
1961 浏览

assembly - 使用 OllyDBG 计算装配中的偏移量

相关组装:

第一行将字符串地址作为函数参数压入堆栈。最后一行将 ECX 中的值复制到此 DWORD 数据对象。这个地址是我的目标。我想替换包含的 DWORD 值。

在我的 C++ 代码中,我首先获取第一行的 push 函数的地址,然后添加一个偏移量。通过添加偏移量 0x1A 代码可以工作,但是当我尝试添加 + 0x18 时它不起作用。

我不喜欢对每个功能都进行测试,我缺少的基本思想是什么?

0 投票
1 回答
412 浏览

debugging - Ollydbg 目标自动运行

我有一个在我将其加载到 Ollydbg 后自动运行的目标。此表单不会在入口点停止(但会继续执行并在某个点暂停,我必须按 shift + f9。)

有什么办法可以调试吗??

0 投票
1 回答
2416 浏览

windows - 执行直到用户代码不起作用

我正在尝试使用 OllyDbg 的“Execute Till User Code”功能(这对我来说很重要),但它从来没有用过。

我首先在一个名为MessageBoxA. 当它调用它时,我在调试器中暂停了程序并发出 OllyDbg 执行直到用户代码,但程序仍然暂停并完全冻结。我什至无法单击MessageBox“确定”按钮,甚至无法从 OllyDbg 继续。当我太努力让它继续时,它就崩溃了。

所以我决定在 NASM 中编写一个应用程序(以完全控制)并在那里尝试。弹出,我暂停,执行到用户代码,这次MessageBoxA我可以按下 OK 按钮,但是 OllyDbg 并没有暂停程序。程序就像什么都没发生一样执行。

为什么它不起作用,我能做些什么来解决它?

OllyDbg 1.10(无插件)
Windows 7 Ultimate SP1 64 位

更新:
我尝试使用 OllyDbg 2.0,但由于某种原因,执行直到用户代码按钮被完全禁用。