代码没有什么技术含量,原理就是运行2次程序,判断一下,改名就ok。
代码贴出
.版本 2
.支持库 shell.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 运行路径, 文本型
.局部变量 自身资源, 字节集
.局部变量 原本路径, 文本型
.局部变量 最后路径, 文本型
' 这是方法一
' 方法二就是把自身运行于内存之中 可以直接进行改名不用下面这么复杂 但是已经运行于内存 改名已经没有多大意义的 这个百度应该可以找到 我朋友成功过 这里就不写了
' !!!!!!!!!!!!!
' 另外 特定目录不能改成10 改成10 后 写到文件会出错 暂时不知道原因 特定10 是system目录 但是写到文件会无缘无故的写到SysWOW64里面去
' !!!!!!!!!!!!!
' 临时文件释意
' tmp_1.bak :自身的资源信息 用于改名输出自身
' tmp_2.bak :自身的运行路径 不包括文件名
' tmp_3.bak :自身的运行路径 包括文件名
' tmp_4.bak :用于判断是否改名成功
置随机数种子 ()
.判断开始 (寻找文本 (取运行目录 () + “\”, 取特定目录 (9), , 真) = -1)
运行路径 = 取运行目录 () + “\”
.判断开始 (文件是否存在 (运行路径 + “tmp_4.bak”) = 假)
' 信息框 (“首次运行 还没有改名字”, 0, , )
自身资源 = 读入文件 (运行路径 + 取执行文件名 ())
写到文件 (取特定目录 (9) + “tmp_1.bak”, 自身资源)
写到文件 (取特定目录 (9) + “tmp_2.bak”, 到字节集 (运行路径))
写到文件 (取特定目录 (9) + “tmp_3.bak”, 到字节集 (运行路径 + 取执行文件名 ()))
运行 (取特定目录 (9) + “tmp_1.bak”, 假, )
结束 ()
.默认
' 信息框 (“改名字成功 删除临时文件”, 0, , )
文件_循环删除 (到文本 (读入文件 (取特定目录 (9) + “tmp_3.bak”)))
删除文件 (取特定目录 (9) + “tmp_1.bak”)
删除文件 (取特定目录 (9) + “tmp_2.bak”)
删除文件 (取特定目录 (9) + “tmp_3.bak”)
删除文件 (取运行目录 () + “\tmp_4.bak”)
' 这里写_启动窗口创建完毕的代码
' 这里写_启动窗口创建完毕的代码
' 这里写_启动窗口创建完毕的代码
' 这里写_启动窗口创建完毕的代码
' 这里写_启动窗口创建完毕的代码
' 这里写_启动窗口创建完毕的代码
' 这里写_启动窗口创建完毕的代码
.判断结束
.默认
' 信息框 (“正在改名字的过程中”, 0, , )
运行路径 = 取运行目录 () + “\” + 取执行文件名 ()
原本路径 = 到文本 (读入文件 (取特定目录 (9) + “tmp_2.bak”))
自身资源 = 读入文件 (运行路径)
最后路径 = 原本路径 + 到文本 (取随机数 (10000, 99999)) + “.exe”
写到文件 (最后路径, 自身资源)
写到文件 (原本路径 + “tmp_4.bak”, 到字节集 (“0”))
运行 (最后路径, 假, )
结束 ()
.判断结束