吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 830|回复: 11
收起左侧

[已解决] OD如何给指定地址赋字符串值

[复制链接]
lyrong2008 发表于 2024-4-14 19:26
本帖最后由 lyrong2008 于 2024-4-15 19:19 编辑

edx=02B2BCA4, (UNICODE "D:\123\321\1\")

eax=02B2A6CC

如何修改02B2A6CC的值为(UNICODE "D:\123\321\1\")


这段看似简单的代码困扰了我几天了,对于字符串赋值,如何赋值给一个指定的地址呢?


如果赋值给寄存器,只需要mov eax,edx,但是是往eax=02B2A6CC里头赋值,eax的值仍旧是02B2A6CC。


希望贵论坛的大哥大姐帮帮忙哈!真心尝试了很久然后出错了!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lies2014 发表于 2024-4-14 20:16
本帖最后由 lies2014 于 2024-4-14 20:18 编辑

[Asm] 纯文本查看 复制代码
mov esi,edx    ;源地址
mov edi,eax    ;目的地址
mov ecx,0xE    ;字符串长度(含结尾的 00 00)
cld        
rep movsw      ;复制字符串(Unicode为双字节)

免费评分

参与人数 1吾爱币 +1 收起 理由
lyrong2008 + 1 谢谢@Thanks!

查看全部评分

lies2014 发表于 2024-4-14 20:44
lyrong2008 发表于 2024-4-14 20:20
谢谢大哥,如果字符串长度是变动的,要怎么修改呢?

有计算字符串的办法吗?再辛苦下了!!!

[Asm] 纯文本查看 复制代码
00402BB0  xor ecx,ecx                 
00402BB2  mov bx,word ptr ds:[edx]    
00402BB5  inc ecx                     ;长度(含结尾的 00 00)
00402BB6  add edx,0x2                 ;单字节字符串改为1
00402BB9  cmp bx,0x0                  
00402BBD  jne 0x402BB2

免费评分

参与人数 1热心值 +1 收起 理由
lyrong2008 + 1 谢谢@Thanks!

查看全部评分

WFXL 发表于 2024-4-14 19:40
edx=02B2BCA4, (UNICODE "D:\123\321\1\")
这里的02B2BCA4指向的是内存地址,定位到这个内存地址,修改内容即可。
 楼主| lyrong2008 发表于 2024-4-14 19:43
WFXL 发表于 2024-4-14 19:40
edx=02B2BCA4, (UNICODE "D:\123\321\1\")
这里的02B2BCA4指向的是内存地址,定位到这个内存地址,修改内 ...

谢谢兄弟,我想应用mov等汇编指令修改,想在程序内部处理!
WFXL 发表于 2024-4-14 20:00
mov eax,edx之后,02B2A6CC的内容不就变成了(UNICODE "D:\123\321\1\")了吗?
Panel 发表于 2024-4-14 20:09
lyrong2008 发表于 2024-4-14 19:43
谢谢兄弟,我想应用mov等汇编指令修改,想在程序内部处理!

你再mov字符串也是需要一段内存来放啊
 楼主| lyrong2008 发表于 2024-4-14 20:13
Panel 发表于 2024-4-14 20:09
你再mov字符串也是需要一段内存来放啊

是的,但是如何让02B2A6CC这个内存的地址内容变成"D:\123\321\1\"呢?

希望帮忙解答下哈!

 楼主| lyrong2008 发表于 2024-4-14 20:20
lies2014 发表于 2024-4-14 20:16
[mw_shl_code=asm,true]mov esi,edx    ;源地址
mov edi,eax    ;目的地址
mov ecx,0xD    ;字符串长度( ...

谢谢大哥,如果字符串长度是变动的,要怎么修改呢?

有计算字符串的办法吗?再辛苦下了!!!

比如 edx=02B2BCA4, (UNICODE "D:\123\321\1\xxx\xxx\xxx")

Panel 发表于 2024-4-14 20:33
lyrong2008 发表于 2024-4-14 20:13
是的,但是如何让02B2A6CC这个内存的地址内容变成"D:\123\321\1\"呢?

希望帮忙解答下哈!

写内存啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 20:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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