base64混淆

https://blog.csdn.net/zhangge3663/article/details/110181608

首先说说加密的原理:

1、先用base64对视频地址进行加密。

2、在视频地址前面加上一个4位字符串,字符串要满足以下条件:

a.必须是四位16进制的字符串。

b.字符串的10进制必须也是一个四位整数。(这个四位整数很重要,用来确定随机字符串的插入位置和个数的)

c.插入加密地址前的是四位16进制的字符串的倒序。

3.通过开头加上的4位字符串确定随机字符串以及插入的位置(前后相应位置都加上一段随机字符串)

看着原理是不是一头大?不用急,现在慢慢来解析一下:

现在用第一张图上的字符串来说明一下解密的过程,然后就能反推加密原理:

base64混淆加密后的地址:b901aHR0TDcDovL212dmlkZW8xLm1laXR1ZGF0YS5jb20vNTlhZmU3MDRmMTBiOTQ3ODIubXA0P2s9NDNiNzhkYjZmYmE1ZjNlZWM4NjY3NTM2MTkxNjI3ZGUmdD01OWIzNjdejNA==

①首先前面4位16进制的字符串为b901,因为是倒序添加的,所以实际上为109b。

②109b对应的10进制为4251。

③通过4251推算,前面添加的随机字符串位置为第4个字符开始,添加2个随机字符串;后台添加的随机字符串位置为倒数第5个添加1个随机字符串。

得出上面的混淆加密的随机字符为(用*号替代):

aHR0**cDovL212dmlkZW8xLm1laXR1ZGF0YS5jb20vNTlhZmU3MDRmMTBiOTQ3ODIubXA0P2s9NDNiNzhkYjZmYmE1ZjNlZWM4NjY3NTM2MTkxNjI3ZGUmdD01OWIzNjd*jNA==

去掉*号的内容即为真实的base64加密地址:

aHR0cDovL212dmlkZW8xLm1laXR1ZGF0YS5jb20vNTlhZmU3MDRmMTBiOTQ3ODIubXA0P2s9NDNiNzhkYjZmYmE1ZjNlZWM4NjY3NTM2MTkxNjI3ZGUmdD01OWIzNjdjNA==

然后就可以通过普通的base64解密方法来解密视频地址了。

1 decodeURIComponent(escape(window.atob('aHR0cDovL212dmlkZW8xLm1laXR1ZGF0YS5jb20vNTlhZmU3MDRmMTBiOTQ3ODIubXA0P2s9NDNiNzhkYjZmYmE1ZjNlZWM4NjY3NTM2MTkxNjI3ZGUmdD01OWIzNjdjNA==')));
2 //得出内容为:http://mvvideo1.meitudata.com/59afe704f10b94782.mp4?k=43b78db6fba5f3eec8667536191627de&t=59b367c4

posted @ 2022-03-22 11:49  沉梦匠心  阅读(576)  评论(0)    收藏  举报