鱼C论坛

 找回密码
 立即注册
查看: 1792|回复: 6

求解局部变量

[复制链接]
发表于 2014-3-25 09:23:27 | 显示全部楼层 |阅读模式
4鱼币
不清楚怎么用栈保存局部变量求讲,谢谢

最佳答案

查看完整内容

随便帖一段代码给你说下 00686f30 53 push ebx 00686D11 56 push esi 00686D12 57 push edi 这里是保存环境,程序尾部会POP还原 00686D13 83C4 F8 add esp, -8 这里申请了(2个DWORD型)局部变量 00686D16 894C24 04 mov dword ptr [esp+4], ecx 把ECX的值放入申请的一个局部变量 00686D1A 891424 mov ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-25 09:23:28 | 显示全部楼层
本帖最后由 lslin 于 2014-3-26 09:28 编辑

随便帖一段代码给你说下
00686f30    53              push    ebx
00686D11    56              push    esi
00686D12    57              push    edi              这里是保存环境,程序尾部会POP还原
00686D13    83C4 F8         add     esp, -8    这里申请了(2个DWORD型)局部变量
00686D16    894C24 04       mov     dword ptr [esp+4], ecx  把ECX的值放入申请的一个局部变量
00686D1A    891424          mov     dword ptr [esp], edx      把EDX的值放入申请的另外一个局部变量
00686D1D    33D2            xor     edx, edx
00686D1F    8B3424          mov     esi, dword ptr [esp]    这里是把局部变量的值放到ESI
00686D22    2BB0 140B0800   sub     esi, dword ptr [eax+80B14]
00686D28    8B4C24 04       mov     ecx, dword ptr [esp+4]
00686D2C    2B88 180B0800   sub     ecx, dword ptr [eax+80B18]
00686D32    85F6            test    esi, esi
。。。。。。
。。。。。。

上面是我最近逆向的代码,将就将就,(其实这段没有保存栈地址,只不过保证了栈平衡就行了)
下面[ESP]什么的自己想象,有代码很容易理解,我只帖上头部的代码,一般尾部都会平衡栈,比如上面的代码
的尾部一般会有 ADD ESP,8  
希望对楼主有所帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-25 15:44:40 | 显示全部楼层
用栈保存局部变量: 比如你想把ax中的值保存进栈,就用push ax  这样ax中的数据就进栈了然后你就可以使用ax了,需要的时候 再pop  ax  这样的ax中的数据就又 回到ax中了!(但是注意 栈的指针即sp 的变化,一切都要在你的掌握之中啊!!呵呵!!)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-25 19:29:46 | 显示全部楼层
3个局部变量如:
int a=0,b=1,c=2;
相当于:
movl $0,%eax
pushl %eax
movl $1,%eax
pushl %eax
movl $2,%eax
pushl %eax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-25 20:41:28 | 显示全部楼层
看一下 逆向分析的书籍
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-25 21:45:12 | 显示全部楼层
把程序往OD里面一扔。。观察
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-27 09:56:07 | 显示全部楼层
很简单啊!栈的特征就是先进后出啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-30 19:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表