首先说说什么是绿色软件,一般分为狭义绿色和广义绿色:狭义的绿色可以叫做纯绿色软件,就是指这个软件对现有的操作系统部分没有任何改变,除了软件现在安装的目录,应该不往任何地方写东西,删除的时候,直接删除所在的目录就可以了,就类似于以前的大多数DOS程序。

  广义的绿色可以叫作伪绿色软件,就是指不需要专门的安装程序,对系统的改变比较少,手工也可以方便的完成这些改变,比如拷贝几个动态库,或者导入注册表,这里的关键是手工可以方便的完成这些改变,或者可以借助于批处理等等脚本完成。
为什么要分为两类?

  虽然狭义的绿色软件最为理想,但是完全符合这种定义的软件非常罕见,而相当多的软件可以划分到广义的绿色这个类别,这样包括了广义的绿色软件的概念后使得绿色软件这个概念更有意义。

  本文我们以非常热门的下载工具 IDM(Internet Download Manager)为例,介绍一下整个绿化的流程。结合上述的理解,这是属于”伪绿色软件”,包括现在市面上大多数”绿色软件”其实也是属于”伪绿色软件”,又称免安装软件。

IDM 绿色软件制作

1、安装原程序

  首先下载官方原版的IDM,下载地址:
http://www.internetdownloadmanager.com/download.html

2、分析安装过程

  所谓分析安装流程,就是监控安装程序对系统都干了些什么。我们一般用 HIPS 类型的软件监控的。我自己用的是 “COMODO”,通过监控,我们发现。IDM的安装过程其实就是解压文件的过程,并未对系统有所操作。最后注册文件的是启用”IDMan.exe”这个程序的时候。由”COMODO”得知运行IDMan的时候是带参数的“IDMan.exe /rtr” 。这样我们就得知,IDM的安装,只要运行”IDMan.exe /rtr” 就可以了。

3、处理文件

  IDM并没有集成中文语言包,所以我们要去官网下载:www.internetdownloadmanager.com/language.html。
把压缩包的文件解压到 IDM的 “Languages”目录即可。以为IDM是国际化软件,包含多国语言。很多我们是用不多看不懂的,我们只需要保留中文和英文就足够了。把”Languages”目录的文件删除,保留”idm_chn2.lng”、”inst_chn.lng”、”tips_chn.txt” 这3个文件就可以了。

  安装目录下的这几个文件分别是帮助文件和安装协议:
grabber.chm、idman.chm、scheduler.chm、tutor.chm、license.txt。
这些文件都是英文的,我们可以删除。因为删除我们还可以去官方下载中文版的,所以删除也没关系。精简文件的宗旨,在不影响软件的正常使用下进行对文件删除。

4、破解、注册

  官方下回来的IDM是没有破解的,我们需要用破解补丁来破解主程序才行,破解这部分这里不具体展开了。IDM的注册信息,是写在注册表的:

HKEY_LOCAL_MACHINE\SOFTWARE\Internet Download Manager” “FName” “技术乐园”
HKEY_LOCAL_MACHINE\SOFTWARE\Internet Download Manager” “LName” “ihacksoft.com”
HKEY_LOCAL_MACHINE\SOFTWARE\Internet Download Manager” “Email” “hack0573@qq.com”
HKEY_LOCAL_MACHINE\SOFTWARE\Internet Download Manager” “Serial” “OS5HG-K90NH-SXOGT-7JYEZ”

5、绿化程序制作

  综合上面的分析,我们可以知道。绿化IDM需要两项操作:1、安装IDM “IDMan.exe /rtr”;2、写入注册信息到注册表。我们编写批处理来完成这些工作:

@echo off
Pushd %~dp0
taskkill /f /im IDMan.exe>NUL 2>NUL
reg add "HKLM\SOFTWARE\Internet Download Manager" /v "FName" /d Yanu /F>NUL
reg add "HKLM\SOFTWARE\Internet Download Manager" /v "LName" /d WwW.CCAV1.coM /F>NUL
reg add "HKLM\SOFTWARE\Internet Download Manager" /v "Email" /d av@ccav1.com /F>NUL
reg add "HKLM\SOFTWARE\Internet Download Manager" /v "Serial" /d OS5HG-K90NH-SXOGT-7JYEZ /F>NUL
"%~dp0\IDMan.exe" /rtr