ce7f289e4b63d1373a905d7a78881225327a86df
[www.jankratochvil.net.git] / project / winvnc / Index.pm
1 # $Id$
2 # Main page of 'My::Project::winvnc'
3 # Copyright (C) 2003-2005 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; exactly version 2 of June 1991 is required
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
19 package project::winvnc::Index;
20 require 5.6.0;  # at least 'use warnings;' but we need some 5.6.0+ modules anyway
21 our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
22 our $CVS_ID=q$Id$;
23 use strict;
24 use warnings;
25
26 use My::Web;
27 Wuse 'project::Lib';
28
29
30 our @ListItem=(
31                 "name"=>"WinVNC hide",
32                 "platform"=>"w32",
33                 "priority"=>560,
34                 "icon"=>"nowinvnc.png",
35                 "download-already patched version 4.1"=>"vnc-4_1_1-x86_win32-winvnc4.exe-SECRET.zip",
36                 "download-already patched version 4.0"=>"vnc-4.0-x86_win32-exe-SECRET.zip",
37                 "download-original version 4.0"=>"http://www.realvnc.com/dist/vnc-4.0-x86_win32.exe",
38                 "download-already patched version 3.3.3r9"=>"vnc-3.3.3r9_x86_win32-exe-SECRET.zip",
39                 "download-already patched version 3.3.3r7"=>"vnc-3.3.3r7_x86_win32-exe-SECRET.zip",
40                 "link-VNC Homepage"=>"http://www.realvnc.com/",
41                 "summary"=>"Hide running WinVNC server",
42                 "license"=>"PD",
43                 "maintenance"=>"ready",
44                 "language"=>"i386 asm patch",
45                 "description"=>sub { return <<"HERE"; },
46 <p>If you install <i>WinVNC</i> in
47 @{[ a_href 'http://www.microsoft.com/','MS' ]}&nbsp;@{[ a_href 'http://www.microsoft.com/windows/','Windows' ]}
48 environment, you will notice that it creates its own small icon in <i>System Tray</i>.
49 Sometimes you want to get rid of this visible icon and you cannot remove it by any configuration
50 settings.</p>
51 HERE
52                 );
53
54 sub handler
55 {
56 project::Lib->init();
57
58
59 print <<'HERE';
60 <p>You need to download the original distribution archive, install it and later
61 just replace its file <tt>C:\Program&nbsp;Files\RealVNC\VNC4\winvnc4.exe</tt>.
62 Otherwise error about missing <tt>omnithread_rt.dll</tt> will occur.</p>
63
64 <p>Here is the table for bytes to patch in <tt>winvnc4.exe</tt>.
65 You are not interested in this table if you download the <a href="vnc-4_1_1-x86_win32-winvnc4.exe-SECRET.zip">already patched
66 .EXE file</a> referenced in the heading.</p>
67 <table border="1" class="margin-center">
68         <tr><th></th><th>File offset</th><th>Hex bytes</th></tr>
69 <tr><td>4.1.1   original</td>        <td><tt>00003680</tt></td><td align="center">08 8B 89 A8  04 00 00    53  E8     A3 F6 FF  FF 53 E8 40</td></tr>
70 <tr><td>4.1.1   'SECRET' patched</td><td><tt>00003680</tt></td><td align="center">08 8B 89 A8  04 00 00 <b>EB  04</b> A3 F6 FF  FF 53 E8 40</td></tr>
71 <tr><td>4.1.1   original</td>        <td><tt>00003880</tt></td><td align="center">EC 85 C0 89  5D FC    74     10  6A 66 6A 69  6A 65 56 8B</td></tr>
72 <tr><td>4.1.1   'SECRET' patched</td><td><tt>00003880</tt></td><td align="center">EC 85 C0 89  5D FC <b>EB</b> 10  6A 66 6A 69  6A 65 56 8B</td></tr>
73 <tr><td colspan="3" style="border: none;"><hr /></td></tr>
74 <tr><td>4.0     original</td>        <td><tt>00003390</tt></td><td align="center">00 6A 66 6A  69 6A 65 56  8D 8D F8 FE  FF FF    E8 2D     </td></tr>
75 <tr><td>4.0     'SECRET' patched</td><td><tt>00003390</tt></td><td align="center">00 6A 66 6A  69 6A 65 56  8D 8D F8 FE  FF FF <b>EB 03</b> </td></tr>
76 <tr><td>4.0     original</td>        <td><tt>000035E0</tt></td><td align="center">F8 FE FF FF     E8 97     F2 FF  FF 53 E8 69  4D 02 00 8B </td></tr>
77 <tr><td>4.0     'SECRET' patched</td><td><tt>000035E0</tt></td><td align="center">F8 FE FF FF  <b>EB 03</b> F2 FF  FF 53 E8 69  4D 02 00 8B </td></tr>
78 <tr><td colspan="3" style="border: none;"><hr /></td></tr>
79 <tr><td>3.3.3r9 original</td>        <td><tt>0000CD10</tt></td><td align="center">   53 55 56     8B  F1 57 8B 46   68 C7 46 70  58 00 00 00</td></tr>
80 <tr><td>3.3.3r9 'SECRET' patched</td><td><tt>0000CD10</tt></td><td align="center"><b>C2 08 00</b> 8B  F1 57 8B 46   68 C7 46 70  58 00 00 00</td></tr>
81 <tr><td colspan="3" style="border: none;"><hr /></td></tr>
82 <tr><td>3.3.3r7 original</td>        <td><tt>0000C9F0</tt></td><td align="center">   53 55 56     8B  F1 57 8B 46   60 C7 46 68  58 00 00 00</td></tr>
83 <tr><td>3.3.3r7 'SECRET' patched</td><td><tt>0000C9F0</tt></td><td align="center"><b>C2 08 00</b> 8B  F1 57 8B 46   60 C7 46 68  58 00 00 00</td></tr>
84 </table>
85 <p>Here you can check whether your patch was successful:</p>
86 <table border="1" class="margin-center">
87 <tr><th>File from package</th><th>MD5 sum</th></tr>
88 <tr><td><tt>WinVNC.exe-4.1    </tt>, original</td>        <td><tt>3fc39dc90318c1b72d867fe04962a20f</tt></td></tr>
89 <tr><td><tt>WinVNC.exe-4.1    </tt>, 'SECRET' patched</td><td><tt>067c02a0e409f58d9a773f338a8d985a</tt></td></tr>
90 <tr><td><tt>WinVNC.exe-4.0    </tt>, original</td>        <td><tt>7043ddf51d7135c1d1b83b4213dfed61</tt></td></tr>
91 <tr><td><tt>WinVNC.exe-4.0    </tt>, 'SECRET' patched</td><td><tt>916c82e99e1dc17bebdc31aebc895b52</tt></td></tr>
92 <tr><td><tt>WinVNC.exe-3.3.3r9</tt>, original</td>        <td><tt>f4910e28a285a13e642cdfe302e4ad91</tt></td></tr>
93 <tr><td><tt>WinVNC.exe-3.3.3r9</tt>, 'SECRET' patched</td><td><tt>6669d652357a56737b36e2cde0acd473</tt></td></tr>
94 <tr><td><tt>WinVNC.exe-3.3.3r7</tt>, original</td>        <td><tt>d8d9d04901a4896f278d59a1cdc99aef</tt></td></tr>
95 <tr><td><tt>WinVNC.exe-3.3.3r7</tt>, 'SECRET' patched</td><td><tt>8423b8f9598893b517a4f5eebbf0749b</tt></td></tr>
96 </table>
97 HERE
98
99
100 exit;
101 }
102 1;