找回密码
 加入
搜索
查看: 6856|回复: 16

用Aut2exe.exe编译的exe如何能加上版权信息及版本号等

[复制链接]
发表于 2009-6-1 19:01:08 | 显示全部楼层 |阅读模式
本帖最后由 qddoit 于 2009-6-8 04:17 编辑

用Aut2exe.exe编译的au3出来,没有一下信息了,怎么回事啊

#AutoIt3Wrapper_Res_Comment=dabao.cn
#AutoIt3Wrapper_Res_Description=大包集成拨号工具
#AutoIt3Wrapper_Res_Fileversion=1.01
#AutoIt3Wrapper_Res_LegalCopyright=(C) dabao.cn

编译的au3中包含以上信息,鼠标右键编译都好用的,用命令行就不好了
发表于 2009-6-1 19:05:42 | 显示全部楼层
试下再脚本上右键用那个带选项编译
 楼主| 发表于 2009-6-1 19:14:17 | 显示全部楼层
右键的编译的好用,因为我使用命令行编译出exe所以用Aut2exe.exe
 楼主| 发表于 2009-6-1 23:15:58 | 显示全部楼层


继续问~
 楼主| 发表于 2009-6-3 02:02:28 | 显示全部楼层
[提问] 用Aut2exe.exe编译的exe如何能加上版权信息及版本号等
发表于 2009-6-3 08:14:21 | 显示全部楼层
工具--编译脚本--资源更新--前端界面可以填这些内容的吧
发表于 2009-6-3 12:13:49 | 显示全部楼层
先把编译后的程序用 UPX 脱壳,再使用 Resource Hacker 添加 “版本信息” 资源!
发表于 2009-6-20 12:26:22 | 显示全部楼层
不行啊
发表于 2009-6-21 22:19:57 | 显示全部楼层
鼠标右键编译都好用的,用命令行就不好了

的确无法编译好版本信息
只能右键了
发表于 2009-6-23 19:33:25 | 显示全部楼层
本帖最后由 sanmoking 于 2010-1-19 15:52 编辑

希望知道ACNWrapper.exe或者Aut2exe.exe是如何修改版本信息的。或者启动参数也行(Aut2exe.exe里面没有设定版本信息这类的参数)。
ACNWrapper.exe进行编译的话必须进行autoit的安装,否则提示找不到Aut2exeA.exe和AutoItSC.bin以及upx.exe。
Aut2exe.exe进行编译的话无法设定程序版本之类的信息。
详情见如何精简到最后只剩编译功能的au3
发表于 2009-6-26 08:50:31 | 显示全部楼层
The Kandie Man还是厉害,可以实现的。

本帖子中包含更多资源

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

×
发表于 2009-6-26 13:30:45 | 显示全部楼层
本帖最后由 lynfr8 于 2009-6-26 13:33 编辑

楼上找来的的确可行的
稍微汉化一下:
#include "UpdateResources.au3"
;本UDF能成功修改64位和32位可执行程序exe的版本属性
;注意:如果目标exe已经压缩编译过会导致无法打开脚本
$sFileName = @ScriptDir & "\Test.exe";需要修改版本信息的目标程序路径
Dim $hFileHandle, $iReturn
$hFileHandle = _BeginUpdateResource($sFileName);准备开始写入资源
If @error Then
        _ResourceUpdateTracelog("!> 错误.  _BeginUpdateResource 失败.  请确认文件的 parameter 1 是 valid.")
        Exit
EndIf
;下面的hex数据将会替换目标exe的版本信息,无错误的编辑在这个环节最为关键!
;注意:hex 数据需要添加0x .
Dim $bData = "8C0234000000560053005F00560045005200530049004F004E005F0049004E0046004F0000000000BD04EFFE000001000000010000000000000003000000000000000000000000000400000000000000000000000000000000000000" _
                                & "EA010000010053007400720069006E006700460069006C00650049006E0066006F000000C601000001003000340030003900300034006200300000007E003300010043006F006D006D0065006E0074007300000041002000360" _
                                & "0340062006900740020006100750074006F00690074002000650078006500630075007400610062006C0065002000770069007400680020006D006F0064006900660069006500640020007200650073006F0075007200630065" _
                                & "0073002E000000000066001F000100460069006C0065004400650073006300720069007000740069006F006E0000000000410020006E0069006300650020006C006900740074006C00650020006400650073006300720069007" _ 
                                & "000740069006F006E002000680065007200650000000000300008000100460069006C006500560065007200730069006F006E000000000031002E0030002E0030002E00300000009600390001004C006500670061006C004300" _
                                & "6F007000790072006900670068007400000043006F00700079006C0065006600740020003200300030003800200054006800650020004B0061006E0064006900650020004D0061006E00200041006C006C00200052006900670" _
                                & "0680074007300200041007200650020004E006F00740020005200650073006500720076006500640000000000440000000100560061007200460069006C00650049006E0066006F00000000002400040000005400720061006E" _
                                & "0073006C006100740069006F006E00000000000904B004"

;执行去除目标程序现有的版本信息
$iReturn = _UpdateResource($hFileHandle,$RT_VERSION,1,2057,"")
If $iReturn = 0 Then
        ;出错可能是因为资源文件已经被移除
        ;随之所有相关产生的资源文件都会被删除
        _EndUpdateResource($hFileHandle,1)
        _BeginUpdateResource($sFileName)
EndIf
_UpdateResource($hFileHandle,$RT_VERSION,1,1033,$bData);写入新的版本信息
_EndUpdateResource($hFileHandle,0);成功写入,执行退出动作
发表于 2009-6-26 13:33:57 | 显示全部楼层
hex 数据 的写法还在研究中
因为最终是需要写入自己想写的版本信息
发表于 2012-11-10 10:55:14 | 显示全部楼层
谢谢 哈哈 ,正在学习
发表于 2013-3-27 21:14:55 | 显示全部楼层
这个要试试看
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 02:05 , Processed in 0.084047 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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