требуется помащ

1723498331441.png

как тута вгетать пасворд (понятное дело что %31s ) но не понятно как настоящий получить
 
  • 663
  • 1
  • 389
Смотри внутрь sub_401000, она отвечает за проверку введенного текста.
 
  • 663
  • 1
  • 389
т.к это достаточно простой крякми (крякми же?), то напишу тут решение.
Я сижу в rz-cutter, потому что иды на линуксе нет, и декомпил может выглядеть странно (потому что используется декомпилер гидры)
1.
1723592411912.png

sub.msvcrt.dll_scanf("%31s", &var_28h); - помещает введенное значение в var_28h
iVar1 = fcn.00401000((char *)&var_28h); - передает это значение в функу, которое после возвращает bool (т.е прошел ли пароль проверку или нет)

Внутри функи fcn.00401000 видим банальный XOR (оператор ^)
1723592552455.png

так как декомпилер покурил травы тут, смотрим дизасембли, чтобы узнать что суется в dest и что есть data.0040201d
1723592745842.png


dest у нас ;,<#;,\v!:/?
data.0040201d - SCTL

Итого функция проверки выглядит как то так:
check_password:
bool check_password(const char *input) {
    const char *encrypted = ";,<#;,\v!:/?";
    const char *key = "SCTL";
    char decrypted[15];
    int key_len = strlen(key);
    int i;

    for (i = 0; encrypted[i] != '\0'; i++) {
        decrypted[i] = encrypted[i] ^ key[i % key_len];
    }
    decrypted[i] = '\0';
    
    return strcmp(decrypted, input) == 0;
}

Для декрипта:
паста:
#include <stdio.h>
#include <string.h>

void decrypt(char *dest, const char *key) {
    int dest_len = strlen(dest);
    int key_len = strlen(key);
    
    for (int i = 0; i < dest_len; i++) {
        dest[i] = dest[i] ^ key[i % key_len];
    }
}

int main() {
    char dest[] = ";,<#;,\v!:/?";
    decrypt(dest, "SCTL");
    printf("Password: %s\n", dest);
    return 0;
}


Password: hohoho_milk
 
C++:
int main()
{
    unsigned char crypt[] =
    {
     тут Shift+E байты типо 0xCE
    };
    const char* key = "SCTL";
    
    for ( int i = 0; i < sizeof(crypt); ++i )
        crypt[i] ^= key[i % strlen(key)];
    
    printf("decrypted: %s\n", crypt);     
}
Спасибо за помощь на постороннем форуме помогли тоже
вот такой был код на постороннем проекте
в любом случае спасибо:pepeheart:
 
Сверху Снизу