找回密码
 加入
搜索
查看: 2007|回复: 9

[AU3基础] 去除Winrar自解压Exe的右键菜单

[复制链接]
发表于 2019-7-23 14:42:02 | 显示全部楼层 |阅读模式
怎么去除Winrar自解压Exe的右键菜单?
 楼主| 发表于 2019-7-23 14:50:57 | 显示全部楼层
jiake "readfile.exe" ,"rf.exe"

WScript.Echo "All done."
WScript.Quit(0)

Sub jiake(sfile,dfile)
        shex1="526172211A07"
        dhex1="520072211A07"
        shex2="807A0161"
        dhex2="807A0100"
        Chex sfile,dfile,shex1,dhex1 
        Chex dfile,dfile,shex2,dhex2 
End Sub

Sub Chex(byval sfile,byval dfile,byval shex,byval dhex)
        Dim myfolder
        myfolder = CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).ParentFolder.path
        sfile=myfolder & "" & sfile
        dfile=myfolder & "" & dfile
        MyData = Replace(ReadBinary(sfile), LCase(shex), LCase(dhex))
        WriteBinary dfile, MyData
End Sub

Function ReadBinary(byval FileName)
        Dim Stream, ObjXML, MyNode        
        Set ObjXML = CreateObject("Microsoft.XMLDOM")
        Set MyNode = ObjXML.CreateElement("binary")
        Set Stream = CreateObject("ADODB.Stream")        
        MyNode.DataType = "bin.hex"
        Stream.Type = 1
        Stream.Open
        Stream.LoadFromFile FileName        
        MyNode.NodeTypedValue = Stream.Read        
        Stream.Close        
        ReadBinary = MyNode.Text        
        Set MyNode = Nothing
        Set Stream = Nothing
        Set ObjXML = Nothing
End Function

Function WriteBinary(byval FileName, byval BufferData)
        Dim Stream, ObjXML, MyNode        
        Set ObjXML = CreateObject("Microsoft.XMLDOM")
        Set MyNode = ObjXML.CreateElement("binary")
        Set Stream = CreateObject("ADODB.Stream")        
        MyNode.DataType = "bin.hex"
        MyNode.Text = BufferData        
        Stream.Type = 1
        Stream.Open
        Stream.Write MyNode.NodeTypedValue
        Stream.SaveToFile FileName, 2
        Stream.Close        
        Set stream = Nothing
        Set MyNode = Nothing
        Set ObjXML = Nothing
End Function

这是vbs。
发表于 2019-7-23 17:32:45 | 显示全部楼层
把外壳集成全部不要勾选!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2019-7-23 23:13:02 | 显示全部楼层
baidu有啊
发表于 2019-7-24 00:07:00 | 显示全部楼层
不错支持一下
发表于 2019-7-24 01:25:21 | 显示全部楼层
将自解压文件往程序图标一拖,自动创建 “*_已去除" 文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2019-7-24 09:02:00 | 显示全部楼层
十分感 谢各位的答复!
我主要是想知道au3怎么修改资源信息的。
发表于 2019-7-24 11:12:19 | 显示全部楼层
这种用au3写就6-7行代码
FileOpen 以二进制方式(16)打开读取字符串
StringReplace 替换两处(如2#的7-10行)
以二进制方式(26)打开输出的新文件并FileWrite 写入
 楼主| 发表于 2019-7-25 08:54:15 | 显示全部楼层
afan 发表于 2019-7-24 11:12
这种用au3写就6-7行代码
FileOpen 以二进制方式(16)打开读取字符串
StringReplace 替换两处(如2#的7-10行 ...

十分感谢,我试试了。
发表于 2019-7-25 09:16:42 | 显示全部楼层
本帖最后由 zghwelcome 于 2019-7-25 09:26 编辑

Local $sFile,$open,$sReadBinIf $cmdline[0] = 0 Then Exit(1)
$sFile = $cmdline[1]
If Not StringRegExp($sFile,'(?i)\.exe$',0) Then Exit(2)
$open = FileOpen($sFile,16)
$sReadBin = FileRead($open)
FileClose($open)
$sReadBin = StringReplace($sReadBin,'526172211A07','520072211A07')
$sReadBin = StringReplace($sReadBin,'807A0161','807A0100')
$open = FileOpen(StringTrimRight($sFile,4) & '_已处理.exe',18)
FileWrite($open,$sReadBin)
FileClose($open)
MsgBox(512,'','处理完成!')

VBS改来的,处理后好像文件损坏
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 09:30 , Processed in 0.087585 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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