Encryption 对字符串屏蔽/模糊功能进行反向工程

Encryption 对字符串屏蔽/模糊功能进行反向工程,encryption,reverse-engineering,Encryption,Reverse Engineering,我想解开或解开包含一些字符的base64编码字符串 例如,我知道VovL5SaV_iSBx6oAFGypsTCO匹配00000000。有没有办法知道更多的数据(输入和输出)来找出混淆字符串的算法?我什么也找不到 例如: 如果A较长,则f(A)的结果长度将有所不同。如果A较短,则f(A)将较短 如果A和B的结尾相似(例如。aaaaa@gmail.com及bbbbb@gmail.com),那么f(A)和f(B)也将有相同的结尾 根据您提到的内容,加密似乎使用了分组密码: 关于分组密码,nive的一

我想解开或解开包含一些字符的base64编码字符串

例如,我知道
VovL5SaV_iSBx6oAFGypsTCO
匹配
00000000
。有没有办法知道更多的数据(输入和输出)来找出混淆字符串的算法?我什么也找不到

例如:

  • 如果
    A
    较长,则
    f(A)
    的结果长度将有所不同。如果A较短,则
    f(A)
    将较短
  • 如果A和B的结尾相似(例如。aaaaa@gmail.com及bbbbb@gmail.com),那么f(A)和f(B)也将有相同的结尾

根据您提到的内容,加密似乎使用了分组密码: 关于分组密码,nive的一个特性是,块的加密不依赖于之前的加密,这并非总是正确的,(这是非常糟糕的做法=对攻击者非常好),实现这一点的分组密码之一是: ECB:,正如您所看到的,每个加密都使用相同的密钥,并且分组密码可以等效于异或,从而允许猜测decryopt任何内容。检查长度超过一个块的f(00000000000000),并查看模式是否自身重复。
如果不是这种情况,您可能会使用类似于CTR的东西:这里使用一个“key(i)”=块密码(key,nonce(i))来使用XOR加密每个块,如果您设法再次计算f(000000000000)并找到key(1),key(2)。。。你可以用后者来解密你想要的任何东西。如果您能为我提供用于模糊处理的工具,我可能能够解密您想要的内容

鉴于您所说的内容和发布的评论,我想说是的,了解更多的数据对
[obfuscated/cleartext]
可以帮助您理解底层算法

您必须分析各种属性,例如字符串长度、字符冗余、字节值移位和微小变化(例如:将
000000
更改为
000001
)以及控制模糊化字符串是否可预测或可重复

最后,试着看看你是否能伪造你自己的模糊文本并看到结果。这可以通过模糊化来实现,并且可以帮助您以更积极的方式预测算法

从你们所说的,我会说这不是一个安全的数据块密码,而是一个替代。它可以是字节级的ROT13,也可以是XOR,两者都有一些填充(元数据?)


请注意,
\u
似乎起到了分隔符的作用:字符串原样无法解码,但
\u
周围的两个部分都可以解码。

我想帮助您,但在。也许在一个自由度更高的国家,有人会给出更好的回答

1201. (1) A. No person shall circumvent a technological measure
that effectively controls access to a work protected under this title.

这与base64有什么关系?VovL5SaV_iSBx6oAFGypsTCO不是base64编码的字符串吗?是的,但它只是数据的一种表示形式,允许显示数据或将数据传输到限于ASCII的系统。您的基本问题适用于后面的18字节任意数据。如果我理解正确,您有
base64(f(“00000000”)=“VovL5SaV_iSBx6oAFGypsTCO”
。因此,另一种表示法(十六进制)是:
hex(f(“00000000”)=“568bcbe52695fe2481c7aa00146ca9b1308e”
。您正在尝试对
f
进行反向工程。Base64与此无关。根据
f
的性质,你的问题可能与密码学有关,也可能与密码学无关,它太宽泛了,我们不知道。@HuguesM。很公平,我确实想对
f
进行反向工程。但这与加密无关(参见我添加的示例),它似乎只是关于可逆模糊处理。对字符串编码的应用程序进行反向工程。此外,考虑反函数工程问题的功能基本上是一个API,他们使用PHP(这就是服务器所说的),并使用解密的文本输出的图像。这就是我所知道的。用文本输出图像。这是一个简单的PHP脚本,在我假设他们使用的文档中有详细说明。api是一个黑盒(您的f函数),您可以向它提供任何内容,如果是,我可以访问它吗?