*Untested* tool for renaming and/or removing Internet Explorer from Windows 9.x and NT systems. Use with extreme caution.
Please, read the first reply carefully before trying to incorporate into your own work!
Edited: ~Wed Oct 2 23:59:15 2002 (GMT) by footpad: Modified title and description, per Consideration
#!/usr/bin/perl #-----------------------------------------------# # ReIE Tool # # Íø°ÉרÓÃIE·´ÐÞ¸ÄС¹¤¾ß # # by ROB # # # # ±¾¹¤¾ßÄָܻ´¾ø´ó²¿·Ö±»Ò»Ð©ÍøÕ¾¶ñÒâ´Û¸ÄµÄÄÚÈÝ # # ͬʱ×Ô¶¯É¾³ýһЩÈç*.url¡¢*.ht?...µÄÎļþ # # ¶ÔÓÚÍø°ÉµÄ»úÆ÷À´ËµÕâЩÎļþ¶¼¿É³ÆÎªÀ¬»ø # # # # ¿ÉÑ¡²ÎÊýÓУº # # -help ÏÔʾ°ïÖúÐÅÏ¢ # # -nodel Ìø¹ýÀ¬»øÇå³ý # # -lock ×¢²á±íËø¶¨ # # -unlock ×¢²á±í½âËø # #-----------------------------------------------# use strict; use Win32::Registry; #------------------------------------------------------------; our ($VERSION,$OS,%win9x,%winnt,%hkey,@delkeys,@delnames,@modifyvalues +,@matchword); $VERSION = '1.2'; if ($ARGV[0] and $ARGV[0]=~ /^-help$/i) { &show_help; exit; } print "Íø°ÉרÓÃIE·´Ð޸Ť¾ß v$VERSION\n"; print "By ROB\n\n"; while (1) { print "ÕæµÄÒªÐÞ¸ÄÂð£¿(y/n)"; my $ask = <STDIN>; chomp $ask; last if $ask =~ /^y$/i; exit if $ask =~ /^n$/i; } if ($ENV{COMSPEC} =~ /cmd\.exe$/i) { $OS = 'WinNT'; } elsif ($ENV{COMSPEC} =~ /command\.com$/i) { $OS = 'Win9x'; } else { print "δ֪µÄ²Ù×÷ϵͳ£¬Ò»Ð©¹¦Äܽ«²»ÄÜʹÓÃ.\n"; } #------------------------------------------------------------; %win9x = ( DESKTOP_DIR => "$ENV{WINDIR}\\Desktop", START_MENU_DIR => "$ENV{WINDIR}\\Start Menu", PROGRAMS_DIR => "$ENV{WINDIR}\\Start Menu\\Programs", STARTUP_DIR => "$ENV{WINDIR}\\Start Menu\\Programs +\\Æô¶¯", QUICK_LAUNCH_DIR => "$ENV{WINDIR}\\Application Data\\Micro +soft\\Internet Explorer\\Quick Launch", DESKTOP_DIR_ALLUSERS => "$ENV{WINDIR}\\All Users\\Desktop", START_MENU_DIR_ALLUSERS => "$ENV{WINDIR}\\All Users\\Start Men +u", PROGRAMS_DIR_ALLUSERS => "$ENV{WINDIR}\\All Users\\Start Menu\ +\Programs", STARTUP_DIR_ALLUSERS => "$ENV{WINDIR}\\All Users\\Start Menu\\ +Programs\\Æô¶¯" ); %winnt = ( DESKTOP_DIR => "$ENV{USERPROFILE}\\×ÀÃæ", START_MENU_DIR => "$ENV{USERPROFILE}\\¡¸¿ªÊ¼¡¹²Ëµ¥", PROGRAMS_DIR => "$ENV{USERPROFILE}\\¡¸¿ªÊ¼¡¹²Ëµ¥\\³ÌÐò +", STARTUP_DIR => "$ENV{USERPROFILE}\\¡¸¿ªÊ¼¡¹²Ëµ¥\\³ +ÌÐò\\Æô¶¯", QUICK_LAUNCH_DIR => "$ENV{USERPROFILE}\\Application Data\\ +Microsoft\\Internet Explorer\\Quick Launch", DESKTOP_DIR_ALLUSERS => "$ENV{ALLUSERSPROFILE}\\×ÀÃæ", START_MENU_DIR_ALLUSERS => "$ENV{ALLUSERSPROFILE}\\¡¸¿ªÊ¼¡¹²Ëµ +¥", PROGRAMS_DIR_ALLUSERS => "$ENV{ALLUSERSPROFILE}\\¡¸¿ªÊ¼¡¹²Ëµ¥\ +\³ÌÐò", STARTUP_DIR_ALLUSERS => "$ENV{ALLUSERSPROFILE}\\¡¸¿ªÊ¼¡¹²Ëµ¥\\ +³ÌÐò\\Æô¶¯" ); #------------------------------------------------------------; %hkey = ( HKEY_CLASSES_ROOT => $HKEY_CLASSES_ROOT, HKEY_CURRENT_USER => $HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE => $HKEY_LOCAL_MACHINE ); #------------------------------------------------------------; @delkeys = ( ["HKEY_CLASSES_ROOT","CLSID\\{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B +}","",""], ["HKEY_CLASSES_ROOT","CLSID\\{0D43FE01-F093-11CF-8940-00A0C9054228 +}","",""], ["HKEY_CURRENT_USER","Software\\Policies\\Microsoft\\Internet Expl +orer","",""], ["HKEY_CURRENT_USER","Software\\Microsoft\\Internet Explorer\\MENU +ext","",""] ); @delnames = ( ["HKEY_CURRENT_USER","SOFTWARE\\Microsoft\\Internet Explorer\\Main +","Window Title",""], ["HKEY_CURRENT_USER","SOFTWARE\\Microsoft\\Windows\\CurrentVersion +\\Run","",""], ["HKEY_CURRENT_USER","Software\\Microsoft\\Windows\\CurrentVersion +\\Policies\\Explorer","NoViewContextMenu",""], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Windows\\CurrentVersio +n\\Run","",""], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Internet Explorer\\Mai +n","Window Title",""], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Windows\\CurrentVersio +n\\WinLogon","LegalNoticeCaption",""], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Windows\\CurrentVersio +n\\WinLogon","LegalNoticeText",""], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Windows\\CurrentVersio +n\\policies\\Ratings","Key",""] ); @modifyvalues = ( ["HKEY_CLASSES_ROOT","CLSID\\{645FF040-5081-101B-9F08-00AA002F954E +}","","»ØÊÕÕ¾"], ["HKEY_CLASSES_ROOT","CLSID\\{21EC2020-3AEA-1069-A2DD-08002B30309D +}","","¿ØÖÆÃæ°å"], ["HKEY_CLASSES_ROOT","CLSID\\{D6277990-4C6A-11CF-8D87-00AA0060F5BF +}","","¼Æ»®ÈÎÎñ"], ["HKEY_CLASSES_ROOT","CLSID\\{2227A280-3AEA-1069-A2DE-08002B30309D +}","","´òÓ¡»ú"], ["HKEY_CLASSES_ROOT","CLSID\\{992cffa0-f557-101a-88ec-00dd010ccc48 +}","","²¦ºÅÍøÂç"], ["HKEY_CLASSES_ROOT","CLSID\\{BDEADF00-C265-11d0-BCED-00A0C90AB50F +}","","Web Îļþ¼Ð"], ["HKEY_CURRENT_USER","Control Panel\\International","sTimeFormat", +"H:mm:ss"], ["HKEY_CURRENT_USER","SOFTWARE\\Microsoft\\Internet Explorer\\Main +","Search Page",'http://www.microsoft.com/isapi/redir.dll?prd=ie&ar=i +esearch'], ["HKEY_CURRENT_USER","SOFTWARE\\Microsoft\\Internet Explorer\\Main +","Start Page","about:blank"], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Internet Explorer\\Mai +n","Default_Page_URL",'http://www.microsoft.com/windows/ie_intl/cn/st +art/'], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Internet Explorer\\Mai +n","Default_Search_URL",'http://www.microsoft.com/isapi/redir.dll?prd +=ie&ar=iesearch'], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Internet Explorer\\Mai +n","Search Page",'http://www.microsoft.com/isapi/redir.dll?prd=ie&ar= +iesearch'], ["HKEY_LOCAL_MACHINE","SOFTWARE\\Microsoft\\Internet Explorer\\Mai +n","Start Page",'http://www.microsoft.com/isapi/redir.dll?prd={SUB_PR +D}&clcid={SUB_CLSID}&pver={SUB_PVER}&ar=home'] ); @matchword = ( 'IEXPLORE\.EXE', '\.html?$', '\.ht[atwx]$', '\.url$', '^http:\/\/', '^www\.', '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', '\.com$', '\.net$', '\.org$', '\.cn$', '\.biz$', '\.info$' ); #===================================================================== +===============; if ($ARGV[0] and $ARGV[0]=~/^-(lock|unlock)$/i) { ®_on_off($1); print "\n×¢²á±íËø¶¨³É¹¦!\n" if $1 =~ /^lock$/i; print "\n×¢²á±í½âËø³É¹¦!\n" if $1 =~ /^unlock$/i; exit; } #------------------------------------------------------------; if ((!$ARGV[0]) or ($ARGV[0]!~ /^-nodel$/i)) { my $count = 0; print "\nÇå³ýÀ¬»ø...\n"; if ($OS eq 'Win9x') { $count = &del_trash_files(\%win9x); } elsif ($OS eq 'WinNT') { $count = &del_trash_files(\%winnt); } print "$count ¸öÎļþ±»É¾³ý!\n"; } #------------------------------------------------------------; print "\nÐÞ¸´×¢²á±í...\n"; foreach my $delkey (@delkeys) { my $keyobj; while ($hkey{$delkey->[0]}->Open($delkey->[1],$keyobj)) { &del_keys($keyobj); } } foreach my $delname (@delnames) { my $keyobj; my $status = $hkey{$delname->[0]} -> Open($delname->[1],$keyobj); if ($status) { $keyobj -> DeleteValue($delname->[2]); $keyobj -> Close(); } } foreach my $modifyvalue (@modifyvalues) { my $keyobj; my $status = $hkey{$modifyvalue->[0]} -> Open($modifyvalue->[1],$k +eyobj); if ($status) { $keyobj -> SetValueEx($modifyvalue->[2],0,REG_SZ,$modifyvalue- +>[3]); $keyobj -> Close(); } } #--------------------------; { my ($keyobj,%values,@names); my $status = $hkey{HKEY_CURRENT_USER} -> Open("SOFTWARE\\Microsoft +\\Windows\\CurrentVersion\\Run",$keyobj); if ($status){ $keyobj -> GetValues(\%values); @names = sort keys(%values); foreach my $value_name (@names) { my $data = $values{$value_name}->[2]; foreach my $word (@matchword) { if ($data=~/$word/i) { $keyobj -> DeleteValue($value_name); } } } $keyobj -> Close(); } } #--------------------------; { my ($keyobj,%values,@names); my $status = $hkey{HKEY_LOCAL_MACHINE} -> Open("SOFTWARE\\Microsof +t\\Windows\\CurrentVersion\\Run",$keyobj); if ($status){ $keyobj -> GetValues(\%values); @names = sort keys(%values); foreach my $value_name (@names) { my $data = $values{$value_name}->[2]; foreach my $word (@matchword) { if ($data=~/$word/i) { $keyobj -> DeleteValue($value_name); } } } $keyobj -> Close(); } } print "\nÍê³É£¡\n"; #===================================================================== +===============; #-------------- sub del_keys { #-------------- my $keyobj = $_[0]; my @keys; $keyobj -> GetKeys(\@keys); @keys = sort (@keys); $keyobj -> DeleteKey("") unless @keys; foreach my $key (@keys) { my $newkeyobj; $keyobj -> Open($key,$newkeyobj); &del_keys($newkeyobj); $newkeyobj -> Close(); } } #---------------- sub reg_on_off { #---------------- my ($parameter,$value,$keyobj); $parameter = shift; if ($parameter =~ /^lock$/i) { $value = 1; } elsif ($parameter =~ /^unlock$/i) { $value = 0; } $hkey{HKEY_CURRENT_USER} -> Open("Software\\Microsoft\\Windows\\Cu +rrentVersion\\Policies",$keyobj); my $new_keyobj; $keyobj -> Create("System",$new_keyobj); $new_keyobj -> SetValueEx("DisableRegistryTools",0,REG_DWORD,$valu +e); } #-------------------- sub del_trash_files { #-------------------- my $dirs = shift; my $count = 0; foreach my $name (sort keys %$dirs) { my $path = $$dirs{$name}; opendir(DIR,$path) || next; while (my $file = readdir DIR) { if ($file =~ /\.html?|\.ht[atwx]|\.url|\.vbs$/i) { print "Deleting $path\\$file...\n"; unlink "$path\\$file"; $count++; } } closedir(DIR); } return $count; } #---------------- sub show_help { #---------------- print " ReIE Tool \n", " Íø°ÉרÓÃIE·´ÐÞ¸ÄС¹¤¾ß \n", " VERSION $VERSION \n", " by ROB \n", " \n", " ±¾¹¤¾ßÄָܻ´ie±»Ò»Ð©ÍøÕ¾¶ñÒâ´Û¸ÄµÄÄÚÈÝ \n", " ͬʱ×Ô¶¯É¾³ýһЩÈç*.url¡¢*.ht?...µÄÎļþ \n", " ¶ÔÓÚÍø°ÉµÄ»úÆ÷À´ËµÕâЩÎļþ¶¼¿É³ÆÎªÀ¬»ø \n", " email: iROB\@163.com \n", " \n", " ¿ÉÑ¡²ÎÊýÓУº \n", " -help ÏÔʾ°ïÖúÐÅÏ¢ \n", " -nodel Ìø¹ýÀ¬»øÇå³ý \n", " -lock ×¢²á±íËø¶¨ \n", " -unlock ×¢²á±í½âËø \n"; } #------------------------------------------------------------; END { print "\n\nPress ENTER to exit"; <STDIN>; exit; } #------------------------------------------------------------;
In reply to Untested Internet Explorer Remover/Cleaner (?) by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |