wlsk888 发表于 2019-10-11 10:05

问一个内存补丁相关汇编代码

本帖最后由 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]
查看完整版本: 问一个内存补丁相关汇编代码