首页 > 破解非常简单的加密算法

破解非常简单的加密算法

以下均为十六进制
输入IN
输出OUTA 和OUTB
(不要管以下文字的自动颜色)

样本一:
IN:0xDB391710 
OUTA:1AA09F27-71F0
OUTB:B226E0C5D4BD

样本二:
IN:0x5BFE5EB8
OUTA:9A65E6CF-D949
OUTB:32EB276D-54F8

样本三:
IN:0xCBE057B8
OUTA:0A47DFCF-D9B0
OUTB:A2CD206D-E4DA

样本四:
IN: 0x2bf256b8
OUTA: 0x6A59DECF D9B1
OUTB: 0x02DF1F6D 04E4

样本五:
IN: 0xdbb457b8
OUTA: 0x1A1BDFCF D9B0
OUTB: 0xB2A1206D D426

值得注意的是:outa和outb横杠"-"前面的我已经破解了,就是把in对应字节加上一个常数,高位舍去
e.g. db+3f=1a
5b+3f=9a

横杠只是方便阅读,实际上输入输出【都是一字节类型的数组】
横杠"-"后面的我想不出来怎么算的
注意,每两个十六进制位为一个字节,最小计算单位为一个字节,不要想取一bit之类的
可能会用到四则运算 按位与或非异啥的
根据前4字节可以看出,设置这种加密算法的人非常…蠢,所以别想太多
另外,outa[4]算法我猜是:in[3]xor 01100001(bin)

e.g:
10(hex)=00010000(bin)
71(hex)=01110001
b8=10111000
d9=11011001

我猜 outa[5]只和in[2]有关
outb[4]只和in[0]有关
outb[5]只和in[1]有关

多谢帮助

更多样本即将到来


-之后的16个bit会不会是CRC16过后的值?

【热门文章】
【热门文章】