Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

สร้าง Thai keyboard Wordlist Generator

โค้ดด้านล่างนี้เป็ นการสร้างรายการรหัสผ่านสาหรับการทดสอบการเข้าถึงระบบ (Bruteforce) โดยส่วนใหญ่คนไทยมักจะใช้คาภาษาไทยที่


พิมพ์ผ่านแป้นพิมพ์ภาษาอังกฤษเป็ นรหัสผ่าน ทั้งนี้ โปรแกรมนี้จะทาการแปลงคาที่ป้อนเป็ นภาษาไทยเป็ นภาษาอังกฤษ หรื อแปลงคาภาษาอังกฤษ
เป็ นภาษาไทยตามแป้นพิมพ์คียบ์ อร์ด โดยการใส่ Input เข้าไปใน input.txt จากนั้นรันโปแกรมก็จะสามารถได้ Wordlist สาหรับโจมตี
ต่อไปได้ have fun!!!

import re

mapping = {
"q": "ๆ", "w": "ไ", "e": "ำา", "r": "พ", "t": "ะ", "y": "ำั", "u": "ำี", "i": "ร",
"o": "น", "p": "ย",
"[": "บ", "]": "ล", "\\": "ฃ",
"a": "ฟ", "s": "ห", "d": "ก", "f": "ด", "g": "เ", "h": "ำ้", "j": "ำ่ ", "k": "า",
"l": "ส", ";": "ว", "'": "ง",
",": "ฟ",
"z": "ผ", "x": "ป", "c": "แ", "v": "อ", "b": "ำิ", "n": "ำื", "m": "ท", ",": "ม",
".": "ใ", "/": "ฝ",
"Q": "๐", "W": "\"", "E": "ฎ", "R": "ฑ", "T": "ธ", "Y": "ำ", "U": "ำ", "I":
"ณ", "O": "ฯ", "P": "ญ",
"{": "ฐ", "}": ",", "|": "ฅ",
"A": "ฤ", "S": "ฆ", "D": "ฏ", "F": "โ", "G": "ฌ", "H": "ำ็", "J": "ำ", "K": "ษ",
"L": "ศ", ":": "ซ", "\"": ".",
"<": "ฉ", ">": "ฮ", "?": "ำ์",
"1": "ๅ", "2": "/", "3": "-", "4": "ภ", "5": "ถ", "6": "ำ", "7": "ำึ", "8": "ค",
"9": "ต", "0": "จ", "-": "ข", "=": "ช",
"!": "+", "@": "๑", "#": "๒", "$": "๓", "%": "๔", "^": "ำ", "&": "฿", "*": "๕",
"(": "๖", ")": "๗", "_": "๘", "+": "๙",
}

def map_to_thai(input_text):
thai_text = ""
for char in input_text:
if char in mapping:
thai_text += mapping[char]
else:
thai_text += char

return thai_text

def map_to_english(input_text):
reverse_mapping = {value: key for key, value in mapping.items()}
english_text = ""
for char in input_text:
if char in reverse_mapping:
english_text += reverse_mapping[char]
else:
english_text += char
return english_text

def is_thai(text):
thai_characters = "ๅ/-ภถึคตจขช'ฝพะำัำีรนยบลฃฟหกดเำ้ำ่าสวงผปแอิืทมใฝ๐\"ฎฑธ๊ณฯญฐ,ฅฤฆฏโฌ็๋ษศซ.()ฉฮฺ์?ฒฬฦ"
for char in text:
if char in thai_characters:
return True
return False

def translate_text(input_text):
if is_thai(input_text):
translated_text = map_to_english(input_text)
print(translated_text)
#print(is_valid_password(str(translated_text)))

else:
translated_text = map_to_thai(input_text)
print(translated_text)
#print(is_valid_password(str(translated_text)))

def is_valid_password(password):
# Define the regular expression patterns for each criterion
criteria = {
"lowercase": r"(?=.*[a-zก-๙])", # At least one lowercase letter (English
and Thai)
"uppercase": r"(?=.*[A-Zก-๙])", # At least one uppercase letter (English
and Thai)
"digit": r"(?=.*\d)", # At least one digit
"special": r"(?=.*[@$!%*?&;])", # At least one special character
(excluding ' and ") }
}

# Check each criterion and store the failed criteria


failed_criteria = [criterion for criterion, pattern in criteria.items()
if not re.search(pattern, password)]

# If there are failed criteria, return them. Otherwise, return True


if failed_criteria:
return failed_criteria
else:
return True

# Open the file in read mode


file_path = "input.txt"
with open(file_path, "r", encoding="utf-8") as file:
# Read the file line by line
for line in file:
# Translate each line and output the translation
translate_text(line.strip())

You might also like