对于尚未见过的人,Snapchat现在具有一种特殊的基于图像的代码,可让您通过将相机对准屏幕来快速添加朋友,类似于QR码,称为“快照”。这是一个示例:



有人知道如何能够反向工程该系统的工作方式,以便您可以在给定特定用户名的情况下自动生成这些“ Snaptags”吗?我以前从未对这样的系统进行过反向工程,并且不确定如何去做。

谢谢!

评论

只是一个指针:使用能够扫描图像的二进制文件(例如,您更喜欢的Android / iOS应用程序)并从那里获取算法。 Android可能会因为使用Java而变得更容易,因为Java更容易反向/反编译。

这是SnapTag的专利:Patentimages.storage.googleapis.com/pdfs/US8094870.pdf

未确认,但即使已解密,这些快照代码快照标签也可能位于MD5中(未确认)

@JasonGeffner这是另一种SnapTag。问题实际上是从帖子中的屏幕快照询问Snapchat的Snapcode。该专利是类似产品,但看起来与Snapcode完全不同,因此我认为这是无关的。

#1 楼

我将从哪里开始...

首先阅读有关QR码的信息。我猜想QR码与Snapcode并没有那么远,但是Snapcode可能携带的信息很少。同样,它们仅包含指向Snapchat ID的指针。微型QR码可以容纳35个字符,这大概相当于一个Snapcode的容量,而不是锚点,您需要一个用于定位的幽灵和一个已知大小的盒子。

Snapcode是否每个点都“上”?

了解Snapchat ID。允许的字符集以及最小和最大长度是什么?

要尝试的另一件事是开始弄乱Snapcode。您能弄乱点和颜色吗?您可以通过尝试破坏它们来了解它们的健壮性,这又可以告诉您它们是否在进行纠错。

比较一些快照代码。实际上,生成快照代码。您可能会查看该项目的演示,该项目演示了如何连接到Snapchat API,并生成了多个更改字母的Snapcode,以查看其在添加或删除字符时的行为。

通常,反向工程是一个练习。了解有关此主题的所有知识。当您获得足够的信息时,您可能会跃入能够读取和生成任意代码的地方。