lihui0520 发表于 2017-1-10 13:30

楼主讲的很具体详细啊,有点基础的就能看懂,收货很大,非常感谢

yale 发表于 2017-1-10 23:11


学习楼主的教程谢谢分享

梦幻岛主 发表于 2017-1-11 08:37

Shy 发表于 2016-12-14 13:10
不过还是问一下 retn 4表示有1个参数是为什么?4在16进制和10进制中也是4啊?那么原则上来说是有4个参的 ...

修改程序主要就是平栈,这个是程序执行的规则
因为里面保存了每个函数的参数和返回值
在进入这个函数前push了多少次 每次乘于4 ,因为32位程序每个栈占4字节
进入后ret 指令相当于 popjmp   取栈上第一条地址作为返回地址并弹出栈

平盏有两种方式
你看到的是一种
还有一种是

push 1
push 2
callXXXXX   <= 里面只有ret   
add esp,8<= 这里也是平盏操作

宁外说下
ebp+xx是参数偏移,ebp-xx是局部变量偏移
参数 N <---
参数 2 <---
参数 1 <---
返回地址 <---
旧的ebp值(调用者的ebp) <---
局部变量 1 <---
局部变量 2 <---

za6268963 发表于 2017-1-11 08:59


厉害厉害

615198 发表于 2017-1-11 20:32

积分不够啊0 0

1459562 发表于 2017-1-21 20:12

代表4个呗!

狂放 发表于 2017-1-21 22:44

2017,让我们17吾爱汇编论坛!

lovejingqing 发表于 2017-1-22 10:24


mark一下,再详看

a779260718 发表于 2017-2-1 15:54

CALL的上层怎么找哦

MJL399062763 发表于 2017-2-2 12:05

哈哈哈哈好东西试试水
页: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18
查看完整版本: 易语言信息框+基础逆向+写call