社区
汇编语言
帖子详情
mov指令问题求助?
daoge2010
2010-11-29 05:17:04
请问:mov edx,dword ptr ss:[ebp-60]可以转换成什么等价语句?还有它与lea edx,dword ptr ss:[ebp-60]有什么区别,谢谢!
...全文
248
11
打赏
收藏
mov指令问题求助?
请问:mov edx,dword ptr ss:[ebp-60]可以转换成什么等价语句?还有它与lea edx,dword ptr ss:[ebp-60]有什么区别,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chzhn
2010-12-20
打赏
举报
回复
mov edx,dword ptr ss:[ebp-60] => edx = *(ebp-60)
lea edx,dword ptr ss:[ebp-60] => edx = ebp-60
daoge2010
2010-12-01
打赏
举报
回复
[Quote=引用 8 楼 nanlingcg 的回复:]
0053065F 8B55 A0 mov edx,dword ptr ss:[ebp-60]
改: mov dex,dword ptr ss:[eax-4]
[/Quote]
还有mov edx,dword ptr ss:[eax-4]占4个字节,比mov edx,dword ptr ss:[ebp-60]多占一个字节啊!
daoge2010
2010-12-01
打赏
举报
回复
[Quote=引用 8 楼 nanlingcg 的回复:]
0053065F 8B55 A0 mov edx,dword ptr ss:[ebp-60]
改: mov dex,dword ptr ss:[eax-4]
[/Quote]
谢谢,能跟我解释下为什么这样改吗,非常感谢你!
nanlingcg
2010-12-01
打赏
举报
回复
0053065F 8B55 A0 mov edx,dword ptr ss:[ebp-60]
改:
mov dex,dword ptr ss:[eax-4]
daoge2010
2010-12-01
打赏
举报
回复
谢谢楼上的各位,现在情况是这样的,我有个程序被卡巴定义为病毒,我查特征码为00530660处
00530657 E8 B48AEDFF call test1.00409110
0053065C 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
0053065F 8B55 A0 mov edx,dword ptr ss:[ebp-60]
00530662 E8 FD46EDFF call test1.00404D64
即0053065F 8B55 A0 mov edx,dword ptr ss:[ebp-60]
想问大家该怎么改成能不被杀,
0053065C 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
0053065F 8B55 A0 mov edx,dword ptr ss:[ebp-60]
这两句我换了位置后还是被杀!谢谢!
lelec
2010-11-29
打赏
举报
回复
貌似
mov 是数据传送指令
lea 是有效地址传送指令
nanlingcg
2010-11-29
打赏
举报
回复
[Quote=引用楼主 daoge2010 的回复:]
请问:mov edx,dword ptr ss:[ebp-60]可以转换成什么等价语句?还有它与lea edx,dword ptr ss:[ebp-60]有什么区别,谢谢!
[/Quote]
二者是有区别的:
mov edx,dword ptr ss:[ebp-60]
是取ss:[ebp-60]的值进EDX,就是说如果ESP=160,mov edx,dword ptr ss:[ebp-60]就相当于MOV EDX,SS:[100]
而lea edx,dword ptr ss:[ebp-60]是取偏移地址进EDX,如果ESP=160,lea edx,dword ptr ss:[ebp-60]就相当于MOV EDX,100
OD反汇编出来的代码就那样...
mov edx,dword ptr ss:[ebp-60]可以转换成什么等价语句?
不大好等价了,如果EBP是个固定数倒可以改直接寻址,但EBP是固定数的可能性不是很大!
masmaster
2010-11-29
打赏
举报
回复
[Quote=引用 2 楼 daoge2010 的回复:]
引用 1 楼 masmaster 的回复:
如果是16位的话,mov和lea还是有区别的,因为不能用dx作为寄存器间接寻址内存单元。而32位代码的话,8个通用寄存器都可以用于寄存器间接寻址。
我是用OD打开看的。那也就是说这两句是一样的意思?
还有mov edx,dword ptr ss:[ebp-60]还可以用什么等价的语句替换吗?
[/Quote]
是不是一个意思, 我想, 还是要看上下文吧?
masmaster
2010-11-29
打赏
举报
回复
mov edx,dword ptr ss:[ebp-60] 也可以写出 mov edx,[ebp-60] 吧。
因为edx本身就是32位长度,这里没有必要用段超越吧
daoge2010
2010-11-29
打赏
举报
回复
[Quote=引用 1 楼 masmaster 的回复:]
如果是16位的话,mov和lea还是有区别的,因为不能用dx作为寄存器间接寻址内存单元。而32位代码的话,8个通用寄存器都可以用于寄存器间接寻址。
[/Quote]
我是用OD打开看的。那也就是说这两句是一样的意思?
还有mov edx,dword ptr ss:[ebp-60]还可以用什么等价的语句替换吗?
masmaster
2010-11-29
打赏
举报
回复
如果是16位的话,mov和lea还是有区别的,因为不能用dx作为寄存器间接寻址内存单元。而32位代码的话,8个通用寄存器都可以用于寄存器间接寻址。
对网友
求助
问题
的几个回帖展示之四十三
师傅们,帮我分析下怎么理解指针的含义,为什么第一步的AC1的值是134217928,第二步的*AC1的值3106(vw200),为什么我在状态表里吧VB200写了个12的值而程序里&vb200的值是16#080000C8呢?
linux arm 加壳,[
求助
]一个变态的花
指令
的arm
[
求助
]一个变态的花
指令
的arm2006-2-3 20:215237[
求助
]一个变态的花
指令
的arm2006-2-3 20:215237一个变态的花
指令
的arm
问题
:这是arm的什么保护形式?iat如何得到?找oep非常容易。找到oep为00401EBC,如下:0012EB7401 00 00 00 A8 08 00 00...?..0012EB7C64 0F 00 00 01 00 ...
汇编
指令
对应机器码表
最近很多发帖
求助
机器码与汇编
指令
对应的
问题
,所以自己索性就把资料直接贴出来了,大家都可以看到,因为汇编教科书里面没有说到此点,大家想了解就细细琢磨一下把! 一、状态寄存器 PSW(Program Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成,如下所示: 15 14 13 12 11 10 98 7 6 5 4 3 2 1 0
操作系统实验五:保护模式之初步认知门任务(
求助
:如何使用其他
指令
替代或模拟retf
指令
)
向汇编高手
求助
: 此次实验中需要用到retf
指令
在调用门任务后返回。可是yc09编译器不支持retf
指令
。而我使用ret
指令
无法正确跳转返回。 因为对汇编不熟,胡乱试了许多方法后依然无法解决,无奈之下,只好在编译好代码后直接修改机器
指令
码。希望有路过的高手、大牛等告说我在不换编译器的前提下如何解决这
问题
。 使用retf
指令
报错信息: pm32.c(
机器码 与 汇编
指令
的关系
http://blog.csdn.net/z3410218746/article/details/7485602 最近很多发帖
求助
机器码与汇编
指令
对应的
问题
, 所以自己索性就把资料直接贴出来了,大家都可以看到,因为汇编教科书里面没有说到此点,大家想了解就细细琢磨一下把! 一、状态寄存器 PSW(Program Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag
汇编语言
21,499
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章