- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试学习"Lena's reversing for newbies" ,当出现一些麻烦时。我使用 ollyDbg 启动 Pixtopian Book,然后尝试使用 MessageBox 来显示有关未注册版本的消息。然后我切换到OllyDbg,停止程序执行并按“Alt+F9”“返回用户模式”,这会在程序从DLL退出后停止。
但是这个程序不起作用之后,它就被卡住了,并且不响应我的操作。如果我关闭“返回用户模式”程序正常工作。
有什么问题吗?我可以尝试在 IDA(使用 WinDbg)或其他调试器中使用“返回用户模式”吗?我该如何做到这一点?我可以在 OllyDbg 中修复它的功能吗?
附注就像使用“ALT+F9”后程序停止了并且没有运行。
/抱歉我的英语不好,我只是在学习;-)/
最佳答案
首先,Ollydbg 适用于32 位平台。这意味着它只能在 32 位操作系统上运行,并且只能调试 32 位应用程序。
在 x64 操作系统(特别是 Windows)中,有一项名为兼容模式的功能,可让您运行 32 位应用程序。 32 位代码要么通过仿真运行,要么以 native 方式运行(当硬件本身实现指令集时,称为 x86-64)。
因此,当您尝试在 x64 环境中运行 Ollydbg 时,它会运行,但您会遇到像您所面临的问题。发生这种情况是因为 Ollydbg 在仿真模式下运行。作为调试器,它需要访问寄存器和其他系统结构,但它被拒绝了。它看到的是系统的虚拟镜像。
所以问题的解决方案是使用 Virtual Machine 。
您将在其中安装 32 位操作系统并使用 Ollydbg 调试应用程序。就虚拟机而言,我建议 VMWare 。您可以使用工作站版本或播放器版本。后者是免费的,但不支持快照。
其他解决方案是 Virtual Box , Parallels Workstation 和 Microsoft Virtual PC 。它们的缺点是Virtual Box 不支持硬件断点,自 2014 年起不再支持 Parallels Workstation,而且您会得到 BSOD 如果您尝试单步执行 FPU 指令。不过我还没有测试过 Virtual PC。
Note : Ollydbg does not supports x64 but its author is working on a x64 version.
关于debugging - Ollydbg 1.10 "Back to user mode"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809893/
如何使用 ollydbg 为按钮单击设置断点? 我正在尝试禁用游戏客户端上的按钮单击,因此我想设置断点以捕获按钮单击事件。 ollydbg 有可能发生这种情况吗? 最佳答案 让应用程序制作窗口和按钮然
我正在分析 ollydbg 中的程序,一些指令被反汇编为 [ARG.1],例如: MOV ESI,[ARG.1] 我尝试在汇编书籍中搜索此命令,但似乎它仅用于 ollydbg 而不是标准汇编代码。 我
我在注册窗口中双击EIP,但似乎无法编辑。 为什么EIP很特别?如何更改? 最佳答案 找到您要将EIP设置为的位置,右键单击并选择“此处新建来源”。这会将EIP重置为新地址。您可以通过检查右上角的寄存
每当我在 OllyDbg 中并根据自己的喜好成功完成 ASM 代码编辑时,我都会尝试突出显示我所做的所有修改,当我右键单击时......我没有看到“复制”选项到可执行文件?” - 然而我关注的很多教程
这是我的第一篇文章,我是汇编和调试的新手,所以请多多包涵。 我试图将一些代码(对 MessageBoxA 的一点调用)注入(inject)到 Windows 7 记事本可执行文件中。但是,我遇到了地址
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
是否有一个选项我可以选择如何启动 动态链接库 (比如在 Visual Studio 中调试 dll 项目时)? 当我放弃 时,我觉得动态链接库 进入 OD,我唯一的选择是通过 LOADDLL.EXE
我一直在想-一个如何反汇编自修改二进制文件?我猜您不能使用olly或IDA,因为它们是静态反汇编程序,对吗?如果您跳到指令的中间,反汇编器会发生什么?以及如何分析变质引擎? 最佳答案 OllyDbg和
我正在调试一个进程,想要将一 block 内存(例如从内存地址 0x4160d8 到 0x4200d8)转储到文件中。 如何获得仅包含字节的原始文件?我尝试使用 OllyDump 插件,但它创建了一个
我正在尝试创建一个编译器,并开始了代码生成部分。基于我使用 fasm 编译的简单可执行文件,我开始使用 Python 进行导入的代码生成。 这是Assembly中测试程序的源代码: format PE
这是我的 C++ 代码: #include #include using namespace std; void func1() { static int _count = 0;
我正在尝试识别程序(32 位)中可能导致代码执行的错误。到目前为止,我使用 ollydbg 调试了应用程序并运行了我的漏洞利用代码。然后 ollydbg 给了我一个异常(exception)。 如果我
我的简单理解是 OllyDbg 是一个用户模式调试器,你可以用它来调试“普通”应用程序。 WinDbg 是内核模式调试器,您可以使用它来调试自身。 那正确吗? 最佳答案 WinDbg 是由 Micro
我最近在 OllyDbg 2.01 和crackmes 可执行文件的帮助下进行了破解和逆向工程。 所以在这个特定的破解版中,我正在滚动命令并注意到一个带有 ASCII 字符串“&File”(它是一个菜
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 个月前。 Improve this q
IDA Pro 是否具有类似于 OllyDbg 中的内存映射功能?如果是这样,我找不到它。我知道屏幕顶部有一个细条,显示您在地址空间中的位置以及内存分配的位置,但我认为这种方式不够充分。 OllyDb
如果我的产品 MyApp.exe 正在被 OllyDbg(或任何其他调试器)调试,但 exe 启动另一个(例如 MakeSerial.exe); OllyDbg 也会开始调试新启动的 exe 吗?还是
我非常简单的测试程序 #include #include int main() { int a = 12345; printf("%d\n", a); system("PAUSE"); return
每次我尝试使用 OllyDbg 1.10(在 Windows 7 32 位上)调试某些东西时,它都会无缘无故地抛出异常。我用 Shift + F7/F8/F9 跳过它们, 最后它抛出一个异常 EIP
我刚刚用这个简单的代码创建了一个新的 vc++ exe: #include #include #include int ExceptionHandler(void); int main(int arg
我是一名优秀的程序员,十分优秀!