资源简介

原版VNC 4.1.3源码,下载自官方网站 http://www.realvnc.com/ 很经典、实用的远程桌面/远程控制程序,可以学习、参考其设计 VNC Open Source Code for Windows (4.1.3) Source (zip) - 829.3 KB

资源截图

代码片段和文件信息

/*
 * This is D3DES (V5.09) by Richard Outerbridge with the double and
 * triple-length support removed for use in VNC.  Also the bytebit[] array
 * has been reversed so that the most significant bit in each byte of the
 * key is ignored not the least significant.
 *
 * These changes are:
 *  Copyright (C) 1999 AT&T Laboratories Cambridge.  All Rights Reserved.
 *
 * This software 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.
 */

/* D3DES (V5.09) -
 *
 * A portable public domain version of the Data Encryption Standard.
 *
 * Written with Symantec‘s THINK (Lightspeed) C by Richard Outerbridge.
 * Thanks to: Dan Hoey for his excellent Initial and Inverse permutation
 * code;  Jim Gillogly & Phil Karn for the DES key schedule code; Dennis
 * Ferguson Eric Young and Dana How for comparing notes; and Ray Lau
 * for humouring me on.
 *
 * Copyright (c) 19881989199019911992 by Richard Outerbridge.
 * (GEnie : OUTER; CIS : [71755204]) Graven Imagery 1992.
 */

#include “d3des.h“

static void scrunch(unsigned char * unsigned long *);
static void unscrun(unsigned long * unsigned char *);
static void desfunc(unsigned long * unsigned long *);
static void cookey(unsigned long *);

static unsigned long KnL[32] = { 0L };

static unsigned short bytebit[8] = {
01 02 04 010 020 040 0100 0200 };

static unsigned long bigbyte[24] = {
0x800000L 0x400000L 0x200000L 0x100000L
0x80000L 0x40000L 0x20000L 0x10000L
0x8000L 0x4000L 0x2000L 0x1000L
0x800L  0x400L  0x200L  0x100L
0x80L 0x40L 0x20L 0x10L
0x8L 0x4L 0x2L 0x1L };

/* Use the key schedule specified in the Standard (ANSI X3.92-1981). */

static unsigned char pc1[56] = {
56 48 40 32 24 16  8  0 57 49 41 33 25 17
 9  1 58 50 42 34 26 18 10  2 59 51 43 35
62 54 46 38 30 22 14  6 61 53 45 37 29 21
13  5 60 52 44 36 28 20 12  4 27 19 11  3 };

static unsigned char totrot[16] = {
124681012141517192123252728 };

static unsigned char pc2[48] = {
13 16 10 23  0  4  2 27 14  5 20  9
22 18 11  3 25  7 15  6 26 19 12  1
40 51 30 36 46 54 29 39 50 44 32 47
43 48 38 55 33 52 45 41 49 35 28 31 };

void deskey(key edf) /* Thanks to James Gillogly & Phil Karn! */
unsigned char *key;
int edf;
{
register int i j l m n;
unsigned char pc1m[56] pcr[56];
unsigned long kn[32];

for ( j = 0; j < 56; j++ ) {
l = pc1[j];
m = l & 07;
pc1m[j] = (key[l >> 3] & bytebit[m]) ? 1 : 0;
}
for( i = 0; i < 16; i++ ) {
if( edf == DE1 ) m = (15 - i) << 1;
else m = i << 1;
n = m + 1;
kn[m] = kn[n] = 0L;
for( j = 0; j < 28; j++ ) {
l = j + totrot[i];
if( l < 28 ) pcr[j] = pc1m[l];
else pcr[j] = pc1m[l - 28];
}
for( j = 28;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2008-10-16 15:15  vnc-4_1_3-winsrc\
     文件        5908  2008-10-14 13:28  vnc-4_1_3-winsrc\README.TXT
     文件       18340  2008-10-14 13:28  vnc-4_1_3-winsrc\LICENCE.TXT
     目录           0  2008-10-16 15:15  vnc-4_1_3-winsrc\win\
     目录           0  2008-10-16 15:15  vnc-4_1_3-winsrc\win\wm_hooks\
     文件         132  2008-10-14 13:28  vnc-4_1_3-winsrc\win\wm_hooks\wm_hooks.def
     文件        2597  2008-10-14 13:28  vnc-4_1_3-winsrc\win\wm_hooks\wm_hooks.rc
     文件        3237  2008-10-16 15:15  vnc-4_1_3-winsrc\win\wm_hooks\wm_hooks.h
     文件       12813  2008-10-16 15:15  vnc-4_1_3-winsrc\win\wm_hooks\wm_hooks.cxx
     文件         412  2008-10-14 13:28  vnc-4_1_3-winsrc\win\wm_hooks\resource.h
     文件        6159  2008-10-14 14:54  vnc-4_1_3-winsrc\win\wm_hooks\wm_hooks.dsp
     文件        8199  2008-10-14 14:54  vnc-4_1_3-winsrc\win\wm_hooks\wm_hooks.vcproj
     目录           0  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\
     文件        1824  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\QueryConnectDialog.h
     文件        1242  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\VNCServerService.h
     文件        2015  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\ManagedListener.h
     文件        1706  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\STrayIcon.h
     文件        7464  2008-10-14 13:28  vnc-4_1_3-winsrc\win\winvnc\winvnc.rc
     文件       15412  2008-10-14 14:54  vnc-4_1_3-winsrc\win\winvnc\winvnc.vcproj
     文件        8066  2008-10-14 14:54  vnc-4_1_3-winsrc\win\winvnc\winvnc.dsp
     文件        1808  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\AddNewClientDialog.h
     文件        1702  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\VNCServerService.cxx
     文件        7844  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\STrayIcon.cxx
     文件        6006  2004-11-18 13:17  vnc-4_1_3-winsrc\win\winvnc\connected.ico
     文件         634  2008-10-14 13:28  vnc-4_1_3-winsrc\win\winvnc\winvnc4.exe.manifest
     文件        1461  2008-10-14 13:28  vnc-4_1_3-winsrc\win\winvnc\resource.h
     文件        9545  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\winvnc.cxx
     文件         857  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\buildTime.cxx
     文件        2018  2004-11-18 12:43  vnc-4_1_3-winsrc\win\winvnc\winvnc.bmp
     文件        1726  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\JavaViewer.h
     文件        3119  2008-10-16 15:15  vnc-4_1_3-winsrc\win\winvnc\QueryConnectDialog.cxx
............此处省略379个文件信息

评论

共有 条评论