Clean up RD15/RD16 device routing and move firmware downgrade logic to connect6.py

Clean up RD15/RD16 device routing and move firmware downgrade logic to connect6.py
pull/116/head
longzheng268 1 month ago committed by GitHub
commit 6547aad775
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -50,6 +50,12 @@ if gw.model_id > 0 and gw.model_id < gw.get_modelid_by_name('R2100'):
# import connect4
# sys.exit(0)
# Route BE3600 variants (RD15, RD16, RN06) to connect6
if dn in ['RD15', 'RD16', 'RN06']:
inited_gw = create_gateway(timeout = 4, die_if_sshOk = True, die_if_ftpOk = True, web_login = True, try_telnet = True)
import connect6
sys.exit(0)
if True:
# init gw and check ssh
gw = create_gateway(timeout = 4, die_if_sshOk = True, die_if_ftpOk = True, web_login = True, try_telnet = True)
@ -83,36 +89,8 @@ if True:
except Exception:
raise
# Show firmware downgrade suggestion if all exploits failed
if not exploit_worked and gw.device_name in ['RD15', 'RN06']: # BE3600 variants
current_lang = lang_config.get_language() or 'en'
print()
print("=" * 60)
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_title'))
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_be3600'))
print()
# Show current firmware version if available
if gw.rom_version:
if current_lang == 'zh':
print(f"当前固件版本: {gw.rom_version}")
print("建议降级到: 1.0.68 或更旧版本")
elif current_lang == 'ru':
print(f"Текущая версия прошивки: {gw.rom_version}")
print("Рекомендуемое понижение до: 1.0.68 или старше")
else:
print(f"Current firmware version: {gw.rom_version}")
print("Recommended downgrade to: 1.0.68 or older")
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_tutorial'))
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_tool'))
print("=" * 60)
print()
elif not exploit_worked:
# Show general exploit failure message if all exploits failed
if not exploit_worked:
current_lang = lang_config.get_language() or 'en'
print()

@ -8,6 +8,8 @@ import requests
import xmir_base
from gateway import *
import i18n
import lang_config
web_password = True
if len(sys.argv) > 1 and sys.argv[0].endswith('connect6.py'):
@ -81,6 +83,61 @@ for idx, exp_func in enumerate(exp_list):
gw.set_diag_iperf_test_thr(20)
if not exec_cmd:
current_lang = lang_config.get_language() or 'en'
# Show device-specific firmware downgrade suggestions
if gw.device_name in ['RD15', 'RN06']: # BE3600 2.5G variants
print()
print("=" * 60)
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_title'))
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_rd15'))
print()
if gw.rom_version:
if current_lang == 'zh':
print(f"当前固件版本: {gw.rom_version}")
print("建议降级到: v1.0.65 或更旧版本")
elif current_lang == 'ru':
print(f"Текущая версия прошивки: {gw.rom_version}")
print("Рекомендуемое понижение до: v1.0.65 или старше")
else:
print(f"Current firmware version: {gw.rom_version}")
print("Recommended downgrade to: v1.0.65 or older")
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_tutorial'))
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_tool'))
print("=" * 60)
print()
elif gw.device_name == 'RD16': # BE3600 1G variant
print()
print("=" * 60)
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_title'))
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_rd16'))
print()
if gw.rom_version:
if current_lang == 'zh':
print(f"当前固件版本: {gw.rom_version}")
print("建议降级到: v1.0.34 或更旧版本")
elif current_lang == 'ru':
print(f"Текущая версия прошивки: {gw.rom_version}")
print("Рекомендуемое понижение до: v1.0.34 или старше")
else:
print(f"Current firmware version: {gw.rom_version}")
print("Recommended downgrade to: v1.0.34 or older")
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_tutorial'))
print()
print(i18n.get_translation(current_lang, 'messages', 'firmware_downgrade_tool'))
print("=" * 60)
print()
raise ExploitNotWorked('Exploits "arn_switch/start_binding/set_mac_filter" not working!!!')
if exec_cmd == exploit_1:

@ -44,6 +44,8 @@ TRANSLATIONS = {
'messages': {
'firmware_downgrade_title': 'FIRMWARE DOWNGRADE SUGGESTION:',
'firmware_downgrade_be3600': 'If exploits are not working on your BE3600 router, please\ndowngrade to firmware version 1.0.68 or older.',
'firmware_downgrade_rd15': 'RD15 (BE3600 2.5G) latest firmware v1.0.68 has fixed the vulnerability.\nPlease downgrade to v1.0.65 or older.',
'firmware_downgrade_rd16': 'RD16 (BE3600 1G) latest firmware v1.0.40 has fixed the vulnerability.\nPlease downgrade to v1.0.34 or older.',
'firmware_downgrade_tutorial': 'Firmware downgrade tutorial:\nhttps://github.com/uyez/lyq/releases/tag/be3600',
'firmware_downgrade_tool': 'You can use the Xiaomi Router Repair Tool for downgrade.',
'exploit_failed_title': 'EXPLOIT FAILED:',
@ -90,6 +92,8 @@ TRANSLATIONS = {
'messages': {
'firmware_downgrade_title': '固件降级建议:',
'firmware_downgrade_be3600': '如果漏洞利用在您的BE3600路由器上不工作\n降级到固件版本1.0.68或更旧版本。',
'firmware_downgrade_rd15': 'RD15BE3600 2.5G版本最新固件v1.0.68已修复漏洞。\n请降级到v1.0.65或更旧版本。',
'firmware_downgrade_rd16': 'RD16BE3600 1G版本最新固件v1.0.40已修复漏洞。\n请降级到v1.0.34或更旧版本。',
'firmware_downgrade_tutorial': '固件降级教程:\nhttps://github.com/uyez/lyq/releases/tag/be3600',
'firmware_downgrade_tool': '您可以使用小米路由器修复工具进行降级。',
'exploit_failed_title': '漏洞利用失败:',
@ -136,6 +140,8 @@ TRANSLATIONS = {
'messages': {
'firmware_downgrade_title': 'ПРЕДЛОЖЕНИЕ ПОНИЖЕНИЯ ВЕРСИИ ПРОШИВКИ:',
'firmware_downgrade_be3600': 'Если эксплойты не работают на вашем роутере BE3600, пожалуйста\nпонизьте версию прошивки до 1.0.68 или старше.',
'firmware_downgrade_rd15': 'RD15 (BE3600 2.5G) последняя прошивка v1.0.68 исправила уязвимость.\nПожалуйста, понизьте до v1.0.65 или старше.',
'firmware_downgrade_rd16': 'RD16 (BE3600 1G) последняя прошивка v1.0.40 исправила уязвимость.\nПожалуйста, понизьте до v1.0.34 или старше.',
'firmware_downgrade_tutorial': 'Руководство по понижению версии прошивки:\nhttps://github.com/uyez/lyq/releases/tag/be3600',
'firmware_downgrade_tool': 'Вы можете использовать инструмент восстановления роутера Xiaomi для понижения версии.',
'exploit_failed_title': 'ЭКСПЛОЙТ НЕ СРАБОТАЛ:',

Loading…
Cancel
Save