博文

如何从一台被铅封的机器上取走数据(转)(2006-05-12 17:16:00)

摘要:我在Q公司看到的计算机基本都是Dell,不同之处就是机箱被铅封,软驱被拆了。机箱后面有一个钢制的挡板,所有的USB、串口、并口、PS/2口统统被锁在里面,连键盘鼠标都拔不下来。员工上网一律走HTTP代理,出口数据完全被监控,只要有某个机器上行流量稍微大一点,或者数据有些异常,立即就会有人来检查你在干什么。

以我这样恶毒的心灵,见到这种玩意自然会心生邪念。


1、声卡

声卡也是一个可以进出数据的设备,只要耳机和话筒插口还在,我们甚至可以用普通的音频线在两台机器间建立TCP/IP连接。我冥冥中觉得这种东西肯定有人搞过,于是就到网上找了找,果然就找到了:

http://www.baycom.org/~tom/ham/soundmodem/

如果能建立TCP/IP连接,那自然什么都能干,就是有点不方便,因为动静太大,至少需要一个笔记本或者PDA,还要插线。

还有个折中的方案,就是把要传输的数据调制成普通音频文件,这样用MP3接到声卡上就可以录下来。


2、PC Speaker

我并不确认Q公司没有把计算机的音频接口拆掉,所以声卡那个方案虽然比较理想,但未必能用。但是我想他们还不至于丧心病狂到把PC Speaker也拆了。

现在的主板一般都自带PC Speaker,其实就是一块钱一个的蜂鸣器。我以前搞无线电的时候用过这种东西,它可以发出很高频率的声波,甚至超声波。PC Speaker是可编程的,无论是直接的IO操作,还是调用Beep(),甚至用Qbasic,都可以实现将文件调制的音频以声波的形式辐射出去的目的,而且这个声波人耳是听不见的。

录制下来的数据中自然会包含大量环境噪音,但由于使用了超声来负载数据,所以很容易把噪音滤掉。


3、键盘灯

键盘灯也是可编程的,像这样一个两行的VBS脚本就可以控制CapsLock灯的明灭:

set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{CAPSLOCK}"

可以编程将数据的1和0转换成键盘灯的明和灭,然后用一个接收器将明灭信号再还原为数据。......

阅读全文(2560) | 评论:0

VFP系统命令和函数的运用技巧(1)(转)(2006-05-07 12:59:00)

摘要: Vfp为我们提供了非常丰富的命令和函数,在Vfp中编程应尽量用Vfp身的命令或函数,只有实在没办法时才考虑用WIN32API外部连接库。

1.如何取得系统目录
nPath_ls=fullpath('command.com',2)
nPath=strtran(nPath_ls,'COMMAND.COM','')  &&取得Windows\的目录名
*如果想得到SYSTEM目录则:
nPath=strtran(nPath_ls,'COMMAND.COM','system\') &&取得Windows\system\的目录名 当然下面的代码更简单:
mWinPath=getenv("windir")  &&取得Windows\的目录名


2.如何取得运行程序的盘符和当前目录
Dqml=sys(5)+sys(2003)+'\'

3.如何取得某个文件的大小、修改日期及属性
Vfp为我们提供了一个非常强大函数ADIR(),
语法:
ADIR(ArrayName [, cFileSkeleton [, cAttribute [, cCreatorType]]])
使用:
X=Adir(Myml,'C:\TEMP\*.DBF')
返回:
X=符合cFileSkeleton条件的文件或目录个数
Myml=一个有五列内容的数组。
这五列的含义是:
1 文件名  字符型
2 文件大小 数值型
3 文件日期 日期型
4 文件时间 字符型
5 文件属性 字符型
例:我们想得到某个文件的大小或文件修改日期及属性:
X=Adir(Myml,'C:\TEMP\abc.DBF')
IF X#0
  wjsize=Myml(1,2) &&取得文件大小
  wjdate=Myml(1,3) &&取得修改日期及属性
  wjAttr=Myml(1,5) &&取得文件属性
ELSE
  wait wind '没有您指定的文件'
ENDI
文件属性的含义:......

阅读全文(5172) | 评论:1