Skip to content

Instantly share code, notes, and snippets.

@daniel-dona
Created April 16, 2020 00:07
Show Gist options
  • Save daniel-dona/08278e53392c5e62321622877e2fc0fd to your computer and use it in GitHub Desktop.
Save daniel-dona/08278e53392c5e62321622877e2fc0fd to your computer and use it in GitHub Desktop.
WTF
undefined4 FUN_004013f0(char *param_1)
{
int iVar1;
char *__s1;
uint local_254;
undefined4 local_250 [3];
char local_244;
undefined auStack579 [51];
undefined4 local_210;
undefined4 local_20c;
undefined4 local_208;
char local_204;
undefined auStack515 [51];
undefined4 local_1d0;
undefined auStack460 [60];
undefined4 local_190;
undefined4 local_18c;
char local_188;
undefined auStack391 [55];
undefined4 local_150;
undefined4 local_14c;
undefined4 local_148;
undefined2 local_144;
char local_142;
undefined auStack321 [49];
undefined4 local_110;
undefined4 local_10c;
undefined4 local_108;
undefined2 local_104;
char local_102;
undefined auStack257 [49];
undefined4 local_d0;
undefined4 local_cc;
undefined4 local_c8;
undefined2 local_c4;
char local_c2;
undefined auStack193 [49];
undefined4 local_90;
undefined4 local_8c;
undefined4 local_88;
undefined2 local_84;
char local_82;
undefined auStack129 [49];
undefined4 local_50;
undefined4 local_4c;
char local_48;
undefined auStack71 [55];
undefined4 local_10;
if (param_1 == (char *)0x0) {
local_10 = 0xffffffff;
}
else {
memset(local_250,0,0x240);
local_250[0] = 0x706c6568;
local_250[1] = 0x77656976;
local_250[2] = 0x67706a2e;
local_244 = '\0';
memset(auStack579,0,0x33);
local_210 = 0x49707061;
local_20c = 0x2e6f666e;
local_208 = 0x6e6f736a;
local_204 = '\0';
memset(auStack515,0,0x33);
local_1d0 = 0x79656b;
memset(auStack460,0,0x3c);
local_190 = 0x61697274;
local_18c = 0x79656b6c;
local_188 = '\0';
memset(auStack391,0,0x37);
local_150 = 0x75737a65;
local_14c = 0x74697462;
local_148 = 0x732e656c;
local_144 = 0x7472;
local_142 = '\0';
memset(auStack321,0,0x31);
local_110 = 0x75737a65;
local_10c = 0x74697462;
local_108 = 0x732e656c;
local_104 = 0x696d;
local_102 = '\0';
memset(auStack257,0,0x31);
local_d0 = 0x75737a65;
local_cc = 0x74697462;
local_c8 = 0x732e656c;
local_c4 = 0x6173;
local_c2 = '\0';
memset(auStack193,0,0x31);
local_90 = 0x75737a65;
local_8c = 0x74697462;
local_88 = 0x632e656c;
local_84 = 0x6764;
local_82 = '\0';
memset(auStack129,0,0x31);
local_50 = 0x656d6974;
local_4c = 0x7478742e;
local_48 = '\0';
memset(auStack71,0,0x37);
local_254 = 0;
while (local_254 < 9) {
iVar1 = strcmp(param_1,(char *)(local_250 + local_254 * 0x10));
if (iVar1 == 0) {
return 0;
}
__s1 = strrchr(param_1,0x2e);
if ((__s1 != (char *)0x0) && (iVar1 = strcmp(__s1,".pem"), iVar1 == 0)) {
return 0;
}
local_254 = local_254 + 1;
}
local_10 = 1;
}
return local_10;
}
@iordic
Copy link

iordic commented Apr 16, 2020

Aquí tienes el código: ;)

int comprobar_palabra(char *palabra) {
  if (palabra == NULL)
    return -1; // Error

    char *validas[9] = {
        "helpview.jpg\0", 
        "appInfo.json\0", 
        "keytrialkey\0", 
        "ezsubtitle.srt\0", 
        "ezsubtitle.srt\0", 
        "ezsubtitle.sim\0", 
        "ezsubtitle.ssa\0", 
        "ezsubtitle.cdg\0", 
        "time.txt\0"
    };

    int comparacion;
    char *extension;

    for (int i = 0; i < 9; i++) {
        // strcmp: 0 si son igual, diferente si no lo son (<0 o >0)
        comparacion = strcmp(palabra, validas[i]);
        if (comparacion == 0)
            return 0;   // Se acepta el fichero

        // Mueve el puntero hasta el ., así solo compara la extensión
        char *extension = strrchr(palabra, '.');
        comparacion = strcmp(extension, ".pem");

        if (extension != NULL && comparacion == 0) 
            return 0;
    }
    return 1;   // El fichero no es válido
}

@daniel-dona
Copy link
Author

<3

@iordic
Copy link

iordic commented Apr 16, 2020

Arreglado xd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment