Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Human Checker needs to lock when something is calling it #173

Open
bee-san opened this issue Dec 27, 2022 · 0 comments
Open

[BUG] Human Checker needs to lock when something is calling it #173

bee-san opened this issue Dec 27, 2022 · 0 comments
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@bee-san
Copy link
Owner

bee-san commented Dec 27, 2022

The human checker runs twice here:

ares -t '61BVLSFfA8QwcDnjxY47PfQ3FBWAhoANQ5yfRtoUptRS'
🕵️ I think the plaintext is Internet Protocol (IP) Address Version 4.
Possible plaintext: '192.168.0.1' (y/N):
🕵️ I think the plaintext is Internet Protocol (IP) Address Version 4.
Possible plaintext: '192.168.0.1' (y/N):
y
y

🥳 Ares has decoded 164 times times.
If you would have used Ciphey, it would have taken you 32 seconds

The plaintext is:
192.168.0.1
and the decoders used are Base58 BitcoinBase32Base64 URL

This is because both Base64 and Base64_url (being a superset of base64) can decode it.

because Ares is multi-threaded, both threads call human checker at roughly the same time. This creates a race condition. An ideal solution would be to have a locking system to lock the human checker (only 1 input at a time), but that requires more thinking than I have right now.

This hack moves the decoders far apart. Ares executes the decoders in order (using multi-threading), which means it will decode base64 first and then base64_url last.

#172 relevant PR

@bee-san bee-san added bug Something isn't working good first issue Good for newcomers labels Dec 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant