首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过远程桌面连接窃取数据

通过远程桌面连接窃取数据
EN

Code Golf用户
提问于 2011-05-10 18:29:03
回答 1查看 453关注 0票数 4

我的一位软件供应商朋友希望通过限制对软件源代码的访问仅访问远程桌面访问来限制开发环境,从而禁止任何数字通信,包括剪贴板、打印机、网络共享和从该环境访问internet。

其理由是,他们在合同上有义务向海外合作伙伴提供一个公司标准的开发环境,而且存在着盗窃的担忧。

我想让他们相信,这是一个徒劳无益的努力,对优秀的开发人员来说是徒劳的负担,因为对源代码的不受监督的访问将为窃取数据提供充足的机会。不管有多少防火墙规则和组策略到位,仍然有一个通道不能被移除--屏幕。

假设开发环境有Visual 2010、数据压缩软件和其他常见的开发环境工具,那么使用远程桌面屏幕窃取数据的最灵活方法是什么?请记住屏幕刷新速率的任何限制。

候选方法:屏幕上的单色位图可以容纳200 an以上的此类源代码存档。没有错误校正,这仅仅是100‘s压缩源代码的单色数据的500多张屏幕截图。数据必须被编码、解码,我完全懒得把500个屏幕截图保存到画图中。现有的免费软件可以涉及,但不安装在环境上。

其他想法?实现?

EN

回答 1

Code Golf用户

回答已采纳

发布于 2011-05-10 20:20:14

使用框架从本地计算机捕获视频。然后,你可以在远程桌面上以最高的帧速率闪现东西,所有这些都会被记录到一个本地视频文件中。

我看不出有一种方法可以精确地同步到帧速率,所以你需要一些错误检测来确保你没有得到数据的中间图。下面是一个使用文本和python脚本的简单方案:

代码语言:javascript
复制
framerate = 30  # fps of viewer
numlines = 24   # lines of text you can see at once
import sys,time,md5,base64
lineno = 0
while 1:
  lines = 'chunk starting at line %d\n' % lineno
  for i in xrange(numlines - 2):
    lines += sys.stdin.readline()
    lineno += 1
  print 'md5:', base64.encodestring(md5.new(lines).digest()),
  print lines
  time.sleep(1.0/framerate)

在RemoteDesktop窗口中运行此脚本,并在希望捕获的文本中运行管道。当它完成后,OCR每个帧的框架输出(这是困难的部分,我不知道你会使用什么)。在md5不正确的地方丢弃任何重复的帧和帧。

您可能希望对输入进行base64编码,因为OCR不能很好地处理非打印字符(如制表符和空格)。

票数 5
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/2539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档