能力值:
( LV2,RANK:15 )
|
-
-
2 楼
先按照这个文章脱出easy-dex,https://blog.csdn.net/aa2528877987/article/details/122098972,你会发现在easy-dex里面的MainActivity(图一) Object a = b.a(str2.getBytes()); 实际上你输入的是在这个b.a方法加密的,随后到b.a方法里面查看,想要识别出来常规算法就得知道算法的特征,类似于常量表之类的,b方法的算法表特征就在第一行(图二) private static final byte[][] a = {new byte[]{-87, 103, -77, -24, 4, -3, -93, 118, -102, -110, By 上网查询可知道他是twofish的加密表https://www.oryx-embedded.com/doc/twofish_8c_source.html,java十进制转为十六进制就是这里面的uint8_t q0还有uint8_t q1,具体的加密代码肯定也不是出题者自己写的,搜索github Incorrect key length twofish(对应着easy-dex的这一部分,直接搜这一部分的也行 synchronized (b.class) { if (bArr == null) { throw new InvalidKeyException("Empty key"); } int length = bArr.length; if (length != 8 && length != 16 && length != 24 && length != 32) { throw new InvalidKeyException("Incorrect key length"); } ),可以找到原有算法,接下来就是先一一比较大体相似之处,随后确定这个是twofish算法了
|
|
|