地球人都知道,注册表定义了cookies的位置,绝大多数IE的shell,例如Maxthon、TheWorld、GreenBrower之类的多tab浏览器,都是读取注册表来定位cookies文件位置的。
大多数人都不知道,我也是刚去验证过,其实一个IE的shell软件或者IE的一个特定进程只在启动的时候才读取cookies的位置,直到shell或者IE进程关闭为止,它都一直认为cookies的位置是不会变化的。
所以我们可以做点小动作了。
先在D盘建立一个cookies文件夹。
然后写两个注册表文件。
第一个是原始的注册表备份org.reg:
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]"Cookies"="%USERPROFILE%\\Cookies"
第二个是修改过cookies路径的注册表mob.reg:
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]"Cookies"="D:\\Cookies"
举个例子,我用的是TheWorld浏览器。
先导入修改过路径的注册表文件mob.reg,把cookies路径修订到D:\Cookies这个文件夹。
然后启动TheWorld.exe,等TheWorld浏览器完成启动后,它就认为cookies文件在D:\Cookies文件夹里。
接着导入原本正常路径的注册表文件org.reg,把cookies路径修订到系统默认的位置%USERPROFILE%\Cookies文件夹。
那么如果你再运行其他的基于IE的浏览器,它只会去%USERPROFILE%\Cookies这个位置寻找cookies文件了。
利用这个特点,我们可以启动无限多个基于IE的浏览器,每个浏览器都拥有自己的cookies设置。
菜鸟学nsis写了个loader,请注意查看readme文件。