Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在堆上声明一个新变量(我不想使用堆栈)。我该怎么做?我想知道指令?假设有 10 个变量使用堆栈,我想更改它们的位置并将它们放在堆上。
简单的答案,用 C 编写一个简单的应用程序,使用getmem. 拿起反汇编器,查看编译器生成的 x64 代码。 您必须在汇编程序中重现相同的代码。
getmem
更长的答案: 没有将东西放在堆上的 x64 指令,大约需要 100 条指令才能做到这一点,这就是人们调用库函数的原因。 库函数是高度优化的,所以不要费心重新发明那个轮子。 获得内存引用后,它只是一个简单的指针。汇编擅长指针操作,因此应该很容易。