1197225869 发表于 2017-5-18 22:32

我想知道这个是什么意思

本帖最后由 1197225869 于 2017-5-18 22:37 编辑

E盾   改 mov eax,0x1   还有retn 10是什么意思啊 我不怎么懂来大神解释一下


lx211823654 发表于 2017-5-18 22:46

将eax的值赋为1,然后退出这个call

1197225869 发表于 2017-5-18 22:49

lx211823654 发表于 2017-5-18 22:46
将eax的值赋为1,然后退出这个call

retn 10这个啥意思( ⊙ o ⊙ )啊!

云烟尽处 发表于 2017-5-18 23:51

retn 10 表示函数返回,同时把esp加10H进行堆栈平衡。在函数调用时,向该函数传递了10H个字节的参数,在stdcall,fastcall调用约定里,由被调用的函数进行堆栈平衡,因此retn后有个数值。如果看到retn后没有参数,说明该函数没有用堆栈传递参数,或者是c调用约定,有主调函数进行堆栈平衡。

云烟尽处 发表于 2017-5-18 23:54

这都是基本的汇编指令,如果真正的想有所成就,还是学习一下汇编吧

X.C 发表于 2017-5-19 01:30

去看看恒大的教程。

1197225869 发表于 2017-5-19 09:01

云烟尽处 发表于 2017-5-18 23:54
这都是基本的汇编指令,如果真正的想有所成就,还是学习一下汇编吧

在哪里学习好啊 都是老视频

byh3025 发表于 2017-5-19 09:03

这个CALL可能是个算法CALL,它经过一系列的计算,得出结果是0,就会有诸多的限制,而我们呢,就不让它计算了,直接给它一个是1 的结果,下面的就不让它计算了,retn 退出这个CALL ,retn 10是说这个call的返回是retn 10,是为了照顾堆栈平衡

1197225869 发表于 2017-5-19 09:04

byh3025 发表于 2017-5-19 09:03
这个CALL可能是个算法CALL,它经过一系列的计算,得出结果是0,就会有诸多的限制,而我们呢,就不让它计算 ...

不是很懂啊新手

byh3025 发表于 2017-5-19 10:01

1197225869 发表于 2017-5-19 09:04
不是很懂啊新手

看看恒大的百集教程,你会有很多收获的
页: [1] 2
查看完整版本: 我想知道这个是什么意思