使用 base64 的反向字符串模糊处理



我在下面找到了将字符串转换为混淆的base64字符串的javascript代码。

但是如何转换回来呢?

` 
function strobuscate(a) {
return (a.split('').map(function(c, i) {
return String.fromCharCode(c.charCodeAt(0) + i % 80);
}).join('');
}
`

您必须反转每个操作并反转操作的顺序。我将为您提供每个操作的细分,并留给您实际进行反转:

制备:

  • t = parseInt((+new Date()).toString().substr(11)):它获取当前 UTC 时间戳的最后两位数字,即第 100 秒和第 1000 秒。该|| 1仅用于在日期未给出有用结果的情况下处理错误。
  • y = ('0' + t.toString(16)).substr(-2):将前一个t转换为基数 16。0 前缀和 -2 子字符串再次只是极端情况的错误处理

混淆:

  • a.split('').map(function(e, i) { return String.fromCharCode(e.charCodeAt(0) + i % t); }).join(''):遍历输入字符串的每个字符并应用内部函数:
    • 获取字符代码并添加索引模t并从该字符代码中获取字符串
  • 将字符转换后的字符串传递到obbtoa
    • btoa字符串
    • 替换不同的特殊字符
  • y附加到结果字符串前面,因此解码可以知道ty

要了解反转:

  • 取前两个字符来得到y,反转我们用来计算y的操作,从t得到"我们的"t
  • 转替换,反转btoa
  • 通过基本上执行-而不是+来反转字符转换

最新更新