-2

如果我知道编译程序的 32 位版本中的某些内容(查看汇编代码),我如何找到在 64 位版本的程序中执行相同内容的 64 位指令(除了是 64 位其他方面相同,没有附加功能)

人们建议我以某种方式学习下面的手册以获得答案: http: //www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

但问题是我不知道他们在暗示什么,有没有人可以向我展示这看起来如何的示例/示例?

基本上 - 我可以从程序的 32 位版本中获取一组行并手动将它们“翻译”成 64 位代码,以便我可以在 64 位版本中找到相应的部分吗?

4

1 回答 1

1

即使您“翻译”了它们,也不太可能找到一对一的对应关系。x64 具有额外的寄存器、额外的寻址方案、不同的结构和数据大小以及施加限制的对齐要求。再加上编译器执行的优化,您不太可能按照您的建议进行操作。

call您可以通过定位附近的指令并通过其目标或唯一(或稀有)常量来识别它们来获得提示。

说了这么多,你到底想达到什么目标,你想解决什么问题

于 2013-05-20T06:16:46.703 回答