【发布时间】:2017-07-24 23:19:21
【问题描述】:
我已经阅读并观看了很多 youtube 视频,但没有任何进展。 我正在尝试从一个名为 hackcenter 的网站学习,他们用汇编代码向我提出了这样的问题。
testazza: //No idea what this is doing
.LFB0: //No idea what this is doing either
push ebp
mov ebp, esp //Creating the stack i guess
mov eax, DWORD PTR [ebp+8] //Moves 8bytes of memory allocation (Dont know what DWORD PTR DOES though)
imul eax, eax, -1795719608 //(Multiply what? Is -1795719608 a memory adress?
pop ebp //Pop the pointer
ret //Return
说实话,我认为对此没有足够的解释,所以如果有人能帮助我理解这个程序实际上在做什么,我将不胜感激。
【问题讨论】:
-
第一行是标签,你应该已经知道了。
-1795719608只是一个数字,eax是乘以它。 PS:确保你有一个指令集参考,这样你就可以自己查找指令。 -
imul eax, eax, constant 不是指令。检查你的工作。
-
考虑阅读汇编教程。这些问题非常基本,最好通过系统地学习汇编编程来回答。
-
-
我想知道 -1795719608 是否是一些“神奇”的数字。如果你看一下 hackcenter 的例子,这解释了吗?