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

reverse-engineering - 基地址不相同

当我在 IDA pro 和 OllyDbg 中加载可执行文件时,相同指令的地址在不同的位置启动。这可能是因为它们是不同的基地址。我希望可执行文件使用相同的基地址;我该怎么做呢?

0 投票
1 回答
710 浏览

visual-c++ - msvcp60.dll 在 idapro 和 ollydbg 上导入函数名称

我目前正在反转从 msvcp60.dll 导入一些函数的可执行文件。当我在 IDA Pro 中打开可执行文件时,函数名称很长,并且没有提示它们在做什么。现在反转所有这些功能将是浪费时间。

那么有什么方法可以为这些函数取一个有意义的名称,或者至少解释 IDA 中显示的列表?下面是一个函数的例子(代码的地址 0040377C 中的调用):

0 投票
2 回答
1199 浏览

assembly - 汇编绝对 JMP/CALL 到相对 JMP/CALL 工具/插件?

我有这个程序,我正在尝试逆向工程。我不知道是编译器的优化器还是混淆器,但是现在调用其他函数的代码的某些部分是通过数学计算然后调用的,例如

它可以正常工作,直到它作为 DLL 加载到另一个程序中。基地址偏移量已更改,因此现在所有相关代码都可以正常工作,但所有数学计算的调用/jmps 都没有转到正确的区域。

所以我想我可以通过将所有绝对调用变成相对调用来轻松解决这个问题。

在单步执行代码并计算所有数学时,我得到了正确的 jmp/call 偏移量。

我没有像没有足够的空间来分配补丁这样的问题。由于绝对调用通常使用之前的行,我也可以使用它来修复问题

绝对调用,这是数学结束的地方:

转换为喜欢

好吧,上面当然不会工作,因为 eax 已经是什么了,但这只是一个伪代码示例

好吧,我的问题不是如何做到这一点,而是在 OllyDbg 或 IDA Pro 中是否有任何插件可以自动为我做到这一点?

0 投票
1 回答
9646 浏览

reverse-engineering - OllyDbg 捕获/抛出异常

每次我尝试使用 OllyDbg 1.10(在 Windows 7 32 位上)调试某些东西时,它都会无缘无故地抛出异常。我跳过它们Shift + F7/F8/F9,最后它抛出一个异常说EIP = 00000000

有人可以告诉我如何解决吗?

0 投票
1 回答
1329 浏览

visual-studio-2010 - 使用内联汇编调用 IsDebuggerPresent

我在 Windows 7 机器上,我尝试在 IDA 中打开 kernel32.dll,IDA 说 IsDebuggerPresent 函数的地址是 0x77e2b020。我正在尝试使用内联汇编调用该函数。

在 vs2010 平台上,我尝试使用以下代码:-

在构建 exe 时,它​​显示 kernel32.dll 正在加载。

我尝试在 OllyDbg 中调试 exe,当“调用”指令执行时,错误是“访问冲突”。

是的,我知道直接从 C++ 调用 API 是最好/正确的方法,我这样做是为了好玩,我只是不明白为什么这不起作用。

0 投票
1 回答
265 浏览

windows - 以内存地址为参数执行远程功能

我正在尝试在正在运行的(旧)Win32 Borland 应用程序中执行一个函数(Window 具有类 OLW_WINDOW)。通过使用 OllyDbg,我发现该函数有一个参数,即内存地址。该函数使用的一个变量/值存储在该地址的偏移量处。我的想法是找到该内存地址(在内存块中处于恒定偏移量),将变量/值更改为我想要的,然后执行该函数。使用 WriteProcessMemory 和 CreateRemoteThread 执行是可以的,但问题是如何找到内存地址/块?在 OllyDbg 中打开“内存映射”时,内存块没有所有者、节或包含。是否可以获得由指定线程创建的内存块列表?或者我可以以某种方式从应用程序中获取它吗?顺便提一句:

0 投票
1 回答
1357 浏览

debugging - Loading Windows Symbolics in OllyDbg

I am using windows XP SP3 and OllyDbg. Also, I have installed windows symbols from this address: http://msdl.microsoft.com/download/symbols/packages/windowsxp/WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe

Moreover, I set C:\WINDOWS\Symbols in Debug -> select path for symbols in Ollydbg. But I have problems with seeing some comments in comment column of Ollydbg. Any Idea?

0 投票
3 回答
3691 浏览

windows - 如果我从 PE Header 中删除重定位表地址会怎样?

我正在分析一些裂缝,其中一个将重定位表地址和大小更改为 0。破解者试图用这个实现什么?

为了提供更多信息,破解的目的是加载另一个 DLL,将加载表中以前的 windows DLL 名称更改为自定义的名称。

0 投票
1 回答
5580 浏览

reverse-engineering - 对我的简单 C 程序进行逆向工程

我想开始学习逆向工程。所以我决定从简单的开始。我创建了这个简单的程序:

我在 Ollydbg 中对它进行了伪装。所以我想尝试将 printf 更改为“World Hello”。但我不知道现在该怎么办。你能指导我,或者至少告诉我理论上应该做什么吗?

0 投票
1 回答
507 浏览

assembly - 汇编堆栈索引地址

我正在尝试使用 ollydbg 调试程序,但我怀疑使用 SS 前缀索引模式地址。

这是一个屏幕截图:

此时,指令

会将 8 位移至减去 1 后EBX指向的地址。EBP(0012FDCC)0012FDCB

如果以上不正确,请告诉我。

在 ollydbg 程序中,右下角有一个堆栈的表示,第一列是地址。为什么没有指向0012FDCBwhere的入口?0012FDCB