仅做逆向学习交流使用,请勿用于非法用途,任何单位或个人因除学习交流外使用而直接或间接产生的任何侵权、违法后果,作者不承担任何法律责任。
$ bash build-lib.sh
$
$ python3 jdsigner.py
未完整复原,大概复原了 70%。主要是加密方法 0,1 对于最后几个字节的处理未还原。
就是,如果加密数据大小如果不是8的整数倍的话,最后剩余的几个字节 (1-7个字节),会根据
switch(剩余字节数)
case 1:
a()
...
case 7:
g()
分情况加密处理,这七种算法不同且较长。不过把加密数据扩充到8的整数倍也可行,所以这部分没有处理。