好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 wlsk888 于 2019-10-11 10:10 编辑
如下od代码如下
009E6201 8B5C24 1C mov ebx,dword ptr ss:[esp+0x1C] ; 堆栈 ss:[0ED5EDC4]=0879D2A8, (ASCII "C:\Program Files (x86)\aaa\bbb\ccc\ddd\")
009E6205 8B8C24 90F8FF>mov ecx,dword ptr ss:[esp-0x770] ; 堆栈 ss:[0ED5E638]=0E3D9850, (UNICODE "C:\Users\Administrator\Documents\aaa\xxx.zip")
009E620C BE A86DC500 mov esi,yyy.00C56DA8 ; ASCII "xxx.zip "
009E6211 BF B46DC500 mov edi,yyy.00C56DB4 ; ASCII "yyy.zip "
-----------------------------------------------------------------------------------------------------------
我要生成如下4个字符串,并进行拷贝!请问用汇编如何写的最小:
C:\Program Files (x86)\aaa\bbb\ccc\ddd\xxx.zip
C:\Program Files (x86)\aaa\bbb\ccc\ddd\yyy.zip
C:\Users\Administrator\Documents\aaa\xxx.zip
C:\Users\Administrator\Documents\aaa\yyy.zip
----------------------------------------------------------------------------------------------------------
以上字符串,前3个可以用lstrcatA连接,或者直接连接字符串放一个内存地址中(随便问下这个连接要怎么写)
但C:\Users\Administrator\Documents\aaa\yyy.zip,如何得到?
拷贝可用exe中的CopyFileA
push 0x1 ; /FailIfExists = TRUE
push 文件名1 ; |NewFileName = NULL
push 文件名2 ; |ExistingFileName = NULL
call dword ptr ds:[<&KERNEL32.CopyFileA>] ; \CopyFileA
本人小白,说的不太清楚,求看明白的帮助下!!!
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|