TP Link Router M7350 V3
وحدة المعالجة المركزية في V3: Qualcomm MSM 9625 (شجرة الجهاز المسطحة) ، الطراز: Qualcomm MSM 9625V2.1 MTP
هناك في وقت لاحق مراجعات الأجهزة:
انضم إلى قناة Matrix
./system/etc/{passwd-,shadow}
./system/etc/lighttpd.user
./system/sbin
./META-INF/com/google/android/updater-script
SOC: Qualcomm MDM9225
ملاحظة سريعة على شروط Qualcomm:
فلاش: 2GBIT (256 ميجابايت) WINBOND W71NW20GF3FW
Mobile Wireless: Skyworks Sky77629
استنادًا إلى المصادر الرسمية من kernel.org ومع رمز البائع rsync
ed ، نعمل على الحصول على هذا في عام 2024.
https://github.com/m0Veax/tplink_m7350-kernel
تكوين من جهاز حقيقي: kernel/config
إذا قمت بإزالة البطارية والمكون الإضافي USB ، يظهر LSUSB:
Bus 001 Device 031: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot)
> fastboot devices
MDM9625 fastboot
أعلاه يختفي بعد بضع ثوان.
إذا قمت بالتمهيد العادي ، فإنه يظهر:
Bus 001 Device 032: ID 2357:0005 TP-Link M7350 4G Mi-Fi Router
أدخل Fastboot بدون bootloop
fastboot reboot bootloader
يوثق Qualcomm أوامر Fastboot الخاصة بهم.
أوامر getvar
التالية العائد نتائج:
عامل | نتيجة |
---|---|
version | 0.5 |
kernel | lk |
max-download-size | 0x2f00000 |
product | MDM9625 |
serialno | MDM9625 |
يتم إرفاق الشاشة بحافلة SPI عبر وحدة التحكم على 0xf992_4000
. يمكننا استخراج تلك المعلومات من أشجار الجهاز.
سلسلة Compat Compat SPI هي qcom,spi-qup-v2
. في kernel البائع ، يكون برنامج تشغيل SPI هو drivers/spi/spi_qsd.c
. في Linux الرئيسي ، هو drivers/spi/spi-qup.c
.
تسمى شاشة OLED
tplink,oleds90319
(العقدة خلف qcom,spi-qup-v2
)tp,oled_pt
-> qcom,oled_s90319_pt
في الواقع ، يقرأ جانب الشاشة (الإطار الأبيض): BLB-S90319B-1
لا يوجد شيء من هذا القبيل في مصادر نواة البائعين ، ولا تسفر Google أو Bing أي شيء. لذلك من غير الواضح بالضبط ما هو برنامج تشغيل العرض. يبدو وكأنه شاشة أحادية اللون 128x128 ، على غرار SSD1306 / SH1107 .
من تهيئة kernel التي ألقيناها:
CONFIG_OLED=y
# CONFIG_OLED_SSD1306_PT is not set
CONFIG_OLED_S90319_PT=y
يتم بدء تشغيل الثنائي /usr/bin/oledd
عبر /etc/init.d/start_oledd
. يصل إلى شاشة OLED عبر SYSFS:
/sys/class/display/oled/backlight_on
/sys/class/display/oled/panel_on
/sys/class/display/oled/oled_buffer
يمكننا صدى 1
إلى ملفات *_on
0
مع الشاشة. ويمكننا الكتابة إلى المخزن المؤقت أنفسنا ، على الرغم من أن كيفية عمله لم يكن واضحًا بعد. أظهر اللعب حول أن لوحة العرض تدعم الألوان حقًا. ؟
إذا كنت ترغب في الحصول على بعض المرح:
/etc/init.d/start_oledd stop
echo 1 > /sys/class/display/oled/backlight_on
echo 1 > /sys/class/display/oled/panel_on
cat /dev/random > /sys/class/display/oled/oled_buffer
سيؤدي ذلك إلى رسم مستطيلات إلى ما لا نهاية وإظهار القمامة بكسل. اضغط على Ctrl+C للتوقف.
spi@f9924000 {
compatible = "qcom,spi-qup-v2";
reg = <0xf9924000 0x1000>;
interrupts = <0x00 0x60 0x00>;
spi-max-frequency = <0x17d7840>;
#address-cells = <0x01>;
#size-cells = <0x00>;
gpios = <0x02 0x07 0x00 0x02 0x05 0x00 0x02 0x04 0x00>;
cs-gpios = <0x02 0x06 0x00>;
qcom-spi-oled@1 {
compatible = "tplink,oleds90319";
reg = <0x01>;
spi-max-frequency = <0x927c00>;
};
};
oled {
compatible = "tp,oled_pt";
qcom,oled_s90319 {
compatible = "qcom,oled_s90319_pt";
qcom,oled-cs-gpio = <0x02 0x06 0x00>;
qcom,oled-rsx-gpio = <0x02 0x15 0x00>;
qcom,oled-reset-gpio = <0x02 0x14 0x00>;
qcom,oled-vdd0-gpio = <0x02 0x16 0x00>;
qcom,oled-vdd1-gpio = <0x02 0x17 0x00>;
qcom,oled-boost-en-gpio = <0x02 0x3d 0x00>;
};
};
[ 2.042245] s90319_spi_probe successed!
[ 2.045067] oled_90319_panel_init success.
[ 2.049204] oled_probe
[ 2.051692] oled_s90319_probe
[ 2.054716] oled init success!
يبدو أن الجهاز يعمل بنظام Android ، بدون /dev/binder
. يمكنك الحصول على البرامج الثابتة هنا:
صفحة دعم TP-Link
البرامج الثابتة ليست مشفرة. يمكنك إلقاء نظرة أعمق في التكوينات.
binwalk boot.img
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 Android bootimg, kernel size: 3564792 bytes, kernel addr: 0x308000, ramdisk size: 0 bytes, ramdisk addr: 0x308000, product name: ""
2048 0x800 Linux kernel ARM boot executable zImage (little-endian)
18403 0x47E3 gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
3567616 0x367000 Qualcomm device tree container, version: 1, DTB entries: 55
3569664 0x367800 Flattened device tree, size: 49302 bytes, version: 17
3620864 0x374000 Flattened device tree, size: 49218 bytes, version: 17
3672064 0x380800 Flattened device tree, size: 49088 bytes, version: 17
3721216 0x38C800 Flattened device tree, size: 48730 bytes, version: 17
3770368 0x398800 Flattened device tree, size: 49193 bytes, version: 17
3821568 0x3A5000 Flattened device tree, size: 48516 bytes, version: 17
3870720 0x3B1000 Flattened device tree, size: 47693 bytes, version: 17
./system/etc/{passwd-,shadow}
root:C98ULvDZe7zQ2:0:0:root:/home/root:/bin/sh
يمنحنا البحث السريع عن التجزئة oelinux123
كقيمة محتملة. نحن بحاجة إلى التحقق من ذلك لاحقًا.
المصدر: https://svson.xyz/posts/zte-dongle/part4/
./system/etc/lighttpd.user
admin:admin
./system/sbin
يبدو أن البرامج الثابتة تحتوي على adbd
. نحن بحاجة إلى إيجاد طريقة لبدء ذلك.
./META-INF/com/google/android/updater-script
مسارات للملفات وإنشاء Symlinks لـ Autostart إلخ. دعنا نحاول تعديل ذلك لتفعيل ADB.
في مؤشر ترابط Forum 4PDA المرتبط ، يوجد POC لتنفيذ رمز عن بعد Vuln والذي يسمح ببدء تشغيل Telnet Daemon. لا يوجد سوى برامج نصية Windows مرتبطة الآن. يجب أن نبني قذيفة لاستدعاءها.
المزيد عن هذا هنا
قمنا بتنفيذ أداة سطر أوامر Rust ونصي Shell القائم على حليقة.
مع Open.sh يتم تسجيل الدخول بشكل تلقائي.
هناك تطبيق Ruby أيضًا https://github.com/ecdsa521/tpown/tree/main
يتم تخزين ملفات .dtb من HW REV V3 و V4 في DTB_FILES ويمكن تصورها باستخدام DTVIS
تم نشر صور منشورة على 4PDA إلى نقاط في مراجعات أخرى. يمكن أن يكون هو نفسه لجهازنا. ألق نظرة هنا
وجدت 4pda عدة طرق للنسخ الاحتياطي للبرامج الثابتة المثبتة.
https://4pda.to/forum/index.php؟showtopic=669936&view=findpost&p=110738476
usb_composition
902B
nyy
يجب أن يتم توصيل اتصال ADBD المستمر الآن
لكل كابل على عميلك:
adb shell
بعد إعادة التشغيل ، يبدو أن نقطة الوصول قد انخفضت. لذلك تحتاج إلى إلغاء تنشيط ADBD مرة أخرى
adb shell
usb_composition
tplink
nyy
adbd