问题标签 [disassembly]

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 回答
709 浏览

cocoa - 编写安全的 Cocoa 代码

我在 cocoa 中制作了一个应用程序,想看看其中的某些字符串是否易于访问,所以我在上面运行了 OTX,遗憾的是我的所有代码都被找到了。有没有一种方法可以让我的代码更“安全”或至少加密/隐藏字符串?我想加密字符串的原因是它是服务器的密码。我不需要它真的很安全我只是不希望密码如此容易找到。

谢谢你的帮助

0 投票
1 回答
1675 浏览

directx - 逆向工程和修补 DirectX 游戏?

背景

我在玩东方系列游戏之一的不朽之夜。射击按钮是'z',移动较慢的是'shift',箭头键移动。对我来说不幸的是,使用 shift-z 会重影我的右箭头键,所以我在射击时无法向右移动。这种重影发生在所有应用程序中,并且切换键盘可以解决它。

目标

我想在反汇编代码中找到获取键盘输入并将其与“z”键进行比较的directx 函数,然后将该键更改为“a”。我认为这是一个有趣的项目。假设扫描码的大小相同,这应该相当简单。而且因为可执行文件只有400k,也许这将为我提供一个独特的机会来探索计算黑社会的黑暗面(开玩笑)。

相关经验

我有一些在汇编中编码的经验,但在反汇编方面没有。我没有使用 DirectX api 的经验。

问题

我需要一些指导。我找到了一个directx 键盘扫描代码列表,以及一个名为PEExplorer 的程序,看起来它可以满足我的需求。

有没有一种方法可以让我使用 C 函数调用来转换一些程序集,以便更容易阅读?我需要找到游戏检索当前按键的位置,将它们与列表进行比较,这就是我需要修改的列表。

任何投入将不胜感激。

0 投票
1 回答
4653 浏览

windows - 从已编译的 DLL 中获取函数信息

我有一个已编译的 DLL,但我不再拥有它的源代码。我想要从 DLL 中得到的唯一东西是它提供的函数,以及它们是如何被访问的,即它们的签名。

我怎样才能做到这一点?

0 投票
3 回答
2970 浏览

windows - Windows PE - 如果不在资源中,字符串在哪里以及如何存储?

通常 .exe 文件中的字符串(如对话框的内容/标题)存储在某种资源中。

但是在最近的一些我反汇编/资源检查的exe中,我找不到任何包含该字符串的资源,但它以某种方式用db's 硬编码到程序源代码中。

  • 如何提取和修改直接位于程序中的字符串?我假设那些只是相当于const char*C++ 中的 s ?

  • 为什么有人不“外包”对话框、菜单等的内容?

0 投票
1 回答
1367 浏览

windows - 从 windows PE 文件修改 .rdata unicode 字符串

我一直在寻找一种方法来修改存储在 .rdata 部分的 Windows .exe 文件中的静态字符串,但是我还没有找到真正的方法。

  • 整个事情太复杂了,无法手动完成(在本例中是由 HEX 编辑器完成),所以我想知道您是否有解决方案。
0 投票
5 回答
3312 浏览

java - 什么是可以产生信息性结果的好的 android disassember

如标题所示,如函数调用、运行时的应用程序行为

0 投票
3 回答
52636 浏览

c - objdump 如何使用 -S 选项显示源代码?

二进制文件中是否有对源文件的引用?我尝试在二进制文件上运行字符串,但找不到对列出的源文件的任何引用...

0 投票
2 回答
9658 浏览

java - 是否有用于 java 的反汇编器 + 调试器(用于汇编器的 ala OllyDbg / SoftICE)?

是否有类似于 OllyDbg / SoftICE for java 的实用程序?即执行类(来自 jar / 带有类路径),并且在没有源代码的情况下显示中间代码的反汇编,能够单步执行/跳过/搜索引用/在内存中编辑特定的中间代码/将编辑应用于文件.. .

如果没有,是否甚至可以编写这样的东西(假设我们愿意在调试期间没有热点)?

编辑:我不是在谈论 JAD 或 JD 或 Cavaj。这些都是很好的反编译器,但我不想要反编译器有几个原因,最值得注意的是它们的输出不正确(充其量,有时只是完全错误)。我不是在寻找神奇的“Java 代码的编译字节”——我想查看即将执行的实际字节。另外,我希望能够更改这些字节(就像在程序集调试器中一样),并希望将更改的部分写回类文件。

Edit2:我知道 javap 存在 - 但它只做一种方式(并且没有任何类型的分析)。示例(取自 vmspec 文档的代码):从 java 代码中,我们使用“javac”来编译:

到 java .class 文件。使用 javap -c 我可以得到这个输出:

这对于反汇编部分来说是可以的(没有分析就不是很好 - “字段#4是Example.i”),但我找不到其他两个“工具”:

  1. 一个可以检查指令本身的调试器(带有堆栈、内存转储等),允许我检查实际的代码和环境。
  2. 一种逆转该过程的方法 - 编辑反汇编代码并重新创建 .class 文件(使用编辑后的代码)。
0 投票
2 回答
35909 浏览

c - 找出静态 C 库有哪些功能

我有一个静态 C 库(比如mylib.a),我想知道是否有可能找出该文件中实现了哪些函数。我没有对应的头文件。我需要的是类似于javapJava 的东西。

0 投票
2 回答
126 浏览

disassembly - 在内存大于 4G 的机器上拆机是什么样子的?

这是在我的 4G 以下的笔记本电脑上的样子:

使用大于 4G 的 RAM 的人可以粘贴转储文件吗?

我认为它应该不再像0x004012f7它的容量只有 2^32=4G