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

reverse-engineering - 函数的参数是在堆栈上传递还是在寄存器中传递?

我目前正在分析我在汇编中编写的程序,并正在考虑在汇编中移动一些代码。我有一个带有一个参数的过程,但我不确定它是通过堆栈还是寄存器传递。

当我在 IDA Pro 中打开我的程序时,程序的第一行是:

如果我将光标悬停在声明上,还会出现以下内容:

我会假设它会指向一个堆栈变量?

然而,当我在 OllyDbg 中打开同一个程序时,堆栈上的这个位置有一个很大的值,这与可能传递的任何参数不一致,让我相信它是在寄存器中传递的。

谁能指出我正确的方向?

0 投票
4 回答
1868 浏览

reverse-engineering - 修改程序以伪造按钮按下

我有一个给我的 MFC 应用程序(没有源代码),它打开一个带有“更新”按钮的窗口,然后在单击后执行很长时间的更新。

我想修改程序,以便在创建窗口(或其他地方,如 DoModal)时,会向程序发送一条消息,使其认为按钮已被按下。

我在 Ida Pro 和 OllyDbg 中玩弄了一段时间,但无济于事。我看着可能使用 PumpMessage,但这并没有带来任何成功。

有什么建议吗?

0 投票
1 回答
996 浏览

assembly - 其中进行新手拆解查询

我相对(阅读:愚蠢的新手)熟悉反汇编,但这有点难倒我:我有一组用 zlib 压缩的保存文件和一个加载它们的游戏。它们的结构是已知的,一旦加载,内存中的结构与它们对应的保存文件相同。问题是游戏是用一种倒退的、纯脚本语言编写的,不知何故设法不留下静态指针。完全没有。几十个人尝试过,看似静态的指针路径在同一台机器上进行微小更改后会中断。一个简单的解决方案是在进程的内存中搜索文件的内容,但这是一个非常暴力的解决方案,我宁愿避免出于教育目的。

问题:

  • 我正在尝试使用 OllyDBG。我对此很糟糕,但仍然设法制作了一些实际有效的微不足道的codecave。我是在使用正确的工具来完成这项工作还是我是一个愚蠢的新手?现代反向器的工具包中有哪些工具?
  • 在相关的说明中,我不得不求助于使用作弊引擎(或其表亲 MHS)进行内存搜索。这似乎有点违反直觉。OllyDBG 是否真的让您无法搜索值和优化结果,或者我错过了什么?
  • 如何在 WINAPI 上设置断点?见鬼,WINAPI 在汇编级别是什么样子的?这是我没有设法找到任何像样的信息的东西,我很确定谷歌有足够的信息,但我似乎无法输入正确的单词。
  • 扩展上述内容,如何设置动态断点?如果我对特定的、经常调用的函数感兴趣,但前提是此时 EAX 等于特定值,我将如何让 Olly(或其他任何东西)在这种情况下中断?
  • 任何关于反汇编或以破坏事物为导向的低级编程的一般书籍/建议/资源。

免责声明:有问题的游戏是免费软件,单人游戏,作者不反对,该项目旨在扩展功能。也是第一篇文章,希望我没有摸索太严重。:(

0 投票
4 回答
120 浏览

c - 在 Windows 上调试为 Linux 制作的应用程序的提示?

我正在尝试查找在开源应用程序中发现的错误的来源。

我已经设法在我的 Windows 机器上构建并运行,但我无法在反汇编中找到问题所在。

我尝试了三种不同的调试器(WinDbg、OllyDbg 和 VisualStudio),每一种都给了我相同的信息。

那么,鉴于我有源代码,我可以做些什么来调试实时应用程序?如果应用程序是用 C 编写的,我如何检查数据结构?

上面列出的任何调试器是否支持加载 gcc 的调试符号?

对我来说,感觉就像我在做错事。我真的不想尝试在优化的程序集中调试这个应用程序......

0 投票
1 回答
318 浏览

perl - 是否有可以自动化 ollydbg 的 Perl 模块?

是否有可以自动化著名的ollydbg 调试器的 CPAN 模块?如果是,有人可以提供这样的模块和一些关于它的教程/文档/示例吗?

0 投票
4 回答
3835 浏览

debugging - 奥利德条件

当其中一个寄存器包含某个字符串时,我需要 Ollydbg 暂停。我有什么办法可以做到这一点?

0 投票
1 回答
2789 浏览

decompiler - 将x86 PE二进制文件反编译为C?

我想知道是否有任何方法可以生成 x86 PE 二进制文件的 C 代码。我真的不需要这个,我只是想了解一些闭源软件是如何工作的。

从我的常识来看,我认为这个过程是:

  • 将 x86 二进制文件转换为汇编,这可以使用 OllyDbg 之类的反汇编程序来完成。
  • 将此程序集转换为 C。我不知道任何工具,这实际上是我的问题。

我将非常感谢您的帮助。谢谢你。

PS:如果这不合法(虽然我不是破解者并且没有破解目的)请删除此问题

0 投票
2 回答
1008 浏览

analysis - 调试和分析木马

我有兴趣使用 OllyDbg 之类的工具来检查可能具有木马特征的程序。

有谁知道如何安全地做到这一点的任何好的教程?

基本上,该程序是视频游戏的“机器人”,但我怀疑它有后门和/或会将它收集的信息(例如密码)上传到远程服务器。

我想找到它尝试连接的 URL 或 IP,阻止它这样做等等,所以我想这比程序的典型“破解”更具体一些;我最感兴趣的是找出它可能正在做的基于网络的事情,或者阻止它们,或者让它认为它是成功的。

另外,我很好奇如何窥探加密的网络流量。如何确定程序用于加密其通过网络发送的内容的加密密钥和算法?(我问,因为我有兴趣创建一个 3rd 方客户端来模拟与游戏服务器的通信,而我不能在不知道如何发现正在使用的密钥的情况下这样做)

0 投票
3 回答
615 浏览

c - 最简单程序的反汇编说明(x86)

以下代码

使用命令编译:

gcc 版本 4.4.1 (TDM-1 mingw32)

OllyDbg 产生了这个输出:

替代文字

你能解释一下这里发生了什么吗?到目前为止的分析:

这一切的意义是什么?

0 投票
4 回答
1070 浏览

pointers - 帮助破译几行汇编

我在 ollydbg 中找到了这几行汇编:

有人可以过来告诉我这里发生了什么吗?