以下的内容参考了一些网上的文章, 另外有一些猜测的成分, 请自担风险.
主要的方法就是消去VA记录下的一些安装及试用时间信息.VA记录这些信息的地方有三个:
1) HKEY_LOCAL_MACHINE SOFTWARE Licenses
2) HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID {ACABBB00-02A4-CF3E-B293-188330493F10}
{XXX…}对于不同的版本以及不同的机器可能不同, 比如{ACABBB00-02A4-CF3E-B293-188330493F10}是我XP虚拟机上的值, 我实际机器上的是{2401839D-8A0E-F7A3-3A39-201EB8E3078D}.
浏览至HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID , 然后所有条目按时间倒序排序, 与Visual Assist安装时间差不多的那几个(3~10个吧, 跟具体机器有关, 还有其他的软件吧)逐一检查, 有一个的子项不规则, 而其他的都比较规则. 如
{ACABBB00-02A4-CF3E-B293-188330493F10}
fMNvzvRluw
paowhf
Jvielmgrzqpm
durvuNbfybvH
Psohy
wqGi
zydrzwfqWyFs
InProcServer32
而其他的一般是
{XXXXXXXX…}
Description
InprocServer32
ProgID
VersionIndependentProgID
等等, 实际上目标项{ACABBB00-02A4-CF3E-B293-188330493F10}是VA的时间信息记录, 当然
只有VA的人知道它的格式了. 为掩人耳目, {ACABBB00-02A4-CF3E-B293-188330493F10} 又
合并另外的一个随机的已注册的CLSID, 因此当你看到
{ACABBB00-02A4-CF3E-B293-188330493F10} 下的 InprocServer32 好像是另外的某个感觉
很重要的东西, 我想, 如果你在 HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID 下搜索的
话, 应该搜得到它真正的条目.
找到HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID {ACABBB00-02A4-CF3E-B293-188330493F10
}
3) 你的temp用户变量%USERPROFILE% Local Settings Temp 中的临时文件1489AFE4.TMP.
如果你的Temp用户变量设置到了其他的地方(比如, 我的在F: Temp UTemp), 请a到相应的位
置找到这个文件, 这个文件的修改时间和创建时间都与VA安装时间相差不多. 相信不难找到
. 具体的文件名可能和版本相关.
当然也可以把此目录全部清空, 一般情况下应该没有什么问题.
以上三处记录的信息应该是一样的, 破解时留下任何一处都不能成功. 卸载VA时, 这三
处的信息都保留着, 卸载VA然后重装的办法是行不通的. 就算重装系统, 如果你把temp用户
变量目录设到以前的位置且没有清理过, 则注册表是全新的估计也无济于事.
下面给一个简单的批处理的例子, 可能需要根据自己的情况和版本修改其中的一些数据
VAClean运行时请关闭Visual Studio
####################### VAClean.cmd 开始 #######################
@echo off
rem 此两项请自行填写为合适的值
set cid={2401839D-8A0E-F7A3-3A39-201EB8E3078D}
set tpf=”F: Temp UTemp 1489AFE4.TMP”
reg delete HKEY_LOCAL_MACHINE SOFTWARE Licenses /f
reg delete HKEY_LOCAL_MACHINE SOFTWARE Classes CLSID %cid% /f
del /q %tpf%
echo.
pause
####################### VAClean.cmd 结束 #######################
以上测试基于
Visual Assist X 10.3.1535.0
Visual Assist X 10.3.1534.0 (此方法以前的版本以及以后的若干个版本可能有效)
以及
Visual C++ 6
Visual Studio 2005
以及
XP SP2