Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
sub.msvcrt.dll_scanf("%31s", &var_28h); - помещает введенное значение в var_28hiVar1 = fcn.00401000((char *)&var_28h); - передает это значение в функу, которое после возвращает bool (т.е прошел ли пароль проверку или нет)fcn.00401000 видим банальный XOR (оператор ^);,<#;,\v!:/?SCTLbool 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;
}
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);
}
