安全C组 发表于 2018-9-30 08:30

求助 ret ret 4 ret8 问题

本帖最后由 安全C组 于 2018-9-30 10:27 编辑

{:5_188:}如题,ret 和ret 4 ret8返回的地址一样吗?后面带数字是不是因为要平衡堆栈才这样写的?

还有以前E盾登录段首还有 ret 10 的处理方法 什么样的数据竟然是10个字节? 或者 ret 18 这种是十六进制的,转换到十进制是16和24个字节?

看了看汇编关于ret的讲解,对于ret有一点了解了,但是还是不了解ret 4 这种后面带数字的会不会影响返回的地址。。。

{:5_191:}有没有大佬知道啊。。。

难寻。 发表于 2018-9-30 08:30

sub esp ,变量个数
retn 参数个数

retn 10 是4个参数
有没有影响你考虑一下

FLYX 发表于 2018-9-30 08:50

不一样,ret多少对应跳出ret多少的程序段

BEYOND3892 发表于 2018-9-30 09:32

我正常都是段尾retn 几,我就retn 几,,,但我发现很多E盾教学视频里,直接写的retn也正常爆破没问题

chinamsu 发表于 2018-9-30 09:57

直   接写ret

安全C组 发表于 2018-9-30 10:23

难寻。 发表于 2018-9-30 08:58
sub esp ,变量个数
retn 参数个数



我感觉没影响,我感觉ret n是根据压入栈内的参数决定的,为了堆栈平衡,返回的地址一样是调用该call的地方

安全C组 发表于 2018-9-30 10:25

难寻。 发表于 2018-9-30 08:58
sub esp ,变量个数
retn 参数个数


{:5_188:}以前不理解,纳闷什么数据占用10个字节,刚才想想应该是16个字节 进制问题没考虑 - -

byh3025 发表于 2018-9-30 12:53

听大牛说是为了堆栈平衡,压入多少就返回多少
页: [1]
查看完整版本: 求助 ret ret 4 ret8 问题