问一个内存补丁相关汇编代码
本帖最后由 wlsk888 于 2019-10-11 10:10 编辑如下od代码如下
009E6201 8B5C24 1C mov ebx,dword ptr ss: ;堆栈 ss:=0879D2A8, (ASCII "C:\Program Files (x86)\aaa\bbb\ccc\ddd\")
009E6205 8B8C24 90F8FF>mov ecx,dword ptr ss: ;堆栈 ss:=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
本人小白,说的不太清楚,求看明白的帮助下!!!
页:
[1]