# OpenMePloxxThe binary checks argv[1] for the correct password. Through analyzing main function, the checks are as follows:
* length of the password is `0x36 == 54`* first part of the password is `d4rk{`* last part of the password is `}c0de`* inside of the curly braces has three parts starting with `0x` and with length `0xe == 14` and seperated with `-`
Three parts inside the curly braces are obviously hex values. This is also verified by the string2hex conversion in the main function. The last check concerns the hex values:
*(shifts are circular)** `val1 >> 0xd == val2`* `val2 >> 0x1d == val3`* `val3 == 0x6ff76dfeb3f4`
constructing val2 and val1 using these rules, we get the flag:
`d4rk{0x537fbb6ff59f-0x567e9bfddb7f-0x6ff76dfeb3f4}c0de`