2023香山杯Re部分题解

URL

base64解码

a=[0x78, 0x8B, 0x96, 0x86, 0x78, 0x51, 0x91, 0x50, 0x6C, 0x62, 0x77, 0x53, 0x6C, 0x88, 0x63, 0x50, 0x78, 0x71, 0x4E, 0x50,
0x6B, 0x98, 0x77, 0x53, 0x6A, 0x72, 0x77, 0x97, 0x6C, 0x8B, 0x77, 0x92, 0x6C, 0x98, 0x63, 0x50, 0x6D, 0x71, 0x4E, 0x51,
0x6C, 0x62, 0x77, 0x96, 0x6C, 0x98, 0x5F, 0x50, 0x6B, 0x72, 0x81, 0x51, 0x6C, 0x88, 0x64, 0x57]

for i in range(len(a)):
    a[i]-=30
    print(a[i],end=' ')

image

APK

image

XXTEA加密

找脚本修改下数据

#include <stdio.h>
#include <stdint.h>
#define DELTA 0x9e3779b9
#define MX (((z>>5^y<<2) + (y>>3^z<<4)) ^ ((sum^y) + (key[(p&3)^e] ^ z)))

void btea(uint32_t *v, int n, uint32_t const key[4])
{
    uint32_t y, z, sum;
    unsigned p, rounds, e;
    if (n > 1)            /* Coding Part */
    {
        rounds = 6 + 52/n;
        sum = 0;
        z = v[n-1];
        do
        {
            sum += DELTA;
            e = (sum >> 2) & 3;
            for (p=0; p<n-1; p++)
            {
                y = v[p+1];
                z = v[p] += MX;
            }
            y = v[0];
            z = v[n-1] += MX;
        }
        while (--rounds);
    }
    else if (n < -1)      /* Decoding Part */
    {
        n = -n;
        rounds = 6 + 52/n;
        sum = rounds*DELTA;
        y = v[0];
        do
        {
            e = (sum >> 2) & 3;
            for (p=n-1; p>0; p--)
            {
                z = v[p-1];
                y = v[p] -= MX;
            }
            z = v[n-1];
            y = v[0] -= MX;
            sum -= DELTA;
        }
        while (--rounds);
    }
}


int main()
{
    uint32_t v[9]= {689085350 ,626885696 ,1894439255 ,1204672445 ,1869189675 ,475967424 ,1932042439 ,1280104741 ,2808893494};
    uint32_t const k[4]= {12345678 ,12398712 ,91283904 ,12378192};
    int n= 9; //n的绝对值表示v的长度,取正表示加密,取负表示解密
    // v为要加密的数据是两个32位无符号整数
    // k为加密解密密钥,为4个32位无符号整数,即密钥长度为128位

    // btea(v, n, k);
    // printf("after enc:%u %u %u\n",v[0],v[1],v[3]);

    btea(v, -n, k);
    printf("after dec:%s\n",(char*)v);
    return 0;
}
//after dec:c1f8ace6-4b46-4931-b25b-a1010a89c592
posted @ 2023-10-17 13:10  方北七  阅读(29)  评论(0)    收藏  举报