无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2072|回复: 7
打印 上一主题 下一主题

关于绿化软件的一点心得

[复制链接]
跳转到指定楼层
1#
发表于 2018-8-15 13:27:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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,如果有需要还可以用单文件制作工具做成单文件

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


链接效果

评分

参与人数 3无忧币 +11 收起 理由
夙夜zZ + 1 坐等大佬开发一个便捷软件。。。
879792799 + 5 很给力!
新空气 + 5 实践出真知

查看全部评分

2#
发表于 2018-8-15 20:30:52 | 只看该作者
很多问题,动过手才知道
回复

使用道具 举报

3#
发表于 2018-8-15 21:49:25 | 只看该作者
类似这样的很多.
其实真正的绿化就得反编译, 使其不写注册表, 不检注册表.

点评

愿闻其详,有没有相关的教程?或者搜索关键字?百度出来的东西很少这方面的东西  详情 回复 发表于 2018-8-16 13:15
回复

使用道具 举报

4#
发表于 2018-8-16 12:05:50 | 只看该作者
你没发判断开发人员是如何编写的。如果人家愿意,写一个反绿化判断,分分钟搞死你。尽人事听天命吧

点评

如果专门有针对可能确实难以绿化,但是大多数软件来说,光是开发已经够费力了,还要想那么多防止别人绿化的手段,岂不是自找麻烦  详情 回复 发表于 2018-8-16 13:14
回复

使用道具 举报

5#
 楼主| 发表于 2018-8-16 13:14:22 | 只看该作者
lbw2007 发表于 2018-8-16 12:05
你没发判断开发人员是如何编写的。如果人家愿意,写一个反绿化判断,分分钟搞死你。尽人事听天命吧

如果专门有针对可能确实难以绿化,但是大多数软件来说,光是开发已经够费力了,还要想那么多防止别人绿化的手段,岂不是自找麻烦
回复

使用道具 举报

6#
 楼主| 发表于 2018-8-16 13:15:21 | 只看该作者
vaf 发表于 2018-8-15 21:49
类似这样的很多.
其实真正的绿化就得反编译, 使其不写注册表, 不检注册表.

愿闻其详,有没有相关的教程?或者搜索关键字?百度出来的东西很少这方面的东西
回复

使用道具 举报

7#
发表于 2018-8-16 15:33:55 | 只看该作者
http://portableapps.com/
你的思路和这个网站出的便携软件一样,不过他们是利用Nullsoft Scriptable Install System(NSIS)来制作一个引导程序
原理:
运行软件前备份原系统数据和reg---导入或者链接你的数据和reg---运行软件(并且监视软件运行状态)---软件关闭---备份你导入的数据和reg---删除你的并且恢复备份的原系统数据

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

我曾经花了几天东抄西凑搞了一个模板,我只能弄懂我抄的代码的功能,但是不知道原理,不过就这样我也很满意了

点评

软件不错,还是免费的。不过本来都是简单搞搞,能满足自己需求就好  详情 回复 发表于 2018-8-16 20:14
回复

使用道具 举报

8#
 楼主| 发表于 2018-8-16 20:14:56 | 只看该作者
本帖最后由 a2659802 于 2018-8-18 13:18 编辑
kli 发表于 2018-8-16 15:33
http://portableapps.com/
你的思路和这个网站出的便携软件一样,不过他们是利用Nullsoft Scriptable Insta ...


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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-24 03:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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