标签归档:绿化

软件绿化的一些心得

就个人理解,但凡软件大部分都是可以以绿色版方式发布的,除了部分需要运用大量自带库及组件的软件,但官方发布软件通常都是对程序加密加壳,然后用安装制作工具打包再发布,对于使用多系统或者长期换系统的朋友,这种软件使用就相当麻烦了,因此有了绿色软件的概念。以前在某些论坛也看过一些文章,探讨绿色软件的界定:是完全不写入注册表和系统文件的软件,还是只写入极少数的注册信息或文件的软件等等……本人不敢苟同.但个人觉得绿色软件至少应该满足一个条件:不需要安装–也就是说把安装程序去掉,直接提取出程序的主体部分使用.

软件绿化的对象:
绿化的本质就是让程序与操作系统独立开来,一个软件与系统结合越紧依赖越强或者说需要向系统注入大量组件和信息那么它的绿化效果也就最差,难度也最大,所以通常绿化的都是小软件,像matlab,3dmark等,绿色版就几乎没有.

几种情况:
1.安装界面是普通的自解压程序界面,那么可以断定软件只是简单的打包,那么这种直接用winrar解压即可,这是首先考虑的情况,也是最简单的情况

2.软件本身安装出来就是绿色的(即卸掉之后,程序主体已然可用),但是采用了安装制作工具。那么通常首先用exeinfope查询安装文件采用的安装制作工具(安装的过程中有时能辨别出是什么工具制作的):(A)如果是专业的Inno Setup等安装制作工具制作的,可以使用相应的解压工具解压出来,然后查看相应的安装脚本(安装制作工具通常都用脚本进行安装,特别注意导入注册表或者系统文件的地方,将其提取出来写成批处理);(B)如果安装制作工具没有相应的解压工具(像NSIS)或者不知道是什么安装制作工具,那么用UniversalExtractor对其进行解压,如果能完成解压,同时里面没有多余文件夹,那么通常直接将{app}的东西copy出来直接使用;如果不满足前一种情况,那么查看其他文件夹下文件或许会有一些蛛丝马迹

3.使用文件跟踪系统改变.我个人常使用Regshot追踪注册表,Uninstall Manager或者TotalUninstall追中文件改变,将软件安装前后的注册表和系统目录下的文件变动进行比较得出系统改变,然后写批处理或导出注册表解决绿化问题

4.利用特殊的软件
(A)VMware-ThinApp,这个软件跟踪系统改变很不错,很优秀的软件部署工具,但是我在win 7下使用有稍许问题
(B)无忧绿化工具5UStartBuilder,这个工具很强大,我在win 7下追踪fraps一直无效,用这个直接就finish了

最后,实际中遇到的情况,通常安装软件还会有壳,这才是绿化的首要任务,也是最难的