ในบทความนี้เราจะพูดถึงการใช้ MD5 Cloud Decryptor ซึ่งเป็นเครื่องมือที่ช่วยในการค้นหาหมายเลขผ่านการใช้การค้นหาลักษณะ brute force เพื่อหาค่า MD5 hash ครับ
การทำงานของโปรแกรมนี้คือการส่งหน่วยงานในการค้นหาพาสเวิร์ดจากค่า MD5 hash ไปยังเอเย่นต์ที่อยู่ระยะไกล เมื่อค้นพบพาสเวิร์ดแล้ว มันจะถูกพิมพ์ในหน้าต่าง 'Experts' ของ MetaTrader 5 ทันที โดยที่ความเร็วในการประมวลผลจะถูกแสดงในเวลาจริงครับ

ในตัวอย่างนี้ เราได้ค้นพบ MD5 hash "ab4f63f9ac65152575886860dde480a1" ในเวลาเพียงไม่กี่วินาที โดยพาสเวิร์ดที่ได้คือ 'azerty' ครับ
โปรแกรมนี้ยังแสดงให้เห็นถึงหลักการของการทำให้พารามิเตอร์ที่ไม่เป็นเชิงตัวเลขและไม่เป็นเชิงเส้นกลายเป็นตัวนับเชิงตัวเลข โดยเราจะตั้งค่าธง 'sinput' ว่า "ไม่ถูกใช้ในการค้นหาด้วย brute force" และเพิ่มตัวนับที่ชื่อว่า 'Counter' ซึ่งโปรแกรมจะควบคุม:
//--- input parameters sinput int PasswordLengthFrom =6; // Password Length From sinput int PasswordLengthTo =6; // Password Length To sinput BruteForceEnumType BruteforceType =BRUTEFORCE_SET_ASCII_DIGITS;// Bruteforce Attack Charset sinput string BruteforceCharacters =""; // Bruteforce Custom Charset sinput HashEnumType HashType=HASH_TYPE_SINGLE; // Hash Type sinput string HashList="ab4f63f9ac65152575886860dde480a1"; // Hash Source of azerty // MD5 hash or filename (1 hash in line) sinput long Counter=0;

โดยการใช้โหมดมาสเตอร์แบบไฮบริดที่อนุญาตให้รันสำเนา EA หนึ่งตัวในเทอร์มินัล และยังสามารถรันบนเอเย่นต์ระยะไกลและในเครื่องได้ เราสามารถ:
- จัดการเอเย่นต์ระยะไกลและแจกจ่ายงานให้กับพวกเขา
- รับข้อมูลจากเอเย่นต์ระยะไกล
- จัดการข้อมูลที่ได้รับ เก็บรักษา หรือแสดงผลบนกราฟ
ภาพหน้าจอด้านบนนั้นแสดงให้เห็นว่า EA หลักสามารถแสดงผลความเร็วในการค้นหาด้วย brute force ในเครือข่ายการคอมพิวเตอร์ได้สำเร็จ
ในการเปิดใช้งานโหมดมาสเตอร์ คุณต้องเพิ่ม OnTesterInit handler ใน EA ซึ่งคุณสามารถอ่านพารามิเตอร์ทั้งหมด แปลงเป็นตัวนับเชิงเส้น และกำหนดโหมดการทำงานของพารามิเตอร์ใด ๆ ใหม่ได้ ตัวอย่างโค้ดด้านล่างจะแสดงวิธีการแปลงพารามิเตอร์ที่ไม่เป็นเชิงตัวเลข/ไม่เป็นเชิงเส้นไปเป็นตัวนับแบบ double จากนั้น ตั้งค่าขอบเขตใหม่ และโหมดการทำงานของพารามิเตอร์ 'Counter':
void OnTesterInit() { double passes=0.0; //--- Calculate the limits if(!ExtScanner.CalculatePasses(PasswordLengthFrom,PasswordLengthTo,BruteforceType,BruteforceCharacters,passes)) return; ParameterSetRange("Counter",true,0,0,1,1+long(passes/MIN_SCAN_PART)); }
แม้ว่าพารามิเตอร์ Counter จะถูกล็อคไว้ในตอนแรก แต่ต่อมาได้มีการกำหนดใหม่เป็นตัวนับที่ทำงานได้อย่างชัดเจน โดยมีขอบเขตที่ชัดเจน ซึ่งหมายความว่าโปรแกรมทดสอบจะทำงานกับพารามิเตอร์นี้โดยเฉพาะครับ
ความคิดเห็น 0