吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 422|回复: 4
收起左侧

[经验求助] 已知一个编码代码,求解码代码

[复制链接]
夸克逃逸 发表于 2024-2-26 16:50
50吾爱币
本帖最后由 夸克逃逸 于 2024-2-26 16:56 编辑

如题,我这里有一段编码的js代码,半年不敲代码了,不想花时间慢慢分析了。还想请大佬帮忙分析一下,最好能写一个解码的js。

提前感谢~

代码如下:
var originalStr = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", "", "charCodeAt", "charAt", "length"];
var keyStr = originalStr[0];
function encode64(userStr) {
    var allCases = originalStr[1], param1, param2, param3, param4, param5, param6, orderNum = 0;
    do {
        param1 = userStr[originalStr[2]](orderNum++),
        param2 = userStr[originalStr[2]](orderNum++),
        param3 = userStr[originalStr[2]](orderNum++),
        param4 = param1 >> 2,
        param1 = (param1 & 3) << 4 | param2 >> 4,
        param5 = (param2 & 15) << 2 | param3 >> 6,
        param6 = param3 & 63,
        isNaN(param2) ? param5 = param6 = 64 : isNaN(param3) && (param6 = 64),
        allCases = allCases + keyStr[originalStr[3]](param4) + keyStr[originalStr[3]](param1) + keyStr[originalStr[3]](param5) + keyStr[originalStr[3]](param6)
    } while (orderNum < userStr[originalStr[4]]);
    console.log('res:', allCases)
    return allCases;
}


可用于测试的字符串如下:=zQsD2UByT1PaVtaSJ=YeEc。
提示一下:应该不是base64编码,我试过,不能正确解码。
非常感谢。

最佳答案

查看完整内容

就是base64 [mw_shl_code=javascript,true]function decode64(encodedStr) { var originalStr = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", "", "charCodeAt", "charAt", "length"]; var keyStr = originalStr[0]; var userStr = "", orderNum = 0; var param1, param2, param3, param4, param5, param6; do { param1 = keyStr[originalStr[2]](encodedS ...

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
963437653 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

木头人丶123 发表于 2024-2-26 16:50
就是base64
[JavaScript] 纯文本查看 复制代码
function decode64(encodedStr) {
    var originalStr = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", "", "charCodeAt", "charAt", "length"];
    var keyStr = originalStr[0];
  
    var userStr = "", orderNum = 0;
    var param1, param2, param3, param4, param5, param6;
  
    do {
        param1 = keyStr[originalStr[2]](encodedStr[originalStr[3]](orderNum++));
        param2 = keyStr[originalStr[2]](encodedStr[originalStr[3]](orderNum++));
        param3 = keyStr[originalStr[2]](encodedStr[originalStr[3]](orderNum++));
        param4 = (param1 << 2) | (param2 >> 4);
        param5 = ((param2 & 15) << 4) | (param3 >> 2);
        param6 = ((param3 & 3) << 6) | (encodedStr[originalStr[2]](orderNum++));
      
        userStr = userStr + String.fromCharCode(param4);
      
        if (param2 !== 64) {
          userStr = userStr + String.fromCharCode(param5);
        }
        if (param3 !== 64) {
          userStr = userStr + String.fromCharCode(param6);
        }
      
    } while (orderNum < encodedStr[originalStr[4]]);
  
    return userStr;
}
头像被屏蔽
popdog0 发表于 2024-2-26 17:18
 楼主| 夸克逃逸 发表于 2024-2-26 18:13
popdog0 发表于 2024-2-26 17:18
就是base64编码,输入abc,输出YWJj
然后网上找个base64的工具http://www.txttool.com/t/?id=NDQ1
测试了 ...

我勒个去,看来=zQsD2UByT1PaVtaSJ=YeEc这个字符串的编码文件我找错了
 楼主| 夸克逃逸 发表于 2024-2-26 18:14
木头人丶123 发表于 2024-2-26 17:40
就是base64
[mw_shl_code=javascript,true]function decode64(encodedStr) {
    var originalStr = ["AB ...

okk,谢谢大佬,看来我逆向的思路错了~~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-14 07:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表