MD5 Cloud Decryptor - MetaTrader 5 Expert | MT5 EA Download - MetaTrader 5 Resources



This example demonstrates the use of a proxy's custom data frame transfer mechanism during a brute force search designed to find an MD5 hash value.
A task unit that performs a password search based on the MD5 hash is sent to the remote agent, which then returns the found password. The password found will be printed in the "Expert" window of the main terminal. Real-time display of the speed characteristics and progress of the computing network.
The test MD5 hash "ab4f63f9ac65152575886860dde480a1" was found within seconds to be the 6-symbol password "azerty".
This program also demonstrates the principle of virtualizing non-linear and non-numeric input parameters into a numeric counter. To do this, we set the sinput flag "Not used in brute force searches" and add a work counter called "Counter", which is programmatically controlled:
//--- input parameters Input integer password length from = 6 ; // password length from Enter the integer password length to = 6 ; // The password length is Enter BruteForceEnumType BruteforceType =BRUTEFORCE_SET_ASCII_DIGITS; // Brute force attack character set Input string brute force character = "" ; // brute force custom character set Enter HashEnumType HashType=HASH_TYPE_SINGLE; // Hash type input string hash table = "ab4f63f9ac65152575886860dde480a1" ; // azerty's hash source // MD5 hash or file name (1 hash per line) input long counter = 0 ;
By using mixed master mode, which allows running a copy of the EA in the terminal in addition to running copies on remote and local brokers, we can:
The screenshot above shows the master EA successfully visualizing the speed of brute force searches in computational networks.
To activate master mode, you need to add a handler in the tester initialization EA, where you can read all input parameters, convert them into linear counters and explicitly redefine the operating mode of any input variable. The following code shows how to convert a non-numeric/non-linear parameter to a double counter, and then set the new limit on how the numeric Counter parameter operates:
BlankTesterInitialize ( ) { Double passes = 0.0 ; //--- Calculate limits if (!ExtScanner.CalculatePasses(PasswordLengthFrom,PasswordLengthTo,BruteforceType,BruteforceCharacters,passes)) return ; Parameter setting range ( "counter" , true , 0 , 0 , 1 , 1 + long (via /MIN_SCAN_PART));
Although the counter parameter was initially locked, it was later redefined as an active work counter with explicit limits. This means that the tester will use that specific parameter.
Attachment download
📎md5.cloud.decryptor.mq5 (11.58 KB)
📎 md5.scanner.mqh (25.07 KB)
📎 md5.speed.chart.mqh (14.49 KB)
📎 md5.visualizer.mqh (19.42 KB)
Source: MQL5 #12942
💡 Featured Recommendations
✍️ Latest by the author
- •
- •
- •
- •
- •
- •
📌 Popular topics
- •
- •
- •
- •
- •
- •
- •
- •
🔗 You May Be Interested In
- •
- •
- •
- •
- •
- •

