我正在使用注册机应用程序 (.exe)。它的 GUI 中有两个输入字段:
p1
- 至少 1 位数字,最多 10 位数字 - ^[0-9]{1,10}$p2
- 最多 12 个字符 - 大写字母/数字/下划线 - ^[A-Z0-9_]{0,12}$
按generate
按钮生成一个 key x
。
x
- 正好 20 位数字 - ^[0-9]{20}$
对于每一对(p1,p2)
,只有一个x
(换句话说:f(p1,p2) = x
> 是一个函数)
我对其加密算法感兴趣。
有什么方法可以对算法进行逆向工程吗?
我想到了两种方法:
- 反编译。我用过snowman ,但输出污染太大。反编译后的代码可能包含不相关的部分,例如GUI。
- 分析输入和输出。我想知道是否有任何选项可以通过分析一组
f(p1,p2) = x
结果来确定所使用的加密算法。
最佳答案
正如您提到的,使用雪人或其他一些反编译工具可能是可行的方法。
我怀疑您是否能够仅通过查看输入输出组合来确定算法,因为可以编写任何类型的任意算法,并且可以以任何方式运行。
也许你可以问问作者他们使用的是什么算法?
关于cryptography - 使用给定的 .exe GUI 反转解密算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64585950/