V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SuperFashi
V2EX  ›  分享创造

[自娱自乐] 给老司机的新开车方式

  •  
  •   SuperFashi ·
    superfashi · 2016-01-15 23:00:58 +08:00 · 5002 次点击
    这是一个创建于 3227 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这几天闲着无聊又写了个新东西~

    简介:

    超级简单,但是也超级牛逼,给老司机们的一种新开车方式。

    被一种超级厉害的编程语言*WhiteSpace*启发,这种语言只识别空格, Tab 和换行符,这里的 WhiteSpace ,是指的一种加密方式,只会识别空格和 Tab 。

    这种车比某些摩尔斯电码车要好,因为它加密出来的东西全是一堆空白*,人类*无法用肉眼直接识别出来,但是前者不行。

    这货不仅能加密一条单独的信息,同时也能直接加密一整个文件。但是注意加密出来的玩意会比原来的文件大小大,所以就试着加密一些文本文件和种子文件,一整部影片就别这么做了……

    用法:

    python whitespace.py -e|-d (-i input -o output)
    -h, – help :查看帮助
    -e, – encrypt :运行加密模式
    -d, – decrypt :运行解密模式
    -a, – advanced :使用 + 作为分隔符来避免某些软件的二逼转义
    -i, – input=:读入一个文件而不是从键盘输入
    -o, – output=:输出为一个文件而不是打印到屏幕
    

    注意运行解密模式的时候,所有除空格和 Tab 之外的字符都会被忽略,但是至少包含一个空格或者 Tab 否则程序会丢出个异常。

    原理:

    就像我之前说的那样,非常简单,我们都知道电脑里的东西是由二进制码 0/1 构成,所以一个空格代表一个 0 ,一个 Tab 代表一个 1 。

    这就是啦~

    实例:

    以下的所有代码部分内容可能均需通过查看原始文件来获取

    下面的就是一条被加密过的Hello, World!

    1.jpg

    同样,这玩意支持 Unicode 编码,例如你好

    2.jpg

    大多数软件会把连续的空格转义了,所以我们可以使用-a 模式加入+为分隔符:

    3.jpg

    待做:

    • 插入一些随机的词语或一整篇文章,使加密完的东西更要有迷惑性。
    • 试图加入密码解密模式

    许可:

    啥?许可?什么时候有那玩意了?想干啥就干啥吧。


    GitHub

    第 1 条附言  ·  2016-01-16 22:37:12 +08:00

    鉴于多次实验和各位的建议,大多数软件和论坛都会转义 tab ,因此改进一下-a 模式:

    + + + ++ ++++ +++ + ++ + + ++ +++ +++ + + ++ ++++ +++ + ++ + + ++ +++ +++

    demo2.jpg
    但是逼格就没了……

    22 条回复    2016-01-27 23:06:58 +08:00
    jy02201949
        1
    jy02201949  
       2016-01-15 23:41:15 +08:00   ❤️ 1
    现在的老司机真是会玩,各种飙车,从最初的图片藏种到佛曰,玩腻了摩尔斯电码跟 BASE64 ,期间连百度传情跟易经八卦都没放过,现在直接自己写算法了,再过两年得用火箭来发车了
    1234rty
        2
    1234rty  
       2016-01-16 00:38:45 +08:00 via Android
    这个好像对手机不是很友好,无法复制
    TakanashiAzusa
        3
    TakanashiAzusa  
       2016-01-16 00:45:38 +08:00
    很多社区会有自动断行啊之类的排版修正。。这个太容易被干扰了吧?而且都是空格的话,发出去后别人多复制了几个行末的空格的话怎么办。。
    AstroProfundis
        4
    AstroProfundis  
       2016-01-16 00:48:04 +08:00
    楼主,有个协议叫 WTFPL
    qgy18
        5
    qgy18  
       2016-01-16 00:48:22 +08:00
    跟这个使用零宽字符转化代码的思路比较类似:
    http://ucren.com/demos/code-hider/index.html
    wbsdty331
        6
    wbsdty331  
       2016-01-16 06:49:47 +08:00
    我们群里都先用 base64 处理之后,用 GnuPG 加密
    SuperFashi
        7
    SuperFashi  
    OP
       2016-01-16 09:40:15 +08:00 via Android
    @1234rty 手机是绝对可以的,我用安卓的 QPython 加-a 模式处理完后复制到 qq 里发出去再复制回来解密没有问题。
    SuperFashi
        8
    SuperFashi  
    OP
       2016-01-16 09:40:57 +08:00 via Android
    @wbsdty331 那是纯粹的加密了 hhh ,我这都不能叫加密,只能叫转义(和莫尔斯差不多
    SuperFashi
        9
    SuperFashi  
    OP
       2016-01-16 09:45:35 +08:00 via Android
    @TakanashiAzusa 其实早就发现这个问题了,因此别在社区做啦,在社区的话就用-o 输出成 txt 传文件就好了。不过测试了加上-a 模式后在 qq 和大多数聊天软件里都是不会有问题的。
    dangge
        10
    dangge  
       2016-01-16 10:38:13 +08:00 via Android

    建议加上起止符,方便传输
    dphdjy
        11
    dphdjy  
       2016-01-16 11:37:38 +08:00 via Android
    @jy02201949 前几天出来的卫星,可以发摩尔斯电码了→_→ 大家快上~
    cevincheung
        12
    cevincheung  
       2016-01-16 18:52:03 +08:00
    . _.. ..___ _._ ___... _.._. _.._. .__ ___ ..__._ .___ .. .._ ..__._ ... .... .. ..__._ ... .... ..
    cevincheung
        13
    cevincheung  
       2016-01-16 18:53:06 +08:00
    晋革讼屯剥井萃革井剥革蛊颐屯比颐屯蛊颐明夷无妄复困大过无妄
    RqPS6rhmP3Nyn3Tm
        14
    RqPS6rhmP3Nyn3Tm  
       2016-01-16 19:56:19 +08:00
    太大了……
    SuperFashi
        15
    SuperFashi  
    OP
       2016-01-16 22:39:47 +08:00
    @dangge @TakanashiAzusa 改进了~
    sahrechiiz
        16
    sahrechiiz  
       2016-01-16 23:32:18 +08:00
    改过之后看起来和莫斯差不多了……
    Bryan0Z
        17
    Bryan0Z  
       2016-01-17 00:53:46 +08:00 via Android
    代码我都懂……就想问下几楼开车?
    sensui7
        18
    sensui7  
       2016-01-17 01:35:32 +08:00
    我想改装下这台车。。。。
    yvanhe
        19
    yvanhe  
       2016-01-17 08:50:02 +08:00 via Android
    老司机带带我
    SuperFashi
        20
    SuperFashi  
    OP
       2016-01-17 11:33:55 +08:00
    @sahrechiiz 那是-a 模式改进了,但是普通模式还是没有变
    RqPS6rhmP3Nyn3Tm
        21
    RqPS6rhmP3Nyn3Tm  
       2016-01-18 12:58:30 +08:00
    刚想到,这样不就是大小增加 8 倍了吗…
    wbsdty331
        22
    wbsdty331  
       2016-01-27 23:06:58 +08:00
    我尝试一下在 Python3 里面改改运行 目前用转义符正常,直接空格好像有问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2839 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.