# $Id$ # Main page of 'My::Project::winvnc' # Copyright (C) 2003-2005 Jan Kratochvil # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; exactly version 2 of June 1991 is required # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package project::winvnc::Index; require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; our $CVS_ID=q$Id$; use strict; use warnings; use My::Web; Wuse 'project::Lib'; our @ListItem=( "name"=>"WinVNC hide", "platform"=>"w32", "priority"=>560, "icon"=>"nowinvnc.png", "download-already patched version 4.1.1"=>"vnc-4_1_1-x86_win32-winvnc4.exe-SECRET.zip", "download-already patched version 4.0"=>"vnc-4.0-x86_win32-exe-SECRET.zip", "download-original version 4.0"=>"http://www.realvnc.com/dist/vnc-4.0-x86_win32.exe", "download-already patched version 3.3.3r9"=>"vnc-3.3.3r9_x86_win32-exe-SECRET.zip", "download-already patched version 3.3.3r7"=>"vnc-3.3.3r7_x86_win32-exe-SECRET.zip", "link-VNC Homepage"=>"http://www.realvnc.com/", "summary"=>"Hide running WinVNC server", "license"=>"PD", "maintenance"=>"ready", "language"=>"i386 asm patch", "description"=>sub { return <<"HERE"; },

If you install WinVNC in @{[ a_href 'http://www.microsoft.com/','MS' ]} @{[ a_href 'http://www.microsoft.com/windows/','Windows' ]} environment, you will notice that it creates its own small icon in System Tray. Sometimes you want to get rid of this visible icon and you cannot remove it by any configuration settings.

HERE ); sub handler { project::Lib->init(); print <<'HERE';

You need to download the original distribution archive, install it and later just replace its file C:\Program Files\RealVNC\VNC4\winvnc4.exe. Otherwise error about missing omnithread_rt.dll will occur.

Here is the table for bytes to patch in winvnc4.exe. You are not interested in this table if you download the already patched .EXE file referenced in the heading.

File offsetHex bytes
4.1.1 original 0000368008 8B 89 A8 04 00 00 53 E8 A3 F6 FF FF 53 E8 40
4.1.1 'SECRET' patched0000368008 8B 89 A8 04 00 00 EB 04 A3 F6 FF FF 53 E8 40
4.1.1 original 00003880EC 85 C0 89 5D FC 74 10 6A 66 6A 69 6A 65 56 8B
4.1.1 'SECRET' patched00003880EC 85 C0 89 5D FC EB 10 6A 66 6A 69 6A 65 56 8B

4.0 original 0000339000 6A 66 6A 69 6A 65 56 8D 8D F8 FE FF FF E8 2D
4.0 'SECRET' patched0000339000 6A 66 6A 69 6A 65 56 8D 8D F8 FE FF FF EB 03
4.0 original 000035E0F8 FE FF FF E8 97 F2 FF FF 53 E8 69 4D 02 00 8B
4.0 'SECRET' patched000035E0F8 FE FF FF EB 03 F2 FF FF 53 E8 69 4D 02 00 8B

3.3.3r9 original 0000CD10 53 55 56 8B F1 57 8B 46 68 C7 46 70 58 00 00 00
3.3.3r9 'SECRET' patched0000CD10C2 08 00 8B F1 57 8B 46 68 C7 46 70 58 00 00 00

3.3.3r7 original 0000C9F0 53 55 56 8B F1 57 8B 46 60 C7 46 68 58 00 00 00
3.3.3r7 'SECRET' patched0000C9F0C2 08 00 8B F1 57 8B 46 60 C7 46 68 58 00 00 00

Here you can check whether your patch was successful:

File from packageMD5 sum
WinVNC.exe-4.1.1 , original 3fc39dc90318c1b72d867fe04962a20f
WinVNC.exe-4.1.1 , 'SECRET' patched067c02a0e409f58d9a773f338a8d985a
WinVNC.exe-4.0 , original 7043ddf51d7135c1d1b83b4213dfed61
WinVNC.exe-4.0 , 'SECRET' patched916c82e99e1dc17bebdc31aebc895b52
WinVNC.exe-3.3.3r9, original f4910e28a285a13e642cdfe302e4ad91
WinVNC.exe-3.3.3r9, 'SECRET' patched6669d652357a56737b36e2cde0acd473
WinVNC.exe-3.3.3r7, original d8d9d04901a4896f278d59a1cdc99aef
WinVNC.exe-3.3.3r7, 'SECRET' patched8423b8f9598893b517a4f5eebbf0749b
HERE exit; } 1;