#include <stdio.h> #include <string.h> #include<stdint.h> unsigned char dword_402008[]={ 0xE0,0x81,0x89,0xC0,0xA0,0xC1,0xAE,0xE0,0x81,0xA5, 0xC1,0xB6,0xF0,0x80,0x81,0xA5,0xE0,0x81,0xB2,0xF0, 0x80,0x80,0xA0,0xE0,0x81,0xA2,0x72,0x6F,0xC1,0xAB, 0x65,0xE0,0x80,0xA0,0xE0,0x81,0xB4,0xE0,0x81,0xA8, 0xC1,0xA5,0x20,0xC1,0xA5,0xE0,0x81,0xAE,0x63,0xC1, 0xAF,0xE0,0x81,0xA4,0xF0,0x80,0x81,0xA9,0x6E,0xC1, 0xA7,0xC0,0xBA,0x20,0x49,0xF0,0x80,0x81,0x9F,0xC1, 0xA1,0xC1,0x9F,0xC1,0x8D,0xE0,0x81,0x9F,0xC1,0xB4, 0xF0,0x80,0x81,0x9F,0xF0,0x80,0x81,0xA8,0xC1,0x9F, 0xF0,0x80,0x81,0xA5,0xE0,0x81,0x9F,0xC1,0xA5,0xE0, 0x81,0x9F,0xF0,0x80,0x81,0xAE,0xC1,0x9F,0xF0,0x80, 0x81,0x83,0xC1,0x9F,0xE0,0x81,0xAF,0xE0,0x81,0x9F, 0xC1,0x84,0x5F,0xE0,0x81,0xA9,0xF0,0x80,0x81,0x9F, 0x6E,0xE0,0x81,0x9F,0xE0,0x81,0xA7,0xE0,0x81,0x80, 0xF0,0x80,0x81,0xA6,0xF0,0x80,0x81,0xAC,0xE0,0x81, 0xA1,0xC1,0xB2,0xC1,0xA5,0xF0,0x80,0x80,0xAD,0xF0, 0x80,0x81,0xAF,0x6E,0xC0,0xAE,0xF0,0x80,0x81,0xA3, 0x6F,0xF0,0x80,0x81,0xAD};
int sub_401000(unsigned char* a1, unsigned char *a2) { int v3; char v4; if ( *a2 >> 3 == 30 ) { v4 = a2[3] & 0x3F | ((a2[2] & 0x3F) << 6) | ((a2[1] & 0x3F) << 12) | ((*a2 & 7) << 18); v3 = 4; } else if ( *a2 >> 4 == 14 ) { v4 = a2[2] & 0x3F | ((a2[1] & 0x3F) << 6) | ((*a2 & 0xF) << 12); v3 = 3; } else if ( *a2 >> 5 == 6 ) { v4 = a2[1] & 0x3F | ((*a2 & 0x1F) << 6); v3 = 2; } else { v4 = a2[0]; v3 = 1; } *a1 = v4; return v3; }
int sub_401160(unsigned char *a1,unsigned char *a2, unsigned int a3) { int v3; int i; for ( i = 0; i < a3; ++i ) { a2 += sub_401000(a1, a2); v3 = *a1++; if ( !v3 ) break; } return i; }
int main(){ int i; unsigned int v4; int len=strlen((char *)dword_402008); unsigned char Text[128]={0}; unsigned char *s=dword_402008; v4 = sub_401160(Text, s, len); Text[v4] = 0; printf("%s \n",Text); return 0; }
|