如何在不知道编码规则的前提下,根据 input 和 output 的样本找出编码所用的规则?

2021-05-06 16:18:26 +08:00
 Myarms
原本的转换工具没有说到具体的编码格式,而且是在线的工具,所以使用很麻烦

我的想法是找到 decode 的规则,写个小程序的工具,不知道这样是否可行?

这是一个样本
194670883002 A20ZWPWV6YPW4X
1840 次点击
所在节点    程序员
12 条回复
ch2
2021-05-06 16:39:22 +08:00
如何在不知道解谜规则的前提下,根据谜面和谜底的样本找出解谜所用的规则?
CSM
2021-05-06 16:42:16 +08:00
你给的样本太少了,理论上来说存在无数个函数 f 使得 f(194670883002) = A20ZWPWV6YPW4X,就像找规律填数那种题目可以拟合出非常离谱的公式一样。

这个在线工具要是在前端编码的,最好的办法就是逆向 JS ;要是后端编码的情况就复杂了,只能多找一些数据然后找规律。

另外还有一种极端情况,所谓“编码”的结果是随机生成的,只不过在数据库中保存了输入与结果的对应关系,这种就完全无解了。
dreampet
2021-05-06 16:44:13 +08:00
直接说你想破解协议不就行了? 还 input 、output,还 decode ?
再说了,求人破解协议就给一组样本?
nekochyan
2021-05-06 16:54:23 +08:00
不可行
Myarms
2021-05-06 17:11:52 +08:00
@CSM 1 请问多少样本才可以呢,我这边估计 100 条是没问题的。
2 “逆向 JS ”这个没了解过,我到时查一下。
3 应该不是随机的
Myarms
2021-05-06 17:12:20 +08:00
@ch2 对的
huabalance
2021-05-06 17:45:10 +08:00
再多发几组 @Myarms
ch2
2021-05-06 17:46:20 +08:00
@Myarms #6 你想知道解谜规则,就只能靠逆向找出来。或者你也可以不用知道规则到底是什么,直接想办法调用那个加密函数就行了
RingoTC
2021-05-06 21:26:25 +08:00
可以看做一种机器翻译问题,而且这种 input 到 output 有明确规则的,神经网络应该很好学
realpg
2021-05-07 11:25:01 +08:00
如何在不知道私钥的情况下,只有明文公钥和密文,找出私钥……
realpg
2021-05-07 11:25:23 +08:00
@RingoTC #9
如何在不知道私钥的情况下,只有明文公钥和密文,找出私钥……
RingoTC
2021-05-07 14:07:35 +08:00
@realpg 我理解楼主问的不是加解密的场景?而是编解码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/775202

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX