Windows mobile ARMV4i(Windows Mobile 6)本机代码反汇编程序

Windows mobile ARMV4i(Windows Mobile 6)本机代码反汇编程序,windows-mobile,arm,disassembly,Windows Mobile,Arm,Disassembly,有人知道ARMV4i可执行文件和DLL的反汇编程序吗 我有一个插件DLL,我正在用一个非常罕见的数据中止(几年前,我在做一些嵌入式工作时发现了一个我使用的ARM反汇编程序。但是,我不记得它的名字了——尽管我认为它是一个更大的软件包的一部分,比如模拟器之类的 在您的例子中,您是否可以要求编译器生成已编译代码的程序集列表?这可能会帮助您获得一些范围 如果不能做到这一点,你可以将你的函数分解成一个或多个新函数,如果你只能得到堆栈跟踪的话。然后再将新函数分解成一个或多个。这是一种久经考验的“分而治之”方

有人知道ARMV4i可执行文件和DLL的反汇编程序吗


我有一个插件DLL,我正在用一个非常罕见的
数据中止
(几年前,我在做一些嵌入式工作时发现了一个我使用的ARM反汇编程序。但是,我不记得它的名字了——尽管我认为它是一个更大的软件包的一部分,比如模拟器之类的

在您的例子中,您是否可以要求编译器生成已编译代码的程序集列表?这可能会帮助您获得一些范围

如果不能做到这一点,你可以将你的函数分解成一个或多个新函数,如果你只能得到堆栈跟踪的话。然后再将新函数分解成一个或多个。这是一种久经考验的“分而治之”方法。如果你在一个函数中有35个对memset()的调用,从设计的角度来看,这也是一个好主意


更新:我找到了我使用的软件包:。它适用于我正在开发的ARM9代码,但看起来它已经有一段时间没有更新了。

我相信这会满足你的需要。O'Reilly Security Warrior一书中提到了它,我在Windows Mobile开发者论坛上看到了它的推荐。

IDA Pro肯定会使用ARM他们(Datarescue)曾经在当地时间晚上11点左右为我安排了一个许可证,所以我想推荐他们

从这一点上看,公司进行了一些重组,但我想这仍然是一个好产品

这里是新出版商的链接:

是一个Windows Mobile/Pocket PC/Win CE(用于ARM CPU)反汇编程序

你也可以看看BDASM,一个共享软件反汇编程序——更高版本有ARM插件。该网站似乎已经关闭,但如果你搜索它,你会找到共享软件发行版

简单ARM反汇编程序的源代码也可以使用

binutils(linux编译器工具)objdump可用于生成反汇编,“objdump-b binary-m arm7tdmi-D file_name”


-Adam

编译器生成的程序集列表也很有帮助;它可能更容易与源代码关联。通常
数据中止
打印堆栈和帧指针;当然链接寄存器
lr
会很有帮助。我希望Windows Mobile提供此信息。