我希望有人可以帮我完成一段困难的代码。汇编语言对我来说是陌生的,我一直在读一本书“ Practical Malware Analysis”,发现很难完全理解。 这是我对以下代码的了解:
13添加到存储在内存中的var_C上。在顶部添加10。 13 + 10 = 23(二进制),即00010111。我们向左移动1,得出的结果为:0010 1110(十进制为46)。条件跳转上方的最后两行使我感到困惑。我不确定我是否正确地进行了此操作。但是我可以确认46是我一直在寻找的答案。但是,谁能确认我的方法是否正确?在条件跳转上方的最后两行呢? 感谢您的帮助
lea eax, [ebp+var_18]
mov [esp], eax
....
....
mov [ebp+var_C], 13
add [ebp+var_C], 10
shl [ebp+var_C], 1
mov eax, [ebp+var_18]
cmp eax, [ebp+var_C]
jnz short loc_4015F7