哔哥用安卓版微信和iOS版的微信查看图片

2024-01-25
来源:网络整理

最近互联网出奇的安静。 作为一名高强度冲浪者,小雷很难找到好的话题来写。

写手机曝光太套路了,大家大概都看腻了。 让我们更深入地了解编写应用程序的常规。 前段时间刚写过,不宜频繁输出。

现在真的没有工作了,怎么办? 我选择把它扔掉,然后在办公室里睡着了。

咳咳,开个玩笑。

事实上,当我没有话题可写的时候,我总是会问那位了不起的别哥。 他有着丰富的冲浪经验,总能想出很棒的东西。

比如几个月前的《利用钓鱼网站获取对方IP位置》这个话题,就是别哥策划的。

今天,比普弟兄再次站出来。 这次已经不能称之为“干得好”了,简直可以用“出格”来形容……

事情是这样的,别哥一早就给我发了一张照片。 乍一看,看起来很普通。

不就是“”吗? 我学C语言的时候,每天都在打字。 我能从中得到什么样的东西?

见没什么事发生,我开始无情地嘲笑别哥除了做坏事之外什么也没做。

然而,一巴掌总是来得那么及时……

别哥让我用版微信和iOS版微信查看图片,看看有什么不同。

比较之前,肖雷一脸不屑,心想:“就这样吧”?

毕竟作为一名专业的手机开发者,我使用安卓双修也不止一两天了。

两个系统的微信更新速度可能不一样,但是功能几乎是一样的,比如聊天、发图片等都是很基础的功能,不能区别对待。

那么,如果只是“看图片”那么简单,会不会发生别的事情呢?

于是,小雷先用安卓微信打开了别哥发来的图片。

放大看原图后,图像没有变化,“ ”占满了整个屏幕。

接下来,我把抽屉里积满灰尘已久的11拿出来,看看会发生什么。

将原图发送到微信公众号并点击,神奇的事情就发生了。

小雷看到“”根本没有变化,但是下面一行的“”居然变成了“”……

小雷现在很困惑。 微信也不能区别对待吧?

为了排除偶然,小雷还请了几位牵手的同事一起测试。

结果,同一张原图,他们微信上显示的图片内容全是“”。

端和一开始一样,还是那个熟悉的“”。

不仅肖雷自己很困惑,就连他的同事也开始怀疑人生。

那么问题来了,微信对待和iOS是否有区别,或者说或iOS有什么问题呢?

或者换句话说,原图是“ ”还是“ ”?

如果真想追根究底,需要解决的问题还真不少。 为了尽快解密,小雷用了五十毛钱的巨款贿赂了别哥。

好在别哥也是个老实人。 他收钱、做事都不含糊,现场详细分析。

让我们从简单的事情开始。 微信图片在和iOS上的显示是不同的。 这不是微信的问题,也不是安卓的问题。

真正的问题实际上是一直在使用的PNG解析器,而这个图像解析器被用在和iPad等设备中。

没错,我们平时看到的图片都已经被解码了。

所以理论上来说,如果你在所有苹果智能设备上看上图,都会显示“ ”。

对于安卓、等“非苹果”系统,你会看到“ ”。

微信上显示的图片内容

至于具体原理,小雷稍后会详细讨论。 我们先回答以下问题:

既然和iOS看到两张图片,那么哪张图片是原始图片呢?

苹果微信里面_微信苹果上架app要付费_苹果如何上两个微信

事实上,严格来说,其中任何一个都可以是原始图像,因为该图像已经过处理和合成。

小雷还专门询问了毕普哥,发现实际操作起来还是蛮简单的。

我们可以使用以下解决 bug 的开源工具来创建在 和 iOS 上显示完全不同的图片。

在处理合成之前,肖雷要提前准备两张图片。

一种是【苹果设备看到的图片】,一种是【非苹果设备看到的图片】。

我想大家都知道这个链接,它是有针对性的展示。

图片准备好之后,我们就可以使用之前国外小哥的开源工具来进行图片编辑工作了。

不过怎么说呢,合成过程很简单,只是前期的准备有点麻烦,很多朋友可能会卡在【配置】这一步。

所以今天就不详细解释合成过程了。 如果大家真的有兴趣的话,小雷会另外写一篇文章来单独讲解。 (经典蛋糕)

那么,掌握了这个玩法之后,我们还能进行哪些炫酷的操作呢?

小雷看到很多网友利用它搞色情,利用bug逃避审核。

但这太过分了。 建议大家不要乱搞...

小雷居然想到了一个更刺激的玩法——午夜恐怖。

实施起来非常简单。 你只需要准备一张恐怖的图片作为【苹果设备看到的图片】,然后使用一张动漫女孩的图片作为【非苹果设备看到的图片】。

经过简单的合成,一张看上去对人畜无害,但打开却把iOS用户吓个半死的图片就出炉了。

小雷把合成图发给了现场浏览微博的同事,很快就收到了“垃圾”的评论。 (指植物)。

不过,还是要提醒一下朋友,使用场景仅限于朋友之间的恶作剧。

将其用于不正当用途绝对是违法的。

最后,肖雷会给大家讲讲这个开源工具的具体原理。

创建这个工具的开发者可以用“无意”来形容。 他本来想写一个自己的多线程PNG解码器。

结果,一路上犯了很多错误,其中最严重的是:

(a+b)! = (a) + (b)

这是什么意思? 解码一张合成图片后,他发现在不同设备上看到的图片是不同的。

当他困惑的时候,他想:为什么不问神奇苹果呢? 苹果工程师的水平比我高很多。

于是他就去查资料,想看看苹果是如何多线程解码PNG文件的。

除非他检查,否则他不会知道,但他发现苹果也犯了同样的错误,导致该错误出现在所有苹果设备上。

好家伙,从某种程度上来说,这家伙的开发水平大约是苹果工程师的一半。

其实这个bug并不难解决。 开发者后来说这个bug是100%可以修复的。

但从目前的情况来看,苹果显然还没有修复这个问题。

不然小雷也不会因为别哥的表演而这么尴尬。

在肖雷看来,如果苹果不解决这个问题,要么认为改代码太危险,而删除了错误的一行代码,意味着一周的工作就白费了。

要么他们认为普通用户不会遇到这个bug,想省事,把事情搞砸。

但说实话,这个bug确实很容易被利用。

举个最简单的例子,如果有人故意制作一张“正常,iOS色情”的图片并广泛传播,那么影响将是非常糟糕的。

希望苹果能提供一些零食。 即使是私人程序员可以修复的错误也不太可能被主要的国际制造商修复。

———————————————————————

兄弟们,我几个月前就选定了这个话题,一直没有机会发帖。

刚刚看到苹果似乎在最新的iOS版本中修复了这个问题,所以想要厂商玩合成图的朋友还是别玩了。

·

分享