无忧启动论坛

标题: 关于绿化软件的一点心得 [打印本页]

作者: a2659802    时间: 2018-8-15 13:27
标题: 关于绿化软件的一点心得
本帖最后由 a2659802 于 2018-8-15 13:40 编辑

突然兴起研究下怎么制作绿色软件,于是百度了一番。有个用Totla Uninstall监视注册表的教程,把软件修改的注册表项找出来,直接把相关项导出成 绿化.reg。
不过我要说的不是这个,而是我在绿化微信web开发者工具时发现单搞定注册表还不能绿化此软件,

进一步观察发现它启动时要从C:\Users\sawyer\AppData\Roaming\Tencent\微信web开发者工具\package.nw文件夹中读取多个文件。
难道一定要在这里放文件?然而我的系统盘开启了写过滤,所有修改都无法保存。

突然灵光一闪:应该可以用链接搞定。在linux中可以用ln命令来创建软硬链接,那在windows呢?还好windows也有类似的命令mklink
用mklink可以在一个位置创建一个链接,让软件认为这里是真实的位置,在explorer地址栏中显示的也不是真实的位置。

于是最终的绿化过程是:
1.安装软件
2.提取注册表信息
3.复制%userprofile%\appdata\roaming\tencent\... 到temp目录
3.复制安装好的程序到temp目录
4.记事本写入
  1. @echo off
  2. ::其实就本程序而言不用导入注册表信息也行
  3. 绿化.reg
  4. ::创建链接,这里用mklink /d好像也行
  5. mkdir "%userprofile%\AppData\Roaming\Tencent\微信web开发者工具
  6. mklink /j "%userprofile%\AppData\Roaming\Tencent\微信web开发者工具\package.nw" "%~dp0%package.nw"
  7. pause
复制代码

保存为绿化.bat
5.写一个启动.bat,检测是否已绿化,绿化了则直接启动exe,否则启动绿化.bat
6.将temp目录打包成zip,如果有需要还可以用单文件制作工具做成单文件

至此本程序已经可以放到其他电脑使用了。
本人知识浅薄,不会反编译等工作,用的方法可能有点落后,这个是第一次制作绿色软件,其中可能有很多认识不对的地方,望大神们指点一二


链接效果
作者: 新空气    时间: 2018-8-15 20:30
很多问题,动过手才知道
作者: vaf    时间: 2018-8-15 21:49
类似这样的很多.
其实真正的绿化就得反编译, 使其不写注册表, 不检注册表.
作者: lbw2007    时间: 2018-8-16 12:05
你没发判断开发人员是如何编写的。如果人家愿意,写一个反绿化判断,分分钟搞死你。尽人事听天命吧
作者: a2659802    时间: 2018-8-16 13:14
lbw2007 发表于 2018-8-16 12:05
你没发判断开发人员是如何编写的。如果人家愿意,写一个反绿化判断,分分钟搞死你。尽人事听天命吧

如果专门有针对可能确实难以绿化,但是大多数软件来说,光是开发已经够费力了,还要想那么多防止别人绿化的手段,岂不是自找麻烦
作者: a2659802    时间: 2018-8-16 13:15
vaf 发表于 2018-8-15 21:49
类似这样的很多.
其实真正的绿化就得反编译, 使其不写注册表, 不检注册表.

愿闻其详,有没有相关的教程?或者搜索关键字?百度出来的东西很少这方面的东西
作者: kli    时间: 2018-8-16 15:33
http://portableapps.com/
你的思路和这个网站出的便携软件一样,不过他们是利用Nullsoft Scriptable Install System(NSIS)来制作一个引导程序
原理:
运行软件前备份原系统数据和reg---导入或者链接你的数据和reg---运行软件(并且监视软件运行状态)---软件关闭---备份你导入的数据和reg---删除你的并且恢复备份的原系统数据

因为mklink是windows vista以上才支持,xp需要其他软件,比如sever2003工具包里的linkd.exe或者sysinternals的junction.exe,其中因为linkd不支持中文路径,所以他们采用的是junction.exe

我曾经花了几天东抄西凑搞了一个模板,我只能弄懂我抄的代码的功能,但是不知道原理,不过就这样我也很满意了
作者: a2659802    时间: 2018-8-16 20:14
本帖最后由 a2659802 于 2018-8-18 13:18 编辑
kli 发表于 2018-8-16 15:33
http://portableapps.com/
你的思路和这个网站出的便携软件一样,不过他们是利用Nullsoft Scriptable Insta ...


portableapp今天用了下,发现软件局限较大,只能在列表上选应用,不能选本机已安装应用,而且需要翻_墙出去才能获取列表




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3