minhnkt
Đã tốn tiền
Có 1 tut hướng dẫn cho AX3600, AX6 và AX9000 rồi, tuy nhiên không được đầy đủ lắm, mà em cũng ko thích làm kiểu mù mờ, nhỡ có gì trục trặc lại khó xử lý. Hơn nữa, script có thể sẽ không tương thích với 1 số phiên bản OpenWRT.
Sau 3 ngày ngồi đọc các thể loại tut, đi xin tài khoản, đi nhờ lấy pass down firmware, mần mò thì em cũng viết lại 1 cái tut cho nó rõ ràng.
xin cảm ơn @babyangelhp đã giúp mình lấy link và pass từ thằng right.com.cn
Tất cả các file sử dụng trong bài, kể cả firmware, file backup ở đây nhé:
OpenWRT LEDE cập nhật mới thì em để link ở #3
Tut này em viết cụ thể cho AX6, AX3600 và AX9000 thì chỉ khác nhau ở cái fw OpenWRT flash vào cuối cùng, bắt đầu từ mục 3, còn lại như nhau hết.
Ông nào thích mần bài gốc thì đây:
Các bước thì ngắn gọn nó như này:
-Unlock SSH cho firm gốc
-Cài 1 cái backdoor vào, để nếu có bị lock SSH vào, thì dùng telnet vào để unlock lại SSH
-Ông nào ko thích chơi openWRT thì có thể cài thêm 1 cái bashscript là ShellClash để chơi cũng được, link Github
Lưu ý: TOÀN TIẾNG NƯỚC LẠ = )))) vừa dùng vừa GG-Translate.
-Sửa đổi 1 chút các phân vùng để flash được OpenWRT
Lưu ý: tất cả firmware đều là bản snapshot, thấy bảo dùng ko ổn định lắm, cá nhân mình thì thấy ko đến nỗi, bị mỗi 1 cái ) là quay PPPoE thì modem liên tục reboot khi chạy với openwrt LEDE (đang xài VNPT) - [UPDATE: TẮT IPV6 ĐI LÀ KO BỊ REBOOT], còn chạy với QSDK thì ko sao, nhưng nó nóng vcl, phải chế thêm quạt cho AX6.
-Flash openWRT vào thôi.
-Về FW gốc, éo chơi openWRT nữa.
Note1: Trong các post gốc hướng dẫn, có chỗ nó hướng dẫn dùng script để chạy, mình thuộc trường phái khổ dâm, tự chơi thủ công cho chắc, script các ông viết cũng ghê bỏ mẹ, cái gì thực sự cần thì mới script, còn những bước đơn giản thì làm tay cho chắc.
Note2: Những thứ cần chuẩn bị:
+1 con router đã chạy OpenWRT, hoặc bất cứ cái con mẹ gì có thể chạy OpenWRT mà phát được wifi.
+1 cái máy tính có cổng LAN để cắm dây vào AX6, như mình thì mình cắm mẹ nó dây LAN AX6 vào cục AP cũ, và dùng lap éo có cổng LAN, hơi khổ dâm tí.
+vài câu chửi thề, như mình là để chửi bất cứ đứa nào bén mảng lại gần để quấy, ko thì chửi đổng cũng được nha.
Note3: Mình éo có con OpenWRT nào khác chạy đc wifi để làm trung gian, nên lấy con Pi4 flash OpenWRT vào cũng đc, ông nào thích dùng docker OpenWRT để build cũng được luôn.
PHẦN 1: UNLOCK SSH
1. Tạo 1 OpenWRT trung gian
Như đã nói, gia đình mình hoàn cảnh khó khăn, ko có con router nào chạy OpenWRT mà có wifi cả ) có mỗi con Buffalo 1750DHP thì chỉ chạy đc DDWRT.
cài OpenWRT lên Pi 4, setup như bình thường, tạo 1 mạng wifi không pass cho nhanh, đằng nào cũng chỉ dùng 1 lần
Tên WIFI : OpenWRT-Pi4
Pass WIFI : không có pass
Ông nào có router chạy OpenWRT rồi thì quá ngon, tạo luôn 1 cái WiFi có tên: OpenWRT-Pi4 và éo cần pass
1.1
SSH vào, tạo 1 file xqsystem.lua ở /usr/lib/lua/luci/controller/admin/
Lệnh
với nội dung
Trước khi dùng thì kiểm tra lại 1 phát cho chắc, mở trình duyệt lên vào đây
Kết quả trả về nó như này là Oke
1.2
Set IP mặc định cho con OpenWRT trung gian này về 169.254.31.1
1.3
Tắt DHCP của con OpenWRT trung gian này đi.
Note: Do đã tắt DHCP, nên nếu muốn SSH lại vào con OpenWRT trung gian này, thì phải set IP tĩnh cho máy tính về dải 169.254.31.x, rồi SSH vào mới được.
2. Inject AX6 vào con OpenWRT trung gian
2.1 Connect máy tính vào AX6, cắm WAN, đặt pass Wifi, nói chung là setup như bình thường, update FW lên bản 1.0.16 hoặc 1.0.18
Nhớ là bật con OpenWRT trung gian kia lên, và AX6 phải ở trong vùng bắt đc cái Wifi OpenWRT-Pi4 nhé
2.2 Đăng nhập lại vào AX6 (192.168.13.1) lấy STOK code
có stock code rồi thì mở trình duyệt lên, thay vào cái URL
trình duyệt nó trả về kết quả có "code":0 như này là OKE, sang bước tiếp theo
Mở tiếp 1 tab nữa, cho cái URL này vào, nhớ sửa STOKCODE
Kết quả có "code":0 như này là Voilà ! Xong bước inject để có SSH tạm thời
2.3 Connect SSH (tạm thời) vào thôi
2.4 Backup các phân vùng, vào được 1 phát là backup ngay
chạy lệnh
nó sẽ list ra các phân vùng, để ý các phân vùng này, sẽ cần backup lại
Dùng các lệnh này để backup vào thư mục /tmp
Sau khi backup xong, thì dùng winscp hoặc lệnh mà lôi các file mtd1, mtd9, mtd10, mtd12, mtd13 về cất đi.
Về stock firmware sẽ cần.
2.5
Giờ thì dùng winscp hoặc ông nào dùng mac/linux thì dùng lệnh scp mà đẩy file crash_unlock.img lên /tmp
rồi chạy lệnh
đoạn này quên chụp ảnh mẹ nó r, xem tạm ảnh ở ngay bên trên, mình backup từ trước r nên ko cần nữa.
2.6
2.6.1 Sửa file backup phân vùng bdata
Kéo file backup mtd9(bdata) thả vào cái icon tool XiaoMiMtdModify.exe để nó sửa, xem hình (mình đổi tên file mtd9 sao lưu ở bước trên thành mtd9(bdata) thôi nhé)
Sau khi kéo thả vào như này, thì cái tool kia nó sẽ patch lại file mtd9, trong thư mục này sẽ xuất hiện thêm 1 file nữa có cái đuôi chữ tàu, đây là file backup, kệ mẹ nó đi.
2.6.2 giờ thì đẩy file mtd9 vừa sửa lên /tmp bằng scp
rồi chạy lệnh này
Kết quả trả về:
Sau 3 ngày ngồi đọc các thể loại tut, đi xin tài khoản, đi nhờ lấy pass down firmware, mần mò thì em cũng viết lại 1 cái tut cho nó rõ ràng.
xin cảm ơn @babyangelhp đã giúp mình lấy link và pass từ thằng right.com.cn
Tất cả các file sử dụng trong bài, kể cả firmware, file backup ở đây nhé:
Code:
https://drive.google.com/file/d/1mAX4DXP9P58lLEl_Mw8-Ws6i38poI_RG/view?usp=sharing
OpenWRT LEDE cập nhật mới thì em để link ở #3
Tut này em viết cụ thể cho AX6, AX3600 và AX9000 thì chỉ khác nhau ở cái fw OpenWRT flash vào cuối cùng, bắt đầu từ mục 3, còn lại như nhau hết.
Ông nào thích mần bài gốc thì đây:
Code:
www.right.com.cn/forum/thread-4875974-1-1.html
www.right.com.cn/forum/thread-4060726-1-1.html
www.youtube.com/watch?v=xGHCJ6IZ0RA&t=585s
qust.me/post/hong-mi-ax6-jie-suo-ssh-an-zhuang-shi-yong-shellclash-jiao-cheng/
www.right.com.cn/forum/forum.php?mod=viewthread&tid=4686209&extra=page%3D1%26filter%3Dtypeid%26typeid%3D64
www.right.com.cn/forum/forum.php?mod=forumdisplay&fid=171&page=1&filter=typeid&typeid=64
Các bước thì ngắn gọn nó như này:
-Unlock SSH cho firm gốc
-Cài 1 cái backdoor vào, để nếu có bị lock SSH vào, thì dùng telnet vào để unlock lại SSH
-Ông nào ko thích chơi openWRT thì có thể cài thêm 1 cái bashscript là ShellClash để chơi cũng được, link Github
Lưu ý: TOÀN TIẾNG NƯỚC LẠ = )))) vừa dùng vừa GG-Translate.
-Sửa đổi 1 chút các phân vùng để flash được OpenWRT
Lưu ý: tất cả firmware đều là bản snapshot, thấy bảo dùng ko ổn định lắm, cá nhân mình thì thấy ko đến nỗi, bị mỗi 1 cái ) là quay PPPoE thì modem liên tục reboot khi chạy với openwrt LEDE (đang xài VNPT) - [UPDATE: TẮT IPV6 ĐI LÀ KO BỊ REBOOT], còn chạy với QSDK thì ko sao, nhưng nó nóng vcl, phải chế thêm quạt cho AX6.
-Flash openWRT vào thôi.
-Về FW gốc, éo chơi openWRT nữa.
Note1: Trong các post gốc hướng dẫn, có chỗ nó hướng dẫn dùng script để chạy, mình thuộc trường phái khổ dâm, tự chơi thủ công cho chắc, script các ông viết cũng ghê bỏ mẹ, cái gì thực sự cần thì mới script, còn những bước đơn giản thì làm tay cho chắc.
Note2: Những thứ cần chuẩn bị:
+1 con router đã chạy OpenWRT, hoặc bất cứ cái con mẹ gì có thể chạy OpenWRT mà phát được wifi.
+1 cái máy tính có cổng LAN để cắm dây vào AX6, như mình thì mình cắm mẹ nó dây LAN AX6 vào cục AP cũ, và dùng lap éo có cổng LAN, hơi khổ dâm tí.
+vài câu chửi thề, như mình là để chửi bất cứ đứa nào bén mảng lại gần để quấy, ko thì chửi đổng cũng được nha.
Note3: Mình éo có con OpenWRT nào khác chạy đc wifi để làm trung gian, nên lấy con Pi4 flash OpenWRT vào cũng đc, ông nào thích dùng docker OpenWRT để build cũng được luôn.
PHẦN 1: UNLOCK SSH
1. Tạo 1 OpenWRT trung gian
Như đã nói, gia đình mình hoàn cảnh khó khăn, ko có con router nào chạy OpenWRT mà có wifi cả ) có mỗi con Buffalo 1750DHP thì chỉ chạy đc DDWRT.
cài OpenWRT lên Pi 4, setup như bình thường, tạo 1 mạng wifi không pass cho nhanh, đằng nào cũng chỉ dùng 1 lần
Tên WIFI : OpenWRT-Pi4
Pass WIFI : không có pass
Ông nào có router chạy OpenWRT rồi thì quá ngon, tạo luôn 1 cái WiFi có tên: OpenWRT-Pi4 và éo cần pass
1.1
SSH vào, tạo 1 file xqsystem.lua ở /usr/lib/lua/luci/controller/admin/
Lệnh
Code:
vi /usr/lib/lua/luci/controller/admin/xqsystem.lua
với nội dung
Code:
module("luci.controller.admin.xqsystem", package.seeall)
function index()
local page = node("api")
page.target = firstchild()
page.title = ("")
page.order = 100
page.index = true
page = node("api","xqsystem")
page.target = firstchild()
page.title = ("")
page.order = 100
page.index = true
entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
end
local LuciHttp = require("luci.http")
function getToken()
local result = {}
result["code"] = 0
result["token"] = "; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
LuciHttp.write_json(result)
end
Trước khi dùng thì kiểm tra lại 1 phát cho chắc, mở trình duyệt lên vào đây
Code:
http://IP_CỦA_OPENWRT_TRUNG GIAN/cgi-bin/luci/api/xqsystem/token
Kết quả trả về nó như này là Oke
Code:
{"code":0,"token":"; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"}
1.2
Set IP mặc định cho con OpenWRT trung gian này về 169.254.31.1
1.3
Tắt DHCP của con OpenWRT trung gian này đi.
Note: Do đã tắt DHCP, nên nếu muốn SSH lại vào con OpenWRT trung gian này, thì phải set IP tĩnh cho máy tính về dải 169.254.31.x, rồi SSH vào mới được.
2. Inject AX6 vào con OpenWRT trung gian
2.1 Connect máy tính vào AX6, cắm WAN, đặt pass Wifi, nói chung là setup như bình thường, update FW lên bản 1.0.16 hoặc 1.0.18
Nhớ là bật con OpenWRT trung gian kia lên, và AX6 phải ở trong vùng bắt đc cái Wifi OpenWRT-Pi4 nhé
2.2 Đăng nhập lại vào AX6 (192.168.13.1) lấy STOK code
có stock code rồi thì mở trình duyệt lên, thay vào cái URL
Code:
http://192.168.31.1/cgi-bin/luci/;stok=STOKCODE/api/misystem/extendwifi_connect?ssid=OpenWRT-Pi4&password=
Code:
{"msg":"connect succces!","code":0}
Mở tiếp 1 tab nữa, cho cái URL này vào, nhớ sửa STOKCODE
Code:
http://192.168.31.1/cgi-bin/luci/;stok=STOKCODE/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx
Kết quả có "code":0 như này là Voilà ! Xong bước inject để có SSH tạm thời
Code:
{"token":"; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\u0022debug\u0022/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;","code":0}
2.3 Connect SSH (tạm thời) vào thôi
2.4 Backup các phân vùng, vào được 1 phát là backup ngay
chạy lệnh
Code:
cat /proc/mtd
nó sẽ list ra các phân vùng, để ý các phân vùng này, sẽ cần backup lại
Code:
dev: size erasesize name
mtd1: 00100000 00020000 "0:MIBIB"
mtd9: 00080000 00020000 "bdata"
mtd10: 00080000 00020000 "crash"
mtd12: 023c0000 00020000 "rootfs"
mtd13: 023c0000 00020000 "rootfs_1"
Dùng các lệnh này để backup vào thư mục /tmp
Code:
nanddump -f /tmp/mtd1 /dev/mtd1
nanddump -f /tmp/mtd9 /dev/mtd9
nanddump -f /tmp/mtd10 /dev/mtd10
nanddump -f /tmp/mtd12 /dev/mtd12
nanddump -f /tmp/mtd13 /dev/mtd13
Sau khi backup xong, thì dùng winscp hoặc lệnh mà lôi các file mtd1, mtd9, mtd10, mtd12, mtd13 về cất đi.
Về stock firmware sẽ cần.
2.5
Giờ thì dùng winscp hoặc ông nào dùng mac/linux thì dùng lệnh scp mà đẩy file crash_unlock.img lên /tmp
rồi chạy lệnh
Code:
mtd write /tmp/crash_unlock.img crash
reboot
2.6
2.6.1 Sửa file backup phân vùng bdata
Kéo file backup mtd9(bdata) thả vào cái icon tool XiaoMiMtdModify.exe để nó sửa, xem hình (mình đổi tên file mtd9 sao lưu ở bước trên thành mtd9(bdata) thôi nhé)
Sau khi kéo thả vào như này, thì cái tool kia nó sẽ patch lại file mtd9, trong thư mục này sẽ xuất hiện thêm 1 file nữa có cái đuôi chữ tàu, đây là file backup, kệ mẹ nó đi.
2.6.2 giờ thì đẩy file mtd9 vừa sửa lên /tmp bằng scp
rồi chạy lệnh này
Code:
mtd write /tmp/mtd9\(bdata\) bdata
Kết quả trả về:
Code:
Unlocking bdata ...
Writing from /tmp/mtd9(bdata) to bdata ...
Attachments
Last edited: