How can I hide a flag from `strings` command

I want to create RE CTF, that the user needs to discover which string he need to write in order to execute a function that will print the flag, but, with a simple strings command in shell, we can discover the flag in the printf function. So, how can we make this not to happen?

#include <stdio.h>

void print_flag() {
    printf("secret_string discovered. flag: {eAsy_p3asy}");

int main()
    int c;
    c = getchar();
    while (c != 'secret_string') {
        c = getchar();
    return 0;

Go to Source
Author: ArlichBachman

reversing php dencryption function using openssl_encrypt

hello all,

i’m solving a ctf challenge and i have this function that decrypts the cipher
i want to build a function that encrypts plain text using
vmUeu7D9bzE5JmNE as a key

example output:

//$EncString = encryptString("aaaaaaaaaaaaaaaaaaaaa", "vmUeu7D9bzE5JmNE");

decryption function :

function decryptString($ciphertext, $password)
    $ciphertext = base64_decode($ciphertext);
    if (!hash_equals(hash_hmac('sha256', substr($ciphertext, 48) . substr($ciphertext, 0, 16) , hash('sha256', $password, true) , true) , substr($ciphertext, 16, 32))) 
        return null;
    return openssl_decrypt(substr($ciphertext, 48) , "AES-256-CBC", hash('sha256', $password, true) , OPENSSL_RAW_DATA, substr($ciphertext, 0, 16));

i want to reverse the decryption function , i tried but i couldn’t

Go to Source
Author: Mo Salah