import subprocess
import re
def get_wifi_passwords():
try:
# Получаем список всех сохранённых Wi-Fi профилей
profiles_data = subprocess.check_output('netsh wlan show profiles', shell=True, encoding='cp866')
profiles = re.findall(r"Все профили пользователей\s+:\s+(.*)", profiles_data)
if not profiles:
profiles = re.findall(r"All User Profiles\s+:\s+(.*)", profiles_data)
wifi_list = []
for profile in profiles:
profile = profile.strip()
# Получаем пароль для каждого профиля
try:
password_data = subprocess.check_output(
f'netsh wlan show profile name="{profile}" key=clear',
shell=True,
encoding='cp866'
)
# Ищем ключ (пароль)
password_match = re.search(r"Содержимое ключа\s+:\s+(.*)", password_data)
if not password_match:
password_match = re.search(r"Key Content\s+:\s+(.*)", password_data)
password = password_match.group(1).strip() if password_match else "Не найден"
wifi_list.append((profile, password))
except subprocess.CalledProcessError:
wifi_list.append((profile, "Ошибка получения пароля"))
return wifi_list
except subprocess.CalledProcessError:
return None
def main():
print("Сохранённые Wi-Fi пароли:\n")
wifi_passwords = get_wifi_passwords()
if wifi_passwords:
for ssid, password in wifi_passwords:
print(f"Сеть: {ssid}\nПароль: {password}\n{'-'*40}")
else:
print("Не удалось получить список Wi-Fi сетей. Возможно, вы не на Windows или нет прав администратора.")
if __name__ == "__main__":
main()