Last active
December 29, 2020 05:17
-
-
Save tewilove/a3872fd670c6864e953be03ac4e60211 to your computer and use it in GitHub Desktop.
From Xiaomi AX3600, version 1.0.79, produced by unluac_2020_05_28.jar.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--c736578b1d7c82e2df2a4f770e46ecb3e50c393776a03300ab45428cec78ecda ./rootfs/usr/sbin/checkupgrade.lua | |
--d0069d4b6c0bb716b07e0e014757f99f7baaabf7b270d17da6bfc5637a4cb2bb ./rootfs/usr/sbin/checkupgrade.lua.dec | |
local L0, L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L25 | |
L0 = require | |
L1 = "xiaoqiang.common.XQConfigs" | |
L0 = L0(L1) | |
L1 = require | |
L2 = "xiaoqiang.common.XQFunction" | |
L1 = L1(L2) | |
L2 = require | |
L3 = "xiaoqiang.XQPreference" | |
L2 = L2(L3) | |
L3 = require | |
L4 = "xiaoqiang.XQLog" | |
L3 = L3(L4) | |
L4 = require | |
L5 = "xiaoqiang.util.XQNetUtil" | |
L4 = L4(L5) | |
L5 = require | |
L6 = "xiaoqiang.util.XQSysUtil" | |
L5 = L5(L6) | |
L6 = require | |
L7 = "xiaoqiang.util.XQDownloadUtil" | |
L6 = L6(L7) | |
L7 = require | |
L8 = "luci.util" | |
L7 = L7(L8) | |
L8 = require | |
L9 = "luci.fs" | |
L8 = L8(L9) | |
L9 = 300 | |
function L10(A0) | |
local L1 | |
return A0 | |
end | |
_ = L10 | |
L10 = L5.updateUpgradeStatus | |
L11 = 1 | |
L10(L11) | |
L10 = L2.set | |
L11 = L0.PREF_ROM_FULLSIZE | |
L12 = nil | |
L10(L11, L12) | |
L10 = L2.set | |
L11 = L0.PREF_ROM_DOWNLOAD_URL | |
L12 = nil | |
L10(L11, L12) | |
L10 = L2.set | |
L11 = L0.PREF_ROM_DOWNLOAD_ID | |
L12 = nil | |
L10(L11, L12) | |
L10 = require | |
L11 = "luci.model.uci" | |
L10 = L10(L11) | |
L10 = L10.cursor | |
L10 = L10() | |
L11 = tonumber | |
L13 = L10 | |
L12 = L10.get | |
L14 = "misc" | |
L15 = "hardware" | |
L16 = "flash_per" | |
L12, L13, L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L25 = L12(L13, L14, L15, L16) | |
L11 = L11(L12, L13, L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L25) | |
if L11 == 1 then | |
L11 = 1 | |
if L11 then | |
goto lbl_64 | |
end | |
end | |
L11 = 0 | |
::lbl_64:: | |
L12 = tonumber | |
L14 = L10 | |
L13 = L10.get | |
L15 = "misc" | |
L16 = "hardware" | |
L17 = "usbmode" | |
L13, L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L25 = L13(L14, L15, L16, L17) | |
L12 = L12(L13, L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L25) | |
if L12 == 1 then | |
L12 = 1 | |
if L12 then | |
goto lbl_77 | |
end | |
end | |
L12 = 0 | |
::lbl_77:: | |
L13 = {} | |
L14 = arg | |
L14 = #L14 | |
if L14 == 3 then | |
L13.needUpdate = 1 | |
L14 = arg | |
L14 = L14[1] | |
L13.downloadUrl = L14 | |
L14 = arg | |
L14 = L14[2] | |
L13.fullHash = L14 | |
L14 = tonumber | |
L15 = arg | |
L15 = L15[3] | |
L14 = L14(L15) | |
L13.fileSize = L14 | |
else | |
L14 = L4.checkUpgrade | |
L14 = L14() | |
L13 = L14 | |
end | |
L14 = L3.log | |
L15 = 6 | |
L16 = "Upgrade:check upgrade" | |
L17 = L13 | |
L14(L15, L16, L17) | |
if L13 then | |
L14 = L13.needUpdate | |
if L14 == 1 then | |
L14 = L5.updateUpgradeStatus | |
L15 = 2 | |
L14(L15) | |
L14 = L13.downloadUrl | |
L15 = L13.fullHash | |
if L14 and L15 then | |
L16 = L5.updateUpgradeStatus | |
L17 = 3 | |
L16(L17) | |
L16 = L2.set | |
L17 = L0.PREF_ROM_FULLSIZE | |
L18 = L13.fileSize | |
L16(L17, L18) | |
L16 = L2.set | |
L17 = L0.PREF_ROM_DOWNLOAD_URL | |
L18 = L14 | |
L16(L17, L18) | |
L16 = L3.log | |
L17 = 6 | |
L18 = "Upgrade:downloading ..." | |
L16(L17, L18) | |
L16 = nil | |
if L12 == 1 then | |
L17 = L5.usbMode | |
L17 = L17() | |
L16 = L17 | |
if L16 then | |
L17 = os | |
L17 = L17.execute | |
L18 = "/etc/init.d/usb_deploy_init_script.sh stop >/dev/null 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches" | |
L17(L18) | |
end | |
end | |
L17 = L6.syncDownload | |
L18 = L14 | |
L17, L18 = L17(L18) | |
L19 = L3.log | |
L20 = 6 | |
L21 = "Hash and path:" | |
L22 = L17 | |
L23 = L18 | |
L19(L20, L21, L22, L23) | |
if L17 == L15 and L18 then | |
L19 = L3.log | |
L20 = 6 | |
L21 = "Upgrade:download success" | |
L19(L20, L21) | |
L19 = L5.verifyImage | |
L20 = L18 | |
L19 = L19(L20) | |
if not L19 then | |
L19 = L5.updateUpgradeStatus | |
L20 = 9 | |
L19(L20) | |
if L18 then | |
L19 = L8.access | |
L20 = L18 | |
L19 = L19(L20) | |
if L19 then | |
L19 = L8.unlink | |
L20 = L18 | |
L19(L20) | |
end | |
end | |
if L16 then | |
L19 = os | |
L19 = L19.execute | |
L20 = "/etc/init.d/usb_deploy_init_script.sh start >/dev/null 2>/dev/null" | |
L19(L20) | |
end | |
return | |
end | |
L19 = L5.updateUpgradeStatus | |
L20 = 5 | |
L19(L20) | |
L19 = 0 | |
while true do | |
L20 = L5.getFlashPermission | |
L20 = L20() | |
if L20 then | |
break | |
end | |
L19 = L19 + 2 | |
if L9 <= L19 then | |
break | |
end | |
L20 = os | |
L20 = L20.execute | |
L21 = "sleep 2" | |
L20(L21) | |
end | |
L20 = os | |
L20 = L20.execute | |
L21 = "flash.sh '" | |
L22 = L18 | |
L23 = "'" | |
L21 = L21 .. L22 .. L23 | |
L20 = L20(L21) | |
if L20 == 0 then | |
if L11 == 0 then | |
L21 = os | |
L21 = L21.execute | |
L22 = L0.NVRAM_SET_UPGRADED | |
L21(L22) | |
end | |
L21 = L5.updateUpgradeStatus | |
L22 = 11 | |
L21(L22) | |
else | |
L21 = L5.updateUpgradeStatus | |
L22 = 10 | |
L21(L22) | |
if L18 then | |
L21 = L8.access | |
L22 = L18 | |
L21 = L21(L22) | |
if L21 then | |
L21 = L8.unlink | |
L22 = L18 | |
L21(L22) | |
end | |
end | |
if L16 then | |
L21 = os | |
L21 = L21.execute | |
L22 = "/etc/init.d/usb_deploy_init_script.sh start >/dev/null 2>/dev/null" | |
L21(L22) | |
end | |
end | |
L21 = L3.log | |
L22 = 6 | |
L23 = "Upgrade:result " | |
L24 = tostring | |
L25 = L20 | |
L24 = L24(L25) | |
L23 = L23 .. L24 | |
L21(L22, L23) | |
else | |
if L18 then | |
L19 = L8.unlink | |
L20 = L18 | |
L19(L20) | |
end | |
if L16 then | |
L19 = os | |
L19 = L19.execute | |
L20 = "/etc/init.d/usb_deploy_init_script.sh start >/dev/null 2>/dev/null" | |
L19(L20) | |
end | |
L19 = L5.updateUpgradeStatus | |
L20 = 8 | |
L19(L20) | |
L19 = L3.log | |
L20 = 3 | |
L21 = "Upgrade:download failed" | |
L19(L20, L21) | |
end | |
else | |
L16 = L5.updateUpgradeStatus | |
L17 = 7 | |
L16(L17) | |
L16 = L3.log | |
L17 = 3 | |
L18 = "Upgrade:No url or fullhash" | |
L16(L17, L18) | |
end | |
end | |
else | |
if L13 then | |
L14 = L13.needUpdate | |
if L14 == 0 then | |
L14 = L5.updateUpgradeStatus | |
L15 = 6 | |
L14(L15) | |
L14 = L3.log | |
L15 = 6 | |
L16 = "Upgrade:No update" | |
L14(L15, L16) | |
end | |
else | |
L14 = L5.updateUpgradeStatus | |
L15 = 6 | |
L14(L15) | |
L14 = L3.log | |
L15 = 3 | |
L16 = "Upgrade:server unreachable" | |
L14(L15, L16) | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment