问题标签 [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.
assembly - windows进程内存布局
所以我在玩 Olly 调试器,嗅探我能找到的关于 windows 的信息,然后按下 M 按钮,它弹出了那个内存映射窗口。所以我在谷歌上搜索了一些关于这个主题的文章,我发现我实际上可以写到我试过的 64K 以上的地址,而且很好。为什么它不起作用。关于那些较低的 2GB 空间:
为什么会有这些差距?例如,有 0x10000-0x1FFFF R/Wable 空间,然后没有 128K,然后是一些可读空间。我的意思是这已经被正确分页了,所以过去是否有像物理空间这样的东西并不重要(更不用说 0x20000-0x40000 应该完全可以读/写),为什么有人会决定不如此随意地使用一些地址空间?很可能我只是感到困惑,因为在来自 olly 调试器的内存映射中,很多行在列显示“包含”的地方都是空白的。是否有一些参考我可以从 olly 中针对这个内存映射,找出哪些空间有什么用途,因此是这样还是不是这样分页?
假设我真的不会搞砸关于内存管理的任何事情,使用较低的内存而不是使用堆为 Windows 编写程序是否可以,或者我会遇到一些问题吗?
感谢您阅读这个问题。
编辑
c++ - 如何与调试器交谈,或更改异常消息?
我知道如何使用 Try .. catch 处理异常,我实际上在做什么
一旦发生异常,调试器日志文件将在写入 [00000001] 时抛出 Message=Access violation
如何使用 asm32 或 Visual C++ 向调试器抛出另一条消息,例如“函数计算已启动”
那么我该如何与调试器交谈呢?
winapi - 如何在反汇编代码中定位 Windows 进程创建调用?
我有一个调用另一个 CLI 程序的程序,没有两个程序的源代码。我想知道第一个程序使用哪些参数调用命令行程序。
使用 Sysinternals Process Explorer 我能够找出参数。其中一个是一个看起来很奇怪的字符串。出于好奇,我想知道它的来源:它依赖于什么样的变量,或者它是否是硬编码的。
该字符串不以 ASCII 格式存在。所以,我想真正找出调用 CLI 应用程序的位置,以便深入挖掘。不幸的是,这就是我卡住的地方。我不太了解 Windows API 以及如何创建进程。我找不到正在创建 CLI 应用程序进程的部分。我尝试使用一个名为 StraceNT 的工具,但在任何地方都找不到调用(我认为它会使用这些CreateProcess()
函数)。
对不起,如果这是一个愚蠢的问题,但它看起来很有趣。欢迎任何建议阅读以教育自己。
string - 获取寄存器长度/大小?
我需要你的帮助 :/
我有一个指向一个内存地址的寄存器,如下所示:
而且,这个地址(00123456)包含一个随机字符串,例如:“你好,这是一个字符串”。
我需要获取字符串的长度/大小并进行比较,如果字符串长度大于 10,则需要清理字符串。
谁能帮我?
注意:我正在使用 OllyDbg 直接在可执行文件中编写这个 asm 代码,因此 MASM、TASM、NASM 等中的程序将不起作用。
ollydbg - 无法在 Olly 调试器中传递异常
我正在使用 Olly Debugger 调试程序。它在执行时安装一个异常处理程序,如下所示:
因此,现在安装了位于地址 004010a9 的异常处理程序。
下一条指令触发内存访问冲突,如下所示:
由于代码没有写入代码部分的权限,因此它会触发内存访问冲突并停止。
现在,我可以通过按 Shift + F9 将异常传递给程序。
但是,当我按下时,什么也没有发生,程序仍处于暂停状态。
此时我的 SEH 链如下所示:
我在 Olly Debugger 中的调试选项设置如下:
在异常选项卡下,我只选中了以下选项:
忽略 Kernel32 中的内存访问冲突
我无法理解为什么当我按下 Shift + F9 时程序没有将异常传递给位于 004010a9 的异常处理程序,因为它是当前线程异常处理程序。
谢谢。
linux - 如何在多线程程序中使用 Ollydbg?
我在这里看到 Olly 支持多线程调试,但是我找不到任何视频或好的教程来了解如何调试多线程程序。
我想知道如何使用
Ollydbg
和查看所有当前线程的堆栈和寄存器,并区分现在正在运行的线程。我可以在 Linux/Windows 中使用任何其他好的调试工具吗?
debugging - 在 OllyDbg 中单步执行代码时,有没有办法让 GUI 生动起来?
我想知道在 OllyDbg 中单步执行代码时是否有某种方法可以查看 GUI,这样我就可以知道何时出现消息。当我单步执行代码时,GUI 被冻结,我不会注意到消息何时出现。我也尝试在 API 和其他东西上放置断点,但这并没有帮助。只是想知道是否有某种方法或插件可以让我在步进时查看 GUI。谢谢
ollydbg - OllyDbg 调色板
如何在 OllyDbg(外观对话框)中更改调色板。
只有 20 种颜色可供选择,其中大多数对我来说太亮了。
reverse-engineering - ollydbg 插件
我正在阅读 lena 的教程,现在我必须使用一些插件,但它似乎不起作用,(Lena 的第二个教程),我创建了一个“插件”文件夹并将文件复制到该目录,但它仍然无法正常工作,我在谷歌搜索了一个小时的答案,但没有找到任何解决方案。有人成功安装了那个插件吗?谢谢你。
ollydbg - 反汇编自修改代码
我一直在想——如何反汇编自修改二进制文件?我猜您不能使用 olly 或 IDA,因为它们是静态反汇编程序,对吗?如果你跳到指令的中间,反汇编程序会发生什么?以及如何分析变质引擎?