逆向题(29)nss:3864

nss:3846

我已经把base64忘得差不多了,这个题基本思路我大概知道

#include <stdio.h>
#include <string.h>
​
int main () {
    int v3[65];
    char Source[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    char Destination[65] = {0,};
    char *result;
​
    v3[0] = 16;
    v3[1] = 34;
    v3[2] = 56;
    v3[3] = 7;
    v3[4] = 46;
    v3[5] = 2;
    v3[6] = 10;
    v3[7] = 44;
    v3[8] = 20;
    v3[9] = 41;
    v3[10] = 59;
    v3[11] = 31;
    v3[12] = 51;
    v3[13] = 60;
    v3[14] = 61;
    v3[15] = 26;
    v3[16] = 5;
    v3[17] = 40;
    v3[18] = 21;
    v3[19] = 38;
    v3[20] = 4;
    v3[21] = 54;
    v3[22] = 52;
    v3[23] = 47;
    v3[24] = 3;
    v3[25] = 11;
    v3[26] = 58;
    v3[27] = 48;
    v3[28] = 32;
    v3[29] = 15;
    v3[30] = 49;
    v3[31] = 14;
    v3[32] = 37;
    v3[34] = 55;
    v3[35] = 53;
    v3[36] = 24;
    v3[37] = 35;
    v3[38] = 18;
    v3[39] = 25;
    v3[40] = 33;
    v3[41] = 43;
    v3[42] = 50;
    v3[43] = 39;
    v3[44] = 12;
    v3[45] = 19;
    v3[46] = 13;
    v3[47] = 42;
    v3[48] = 9;
    v3[49] = 17;
    v3[50] = 28;
    v3[51] = 30;
    v3[52] = 23;
    v3[53] = 36;
    v3[54] = 1;
    v3[55] = 22;
    v3[56] = 57;
    v3[57] = 63;
    v3[58] = 8;
    v3[59] = 27;
    v3[60] = 6;
    v3[61] = 62;
    v3[62] = 45;
    v3[63] = 29;
​
    strcpy(Destination, Source);
    for (int  i = 0; i <= 47; ++i ) {
        for (int  j = 0; j <= 63; ++j )
            Source[j] = Destination[v3[j]];
        strcpy(Destination, Source);
    }
​
    printf("%s", Source);
    return 0;
}
​

我们在base64里面的函数可以知道里面有个basechange,是用来改表的,然后我们将里面的代码,用c语言复刻出来,我们可以得打之后的码表

gJ1BRjQie/FIWhEslq7GxbnL26M4+HXUtcpmVTKaydOP38of5v90ZSwrkYzCAuND

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值