TP链接路由器M7350 V3
V3中的CPU:Qualcomm MSM 9625(扁平设备树),型号:Qualcomm MSM 9625V2.1 MTP
以后有硬件修订:
加入我们的矩阵频道
./system/etc/{passwd-,shadow}
./system/etc/lighttpd.user
./system/sbin
./META-INF/com/google/android/updater-script
SOC:高通MDM9225
关于高通术语的快速注释:
Flash:2Gbit(256MB)Winbond W71NW20GF3FW
移动无线:SkyWorks Sky77629
根据kernel.org的官方资料以及供应商Code 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
输入不带Bootloop的FastBoot
fastboot reboot bootloader
Qualcomm记录了他们的FastBoot命令。
以下getvar
命令产生结果:
多变的 | 结果 |
---|---|
version | 0.5 |
kernel | lk |
max-download-size | 0x2f00000 |
product | MDM9625 |
serialno | MDM9625 |
显示器通过0xf992_4000
的控制器连接到SPI总线。我们可以从设备树中提取这些信息。
SPI控制器组合字符串是qcom,spi-qup-v2
。在供应商内核中,SPI驱动程序是drivers/spi/spi_qsd.c
。在Mainline 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 。
从内核配置中,我们倾倒了:
CONFIG_OLED=y
# CONFIG_OLED_SSD1306_PT is not set
CONFIG_OLED_S90319_PT=y
二进制/usr/bin/oledd
通过/etc/init.d/start_oledd
启动。它通过SYSFS访问OLED显示:
/sys/class/display/oled/backlight_on
/sys/class/display/oled/panel_on
/sys/class/display/oled/oled_buffer
我们可以在*_on
文件上回声1
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链接支持页面
固件没有地下水。您可以更深入地研究配置。
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
文件的路径并为AutoStart ECT创建符号链接。让我们尝试对其进行修改以激活ADB。
在链接的4PDA论坛线程中,线程是远程代码执行vuln的POC,允许启动Telnet守护程序。现在只有Windows脚本链接。我们应该构建一个shellscript来调用它。
在这里有更多有关此的信息
我们实现了Rust命令行工具和一个基于卷曲的Shell脚本。
开放。SH登录自动完成。
也有一个红宝石实现
HW Rev V3和V4的.DTB文件存储在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
方法