Type7混淆加密过程,即从一个有26个ASCII字符表中,产生一个种子值(Seed Value)(0-52之间)随机抽取一个用来和明文密码的第一个字符异或,产生的结果用16进制表示,放在加密后字符串的第2、3位,然后种子值+1,再去抽取一个用来和明文密码第二个字符异或,16进制结果放在随后的位置位……。
26字符表如下:
0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,
0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,
0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53, 0x55, 0x42
用ASCII形式表示如下:
dsfd;kfoA,.iyewrkldJKDHSUBsgvca69834ncxv9873254k;fg87
如:随机产生一个0-52之间的数字,如seed=2,即为0x66。假设密码为lala。那么我们先把种子值分解成一个两位数,即0*10+2 = 2,就产生了密码的前两位,02,接着,我们用0x66和"l"的ascii形式0x6C进行异或,即0x66 ^ 0x6C = 0x0A。放在密码的随后两位,得到020A。然后种子值++,得到0x64,再与第二个明文密码字符异或,得到结果放在020A的后面。依次类推即得到密文。因此第一次取得的种子值不一样,最后得到的结果基本也不一样,如果种子值超过了52,那么将回滚到0,也即种子值 %= 53。
Type7混淆解密过程就是加密的反向,先取得初始种子值,也就是密文的前两位。如0623……,种子值就等于0*10+6 = 6 ,从表中取出字符,和0x23异或即得到原文第一个字符。也很简单,此处不在赘述。
工具链接:
因项目需要用到加解密,然后研究了下flutter大部分是用原生实现加解密的,但是这样不是我想要的,后面找资料发现dart有一个加密工具 encrypt 。然后研究了下,可以实现我们大部分加解密。
使用Dart实现加解密,有对称加密AES,非对称加密RSA。
工具类封装了AES加解密,RSA加解密和数字签名,RSA也实现分段加解密。
一、导包
二、工具类
Advanced Office Password Recovery 暴力破解 全部是数字的基本能破解 复杂一点的就比较难搞
Office Password Remover 密码移除 直接移除密码 要连上网 1分钟内解决 不过网上基本都是试用版 只能用几次 破解版的过不了杀毒软件的扫描
加密软件有很多的呀~~~就功能分类,以PDF举例。
可以使用嗨格式PDF转换器进行PDF加密,具体操作如下。
打开嗨格式PDF转换器,选择PDF加密。
点进去以后,确认页面上方是“PDF加密”项,将需要加密的文件直接拖拽或打开文件夹添加的方式上传。
文件上传后,点击操作下方的小按钮直接开始转换或删除,确认加密类型及输出目录,确认无误后可点击“开始加密”。
点击“开始加密”后,页面会弹出“请设置文件密码”的小窗口,输入文件密码后点击确定后就文件就在开始加密了。
当页面显示“加密完成”时,点击“打开文件”查看加密完成的pdf文件即可。