首页
论坛
课程
招聘
[旧帖] [求助]OD中汇编,如何改变某一存储单元的值 0.00雪花
2008-4-18 01:38 3980

[旧帖] [求助]OD中汇编,如何改变某一存储单元的值 0.00雪花

2008-4-18 01:38
3980
00702180    51              push    ecx
00702181    B9 40217000     mov     ecx, 00702140                    ; ASCII "11111111111111111111111111111111"
00702186    81FE 389A4701   cmp     esi, 1579A39                     ; ASCII "22222222222222222222222222222222"
0070218C    75 0A           jnz     short 00702198
0070218E    81FA B0203E01   cmp     edx, 13E2000
00702194    75 02           jnz     short 00702198
00702196    87CE            xchg    esi, ecx                         ; test.00702140
00702198    59              pop     ecx

执行上述语句后,寄存器如下:

ECX 01479A38  ASCII "11111111111111111111111111111111"

ESI 00702140   ASCII "22222222222222222222222222222222"

Ecx与ESI互换了,但实际内存存储单元未变化,请问如果将ESI所指存单单元的值改为Ecx所指的存存单元的值,最好不互换.,不懂汇编,请大侠帮助,谢谢!

[2023春季班]《安卓高级研修班(网课)》月薪两万班招生中~

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 113
活跃值: 活跃值 (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
OrochiZ 活跃值 2008-4-18 03:41
2
0
ESI 所指的内存单运不是 32位数啊 ,是个字符串啊
你的用 字符串函数操作下吧

我可能比你更菜
雪    币: 139
活跃值: 活跃值 (162)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
crbb 活跃值 2008-4-18 07:17
3
0
那位大侠能给出代码,谢谢!
雪    币: 7510
活跃值: 活跃值 (412)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
achillis 活跃值 15 2008-4-18 09:12
4
0
[QUOTE=crbb;442638]将ESI所指存单单元的值改为Ecx所指的存存单元的值,最好不互换QUOTE]

按你的意思,把ECX所指内存单元的值copy到esi所指内存单元中?
memcpy不就可以了嘛。你看看memcpy是怎么写的。不过好像也不用这么麻烦
雪    币: 118
活跃值: 活跃值 (268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
渗透 活跃值 2008-4-18 19:50
5
0
有必要吗? 指针指向 不是更好?
雪    币: 139
活跃值: 活跃值 (162)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
crbb 活跃值 2008-4-18 22:56
6
0
能说的具体些,给个代码?//
雪    币: 139
活跃值: 活跃值 (162)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
crbb 活跃值 2008-4-20 20:31
7
0
顶一下,那位给个具体点的思路或者代码来实现,谢谢
游客
登录 | 注册 方可回帖
返回