问题标签 [ida]

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

c - 用 ida pro 打补丁

我有这样的程序

我正在尝试修补它以用 diff 函数替换 somma 函数的调用。在 E8 79 FF FF FF 和 diff 函数有 op E8 70 FF FF FF 所以我试图做的是:用 diff 替换 somma 函数的 op。所以我的 somma op 变成了 E8 70 FF FF FF 但是当我尝试执行它时,我收到了一个分段错误。为什么?我的错误是什么?

编辑这是我工作的屏幕。 伊达亲

0 投票
1 回答
2802 浏览

c++ - 使用内联 asm 挂钩用户调用

我用 IDA pro 反汇编了一个可执行文件。我的目标是挂钩 __usercall 函数。我知道我需要在我的 C++ 代码中用 inine asm 包装 __usercall,因为我不能 typedef thefunction。但我只是不确定这是如何工作的。

我知道该函数将一个对象作为参数,将 *Vector3 作为参数,计算值将存储在其中。有没有一种简单的方法来判断哪个参数是什么?

(对不起,长代码)


ASM 可能是错误的,这样的事情会接近吗?

这段代码中缺少的一件事是用户调用的地址(0x572EA0)。不知道该放在哪里...


这就是程序调用函数的方式。电话在底部:http: //i43.tinypic.com/2mez9c8.jpg

0 投票
1 回答
1342 浏览

iphone - 如何使用 IDA /pro 修补 iPhone 应用程序?

我正在尝试修补为此任务创建的自己的程序。

不幸的是,一旦我做了非常简单的补丁并将应用程序发送到我的 iPod touch,它会在我启动应用程序时立即崩溃。

我正在使用带有补丁菜单的 IDA pro 6.2。我使用 ARM 处理器选项打开我的进程。

这是正确的吗?

0 投票
4 回答
10370 浏览

ida - 有没有办法从 IDA Pro 导出函数名称?

我需要一种方法来复制使用 IDA Pro 反汇编的二进制文件的所有函数名称。是否有从 IDA 导出函数的选项?

0 投票
1 回答
557 浏览

iphone - 使用 IDA 修补 iphonecalculator.app 以进行测试

我正在尝试修补 iPhone 计算器以用该+功能替换该功能,但没有成功-。我做了一些事情,但是当我尝试从我的 iPhone 启动它时它崩溃了。

我要做的是:

  1. 打开 .app 文件并查找包含代码的文件。
  2. 做我的工作:修补它,然后将其重新加载到手机中。
  3. 我打开calculator.app 并将我的可执行文件复制到那个“文件夹”中。

但它不起作用,我的应用程序崩溃了。

我也尝试只重命名一些字符串(基本补丁),但结果总是一样的。我的应用程序总是崩溃。我认为我的方法不正确。

我的错误是什么?

0 投票
1 回答
948 浏览

objective-c - ARM 程序集 (IOS) 中目标 C 选择器的偏移量

我试图了解 IOS 目标 C 消息调用是如何用 ARM 汇编语言实现的。查看 IDA 反汇编输出,我可以看到在调用 __obj_msgsend 之前将类和选择器引用推入寄存器。这是完全合理的,但奇怪的是这些值有一个奇怪的偏移量。

类 ref 中的 0x29BC 值似乎指向具有一定逻辑的 __obj_msgsend 之后的指令,但 0x29B0 选择器 ref 指向随机 MOVT 指令。更糟糕的是,每个选择器调用的偏移量似乎都不同。

有谁知道这些偏移量来自哪里?为什么它们不只是引用指令的地址+ 8?

更新:这是另一种情况:

感谢 Igor 的解释,我了解 0x2758 的来源,但这里的数学计算不成立:selRef_view - 0x2758 = 0x49A8 - 0x2758 = 0x2250。但是第一条指令中的数据是 50 12,转换为 0x1250,比我预期的少 0x1000。有任何想法吗???

0 投票
3 回答
876 浏览

mips - MIPS 反汇编:lui 后跟 lbu

我正在使用 IDA(mipsb 处理器)拆卸固件

我在 IDA 的dissasm 中看到了很多。

......什么都不做$t9......并且不跳..

这对我来说毫无意义。在第一行: $t9变为 0x802F0000 在第二行:$t9变为存储在堆栈上该位置的任何字节。

如果我是对的,那有什么意义呢?这是使用的编译器的事故,还是程序员的事故,或者我错过了什么?

在此处输入图像描述

0 投票
2 回答
1690 浏览

patch - 用 IDA PRO 修补一个简单的 c 程序得到分段错误

这是我的程序:

我更改了操作代码...在此图像中的十六进制编辑中但是当我运行我的程序时出现分段错误。

图像1

图2

在此处输入图像描述

0 投票
2 回答
3518 浏览

windows - 使用 IDA Pro 5 逆向工程简单应用程序

此应用程序是 hackthissite.org 网站上的第一个应用程序挑战。

这个想法是找到连续剧。当您输入序列号并按确定时,它会弹出一个消息框,如果正确,则会弹出一个消息框,其中包含用于挑战的密码,或者一条消息说序列号错误。为了解决这个问题,您应该在 0x1670FE 的二进制文件中找到明文密码。

我试图找到 IDA Pro,将您输入的字符串与二进制文件中的序列进行比较。

我希望能够找到它的比较位置,能够更改跳转以允许它接受任何错误的密码,或者更改它以使其接受任何密码。

我似乎无法做到这一点。我找到了消息框的显示位置(通过搜索 Messagebox 并添加断点),它将“Sorry”或“Correct”字符串的地址推入堆栈。

我尝试在这些字符串的地址和 Serial 本身上添加断点,但它似乎不起作用。IDA 似乎没有将它们识别为字符串,它们不会出现在 sting 窗口中。

我也尝试过返回此功能,但我达到了似乎无法再返回的地步。

任何帮助、信息或提示将不胜感激。我真的很想知道如何解决这种问题。

对不起,如果这是一个非常基本的问题。

谢谢。

0 投票
2 回答
2342 浏览

x86 - 对程序的更改。IDA 反汇编程序

代码中有这样的部分。

我想将值“ 493E0h ”更改为另一个值。如何在 IDA 中做到这一点?谢谢!