V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
andybest
V2EX  ›  问与答

有没可能隐藏上传至图片空间的照片?

  •  
  •   andybest · 2014-06-14 19:10:59 +08:00 · 3477 次点击
    这是一个创建于 3822 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如上传至新浪微博的照片,你实际看到的是一个样子,但照片本身又是另外的一个样子
    比如通过 x.cn/a.jpg 访问看到的是只猫,而 x.cn/a.jpg?dog 访问则变成了狗(当然这只是个理想状态下的假设,我们并没有权限修改图片空间的代码来做到这一点)

    目前我能想到的是将图片平均分割成10x10 100张小图,将其打散并上传至图片空间,客户端使用一个算法将这些打散的图片组合还原并显示出原图

    你有没有什么可以令人脑洞大开的想法呢?
    19 条回复    2014-06-16 13:43:01 +08:00
    Mutoo
        1
    Mutoo  
       2014-06-14 19:37:46 +08:00   ❤️ 3
    上传65535个色块,然后用html拼出bitmap。
    XXOO
        2
    XXOO  
       2014-06-14 20:45:06 +08:00
    关注.我也像这个问题.
    ejin
        3
    ejin  
       2014-06-14 20:47:18 +08:00
    既然你都通过客户端了,那把你的图片加密下没什么难度吧(应该会变成全是杂色的图),当然你说的那什么?dog显然是不可能的,因为图片就是图片,是死的。

    还有个方法就是图片和rar压缩包合并的方法

    http://www.baidu.com/s?wd=%E5%9B%BE%E7%89%87+rar+%E5%90%88%E5%B9%B6&rsv_bp=0&ie=utf-8&ch=&bar=&rsv_spt=3&tn=baidu&inputT=5818
    lsylsy2
        4
    lsylsy2  
       2014-06-14 20:47:32 +08:00   ❤️ 1
    首先,你要解决掉截屏大法,然后再考虑其它……
    andybest
        5
    andybest  
    OP
       2014-06-14 21:01:56 +08:00
    @lsylsy2 截屏大法是什么意思?
    xiozf
        6
    xiozf  
       2014-06-14 23:15:32 +08:00
    在图床本身不修改图片的情况下 proxomitron本身可以做到,某规则以前就把yk播放器放图片里上传到图床然后引用。。。。。。。
    ysdj
        7
    ysdj  
       2014-06-14 23:20:02 +08:00
    考虑用gif啊 第一桢猫 第二桢狗
    binux
        8
    binux  
       2014-06-14 23:31:17 +08:00   ❤️ 1
    你这个重点是什么?
    要求a是正常的图片吗?
    b的信息量要求很大吗?

    首先,完全不需要考虑b的内容是不是图片,反正都是信息(或者叫二进制内容)。
    如果a不需要是正常图片,那只要将信息编码成图片,并且能够从重编码/压缩这样的噪声中还原即可。

    如果要求a还是可以看的照片,那么b的信息量就不能很大(显然不能大过a吧),图片隐写,这样的论文还是蛮多的。
    arzusyume
        9
    arzusyume  
       2014-06-14 23:34:17 +08:00
    以前也想过这个问题,比如看起来是伪装成正常向的图片,但装了某浏览器扩展后打开就是很糟糕的图片...
    Sunyanzi
        10
    Sunyanzi  
       2014-06-14 23:40:50 +08:00   ❤️ 1
    给你这个看看吧 ... http://mop.sunyanzi.cn/dissolve/ ...

    这是我 06 年写的一个小玩意 ... 你可以把这个视为一个图片隐写的 demo ...

    如果你的需求是把一张图片而不是文字溶入另一张图片的话 ... 八年前就能做到了 ...
    binux
        11
    binux  
       2014-06-14 23:52:02 +08:00
    @Sunyanzi 这样实际上是将信息融入一个图片的容器,而不是融入图片。另存为一下就无效了。图片应该是指它的画面内容。
    andybest
        12
    andybest  
    OP
       2014-06-15 00:03:32 +08:00
    @binux 谢谢,怎么搜索相关论文?keyword是啥?
    Sunyanzi
        13
    Sunyanzi  
       2014-06-15 00:20:39 +08:00
    @binux 以修改画面内容的方式存储信息的例子我也做过 ... 但效果不好 ...

    当时是 25 个像素的格子存储一个字节 ... 因为很规律所以图片放大看的话做鬼的的痕迹很明显 ...

    我当时一直试图把含有信息的图片伪装成一个经过压缩有很多噪点的 jpg ... 但做不自然 ...

    并且这种方法在同样要求原图的大小和色调亮度等不能被改变的同时还无法存储大内容 ...

    适应性不如直接把内容写在文件里来得好 ... 所以最后还是被我放弃了 ...
    budblack
        14
    budblack  
       2014-06-15 00:45:19 +08:00   ❤️ 1
    我这儿有一个脑洞大开的方案.临时其意没有做过任何深入研究.(基本的图像处理过程我还是做过的,学过一点专业课不是瞎说)理论上讲应该能应付"截屏大法"
    整个过程我们引入三张图片,图片A,B,R.其中A是密文,B是明文,R是密钥.实际上就是建立以个可逆方程就行了.只不过对象是像素矩阵而已.说得够明显了?
    最简单通俗的栗子:
    现在有一张A图片,我们再随便找张B图片重采样至和A分辨率相同.
    然后A,B相加一下生成C.发送B和C出去.
    对方收到B和C之后相减一下就生成A了,当然C这个东西就得加密传输了,比如使用xx浏览器插件神马的...
    如果B在传输过程中被重采样过了,最后解密的时候也将C重采样配合B就行.大致上是能完成图像还原的.感受下?
    具体实现方案,细节上肯定还有很多要优化,比如生成C的算法呀~C的压缩呀~巴拉巴拉~现在太晚了,得洗澡睡觉.如果有兴趣天亮后我们一起试试...
    andybest
        15
    andybest  
    OP
       2014-06-15 01:16:52 +08:00
    @budblack 很有趣的思路,期待有demo!
    lll9p
        16
    lll9p  
       2014-06-15 08:49:00 +08:00



    我做过把信息放图里,只为了从不能传数据的机器上把数据拿出来。。。
    binux
        17
    binux  
       2014-06-15 08:56:54 +08:00
    @andybest 图像隐写
    oott123
        18
    oott123  
       2014-06-15 18:07:56 +08:00 via Android
    @lll9p 你这么一说,我觉得用 qrcode 也是个不错的选择…
    lll9p
        19
    lll9p  
       2014-06-16 13:43:01 +08:00
    @oott123 qrcode信息量不是很大,,~~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2683 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:03 · PVG 20:03 · LAX 04:03 · JFK 07:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.