| The Obfuscator's Riddle |
Huh? this is a source??:
#include
void print_message(const char* message, DWORD length) {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
WriteConsoleA(hConsole, message, length, NULL, NULL);
}
void exit_program() {
ExitProcess(1);
}
void cleanup_and_exit() {
exit_program();
}
void final_cleanup() {
cleanup_and_exit();
}
void process_exit() {
final_cleanup();
}
void request_password() {
char password[16] = {0};
DWORD bytesRead = 0;
print_message("Enter password: ", 16);
HANDLE hConsole = GetStdHandle(STD_INPUT_HANDLE);
ReadConsoleA(hConsole, password, 16, &bytesRead, NULL);
if (bytesRead 0) {
char lastChar = password[actualLength - 1];
if (lastChar != '\r' && lastChar != '\n') {
break;
}
actualLength--;
}
if (actualLength != 16) {
print_message("Access denied\n", 14);
process_exit();
}
// Clear sensitive data
SecureZeroMemory(password, sizeof(password));
SecureZeroMemory(&bytesRead, sizeof(bytesRead));
SecureZeroMemory(&actualLength, sizeof(actualLength));
}
int main() {
request_password();
return 0;
}
muhaha!!! |
2025-12-29 18:27 |