小米HTML查看器记住密码,小米路由器 SSH 密码计算工具,开启小米SSH访问
#NoTrayIcon
#Region
#AutoIt3Wrapper_icon=..\..\..\WINDOWS\SYSTEM32\SHELL32.dll|-105
#AutoIt3Wrapper_Outfile=C:\Users\言平\Desktop\新建 AutoIt v3 脚本.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_Fileversion=0.0.0.0
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
#EndRegion
#Region ACN预处理程序参数(常用参数)
#PRE_Icon=
#PRE_OutFile=
#PRE_OutFile_Type=exe
#PRE_Compression=4
#PRE_UseUpx=y
#PRE_Res_Comment=
#PRE_Res_Description=
#PRE_Res_Fileversion=
#PRE_Res_FileVersion_AutoIncrement=p
#PRE_Res_LegalCopyright=
#PRE_Change2CUI=N
#PRE_UseX64=n
#EndRegion ACN预处理程序参数设置完成
GLOBAL $_SHA1OPCODE = "0xC86800005356576A006A006A008D459850E829000000FF7514FF750CFF75088D459850E88A0000006A006A008D459850FF7510E8490000005F5E5BC9C210005589E5538B5D08836314008363180083635C00C70301234567C7430489ABCDEFC74308FEDCBA98C7430C76543210C74310F0E1D2C383636000836364005B5DC210005589E55657FF750CE8850200008B7D088B750C6A0559A58A47FF8647FC8847FF8A47FE8647FD8847FEE2EB5F5E5DC210005589E55356578B5D08837D10007502EB59837B60007506837B640074076A018F4364EB468B4D108B7D0CEB3449518A078B735C8844331CFF435C83431408837B1400750EFF4318837B180075056A018F4364837B5C40750653E813000000475985C97406837B640074C25F5E5B5DC21000C84801005356578B5D086A10598D51FF89D7C1E7020FB6443B1CC1E018898495BCFEFFFF0FB6443B1DC1E010098495BCFEFFFF0FB6443B1EC1E008098495BCFEFFFF0FB6443B1F098495BCFEFFFFE2BD6A105A83FA5073288B8495B0FEFFFF3384959CFEFFFF33849584FEFFFF3384957CFEFFFFD1C0898495BCFEFFFF42EBD38B4D088B318B59048B51088B790C8B41108985B8FEFFFF8365FC00837DFC147D3C89D131F921D931F989F0C1C00501C80385B8FEFFFF8B4DFC03848DBCFEFFFF059979825A5089BDB8FEFFFF89D789D8C1C01E89C289F35EFF45FCEBBE6A148F45FC837DFC287D3A89D931D131F989F0C1C00501C80385B8FEFFFF8B4DFC03848DBCFEFFFF05A1EBD96E5089BDB8FEFFFF89D789D8C1C01E89C289F35EFF45FCEBC06A288F45FC837DFC3C7D4689D821F85089D021F889D921D109C15809C189F0C1C00501C80385B8FEFFFF8B4DFC03848DBCFEFFFF05DCBC1B8F5089BDB8FEFFFF89D789D8C1C01E89C289F35EFF45FCEBB46A3C8F45FC837DFC507D3A89D931D131F989F0C1C00501C80385B8FEFFFF8B4DFC03848DBCFEFFFF05D6C162CA5089BDB8FEFFFF89D789D8C1C01E89C289F35EFF45FCEBC08B4D088B0101F089018B410401D88941048B410801D08941088B410C01F889410C8B41100385B8FEFFFF89411083615C005F5E5BC9C204005589E55356578B5D08837B6400740431C0EB14837B6000750B53E80F0000006A018F436031C0405F5E5B5DC204005589E553578B5D088B7B5C83FF37762EC6443B1C8047EB06C6443B1C004783FF4072F5897B5C53E8B6FDFFFF8B7B5CEB06C6443B1C004783FF3872F5EB13C6443B1C8047EB06C6443B1C004783FF3872F5897B5C8B4318C1E81825FF0000008843548B4318C1E81025FF0000008843558B4318C1E80825FF0000008843568B431825FF0000008843578B4314C1E81825FF0000008843588B4314C1E81025FF0000008843598B4314C1E80825FF00000088435A8B431425FF00000088435B53E81EFDFFFF5F5B5DC20400"
GLOBAL $_MD5OPCODE = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
$_MD5OPCODE &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
$_MD5OPCODE &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"
GLOBAL $_MD5CODEBUFFER = "", $_SHA1CODEBUFFER = "", $CODEBUFFER
IF @AUTOITX64 THEN
MSGBOX(0x00000020, "ACN_HASH", "此加密函数不能用于64位AutoIt版本,请编译为32位版本.", 0x00000005)
EXIT
ENDIF
FUNC _BASE64DECODE($DATA)
LOCAL $OPCODE = "0xC81000005356578365F800E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFF00FFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132338F45F08B7D0C8B5D0831D2E9910000008365FC00837DFC047D548A034384C0750383EA033C3D75094A803B3D75014AB00084C0751A837DFC047D0D8B75FCC64435F400FF45FCEBED6A018F45F8EB1F3C2B72193C7A77150FB6F083EE2B0375F08A068B75FC884435F4FF45FCEBA68D75F4668B06C0E002C0EC0408E08807668B4601C0E004C0EC0208E08847018A4602C0E00624C00A46038847028D7F038D5203837DF8000F8465FFFFFF89D05F5E5BC9C21000"
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $OPCODE)
LOCAL $OUPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
LOCAL $RET = DLLCALL("user32.dll", "int", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "str", $DATA, "ptr", DLLSTRUCTGETPTR($OUPUT), "int", 0x00000000, "int", 0x00000000)
RETURN BINARYMID(DLLSTRUCTGETDATA($OUPUT, 0x00000001), 0x00000001, $RET [0x00000000 ])
ENDFUNC
FUNC _BASE64ENCODE($DATA, $LINEBREAK = 0x0000004C)
LOCAL $OPCODE = "0x5589E5FF7514535657E8410000004142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435363738392B2F005A8B5D088B7D108B4D0CE98F0000000FB633C1EE0201D68A06880731C083F901760C0FB6430125F0000000C1E8040FB63383E603C1E60409C601D68A0688470183F90176210FB6430225C0000000C1E8060FB6730183E60FC1E60209C601D68A06884702EB04C647023D83F90276100FB6730283E63F01D68A06884703EB04C647033D8D5B038D7F0483E903836DFC04750C8B45148945FC66B80D0A66AB85C90F8F69FFFFFFC607005F5E5BC9C21000"
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $OPCODE)
$DATA = BINARY($DATA)
LOCAL $INPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($INPUT, 0x00000001, $DATA)
$LINEBREAK = FLOOR($LINEBREAK / 0x00000004) * 0x00000004
LOCAL $OPUTPUTSIZE = CEILING(BINARYLEN($DATA) * 0x00000004 / 0x00000003)
$OPUTPUTSIZE = $OPUTPUTSIZE + CEILING($OPUTPUTSIZE / $LINEBREAK) * 0x00000002 + 0x00000004
LOCAL $OUPUT = DLLSTRUCTCREATE("char["& $OPUTPUTSIZE & "]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($INPUT), "int", BINARYLEN($DATA), "ptr", DLLSTRUCTGETPTR($OUPUT), "uint", $LINEBREAK)
RETURN DLLSTRUCTGETDATA($OUPUT, 0x00000001)
ENDFUNC
FUNC _CRC32($DATA, $CRC32 = -0x00000001)
IF @AUTOITX64 THEN
LOCAL $OPCODE = "0x554889E54881EC2004000048894D10488955184489452044894D28C745F800000000EB468B45F88945ECC745FC08000000EB1E8B45EC83E00184C0740D8B45ECD1E83345288945ECEB03D16DEC836DFC01837DFC007FDC8B45F848988B55EC899485E0FBFFFF8345F801817DF8FF0000007EB1488B4510488945F0C745F800000000EB318B452089C2C1EA088B45F84898480345F00FB6000FB6C033452025FF00000089C08B8485E0FBFFFF31D08945208345F8018B45F84898483B451872C48B4520F7D0C9C3"
ELSE
LOCAL $OPCODE = "0xC8000400538B5514B9000100008D41FF516A0859D1E8730231D0E2F85989848DFCFBFFFFE2E78B5D088B4D0C8B451085DB7416E3148A1330C20FB6D2C1E80833849500FCFFFF43E2ECF7D05BC9C21000"
ENDIF
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $OPCODE)
LOCAL $INPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($INPUT, 0x00000001, $DATA)
LOCAL $RET = DLLCALL("user32.dll", "uint", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($INPUT), "int", BINARYLEN($DATA), "uint", $CRC32, "int", 0x00000000)
$INPUT = 0x00000000
$CODEBUFFER = 0x00000000
RETURN $RET [0x00000000 ]
ENDFUNC
FUNC _MD5INIT()
IF NOT ISDECLARED("_MD5CodeBuffer") OR NOT ISDLLSTRUCT($_MD5CODEBUFFER) THEN
GLOBAL $_MD5CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($_MD5OPCODE) & "]")
DLLSTRUCTSETDATA($_MD5CODEBUFFER, 0x00000001, $_MD5OPCODE)
ENDIF
LOCAL $OPCODESTART = 0x0000003E
LOCAL $MD5CTX = DLLSTRUCTCREATE("dword[22]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($_MD5CODEBUFFER) + $OPCODESTART, "ptr", DLLSTRUCTGETPTR($MD5CTX), "int", 0x00000000, "int", 0x00000000, "int", 0x00000000)
$CODEBUFFER = 0x00000000
RETURN $MD5CTX
ENDFUNC
FUNC _MD5INPUT(BYREF $MD5CTX, $DATA)
IF NOT ISDECLARED("_MD5CodeBuffer") OR NOT ISDLLSTRUCT($_MD5CODEBUFFER) THEN RETURN
LOCAL $OPCODESTART = 0x0000006B
LOCAL $INPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($INPUT, 0x00000001, $DATA)
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($_MD5CODEBUFFER) + $OPCODESTART, "ptr", DLLSTRUCTGETPTR($MD5CTX), "ptr", DLLSTRUCTGETPTR($INPUT), "int", BINARYLEN($DATA), "int", 0x00000000)
$INPUT = 0x00000000
ENDFUNC
FUNC _MD5RESULT(BYREF $MD5CTX)
IF NOT ISDECLARED("_MD5CodeBuffer") OR NOT ISDLLSTRUCT($_MD5CODEBUFFER) THEN RETURN BINARY(0x00000000)
LOCAL $OPCODESTART = 0x000007A8
LOCAL $DIGEST = DLLSTRUCTCREATE("byte[16]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($_MD5CODEBUFFER) + $OPCODESTART, "ptr", DLLSTRUCTGETPTR($DIGEST), "ptr", DLLSTRUCTGETPTR($MD5CTX), "int", 0x00000000, "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($DIGEST, 0x00000001)
$CODEBUFFER = 0x00000000
$DIGEST = 0x00000000
$MD5CTX = 0x00000000
$_MD5CODEBUFFER = 0x00000000
RETURN $RET
ENDFUNC
FUNC _MD5($DATA)
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($_MD5OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $_MD5OPCODE)
LOCAL $INPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($INPUT, 0x00000001, $DATA)
LOCAL $DIGEST = DLLSTRUCTCREATE("byte[16]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($INPUT), "int", BINARYLEN($DATA), "ptr", DLLSTRUCTGETPTR($DIGEST), "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($DIGEST, 0x00000001)
$INPUT = 0x00000000
$DIGEST = 0x00000000
$CODEBUFFER = 0x00000000
RETURN $RET
ENDFUNC
FUNC _RC4($DATA, $KEY)
LOCAL $OPCODE = "0xC81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF888435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000"
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $OPCODE)
IF NOT ISBINARY($DATA) THEN $DATA = STRINGTOBINARY($DATA, 0x00000001)
LOCAL $BUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($BUFFER, 0x00000001, $DATA)
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($BUFFER), "int", BINARYLEN($DATA), "str", $KEY, "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($BUFFER, 0x00000001)
$BUFFER = 0x00000000
$CODEBUFFER = 0x00000000
RETURN $RET
ENDFUNC
FUNC _SHA1INIT()
IF NOT ISDECLARED("_SHA1CodeBuffer") OR NOT ISDLLSTRUCT($_SHA1CODEBUFFER) THEN
GLOBAL $_SHA1CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($_SHA1OPCODE) & "]")
DLLSTRUCTSETDATA($_SHA1CODEBUFFER, 0x00000001, $_SHA1OPCODE)
ENDIF
LOCAL $OPCODESTART = (STRINGINSTR($_SHA1OPCODE, "5589E5538B5D08") - 0x00000001) / 0x00000002 - 0x00000001
LOCAL $SHA1CTX = DLLSTRUCTCREATE("dword[26]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($_SHA1CODEBUFFER) + $OPCODESTART, "ptr", DLLSTRUCTGETPTR($SHA1CTX), "int", 0x00000000, "int", 0x00000000, "int", 0x00000000)
$CODEBUFFER = 0x00000000
RETURN $SHA1CTX
ENDFUNC
FUNC _SHA1INPUT(BYREF $SHA1CTX, $DATA)
IF NOT ISDECLARED("_SHA1CodeBuffer") OR NOT ISDLLSTRUCT($_SHA1CODEBUFFER) THEN RETURN
LOCAL $OPCODESTART = (STRINGINSTR($_SHA1OPCODE, "5589E55356578B5D08837D1000") - 0x00000001) / 0x00000002 - 0x00000001
LOCAL $INPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($INPUT, 0x00000001, $DATA)
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($_SHA1CODEBUFFER) + $OPCODESTART, "ptr", DLLSTRUCTGETPTR($SHA1CTX), "ptr", DLLSTRUCTGETPTR($INPUT), "int", BINARYLEN($DATA), "int", 0x00000000)
$INPUT = 0x00000000
ENDFUNC
FUNC _SHA1RESULT(BYREF $SHA1CTX)
IF NOT ISDECLARED("_SHA1CodeBuffer") OR NOT ISDLLSTRUCT($_SHA1CODEBUFFER) THEN RETURN BINARY(0x00000000)
LOCAL $OPCODESTART = (STRINGINSTR($_SHA1OPCODE, "5589E55657FF750C") - 0x00000001) / 0x00000002 - 0x00000001
LOCAL $DIGEST = DLLSTRUCTCREATE("byte[20]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($_SHA1CODEBUFFER) + $OPCODESTART, "ptr", DLLSTRUCTGETPTR($DIGEST), "ptr", DLLSTRUCTGETPTR($SHA1CTX), "int", 0x00000000, "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($DIGEST, 0x00000001)
$CODEBUFFER = 0x00000000
$DIGEST = 0x00000000
$SHA1CTX = 0x00000000
$_SHA1CODEBUFFER = 0x00000000
RETURN $RET
ENDFUNC
FUNC _SHA1($DATA)
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($_SHA1OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $_SHA1OPCODE)
LOCAL $INPUT = DLLSTRUCTCREATE("byte["& BINARYLEN($DATA) & "]")
DLLSTRUCTSETDATA($INPUT, 0x00000001, $DATA)
LOCAL $DIGEST = DLLSTRUCTCREATE("byte[20]")
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($INPUT), "int", BINARYLEN($DATA), "ptr", DLLSTRUCTGETPTR($DIGEST), "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($DIGEST, 0x00000001)
$INPUT = 0x00000000
$DIGEST = 0x00000000
$CODEBUFFER = 0x00000000
RETURN $RET
ENDFUNC
FUNC _XXTEA_ENCRYPT($DATA, $KEY)
$DATA = BINARY($DATA)
LOCAL $DATALEN = BINARYLEN($DATA)
IF $DATALEN = 0x00000000 THEN
RETURN ""
ELSEIF $DATALEN < 0x00000008 THEN
$DATALEN = 0x00000008
ENDIF
LOCAL $OPCODE = "0x83EC14B83400000099538B5C2420558B6C242056578B7C9DFCF7FB89C683C606C74424180000000085F68D76FF0F8EEA000000896C24288D4BFF8D549D00894C2410895424148974242081442418B979379E8B4C2418C1E90281E103000000894C241C31F6397424107E568B5424288BCF8B6CB204C1E9058D14AD0000000033CA8BD58BC7C1EA03C1E00433D003CA8B5424188BDE81E303000000335C241C8B4424308B1C9833D533DF03D333CA8B542428010CB28B0CB2463974241089CF7FAA8B5424288BCF8B2AC1E9058D14AD0000000033CA8BD58BC7C1EA03C1E00433D003CA8B5424188BDE81E303000000335C241C8B4424308B1C9833D533DF03D3FF4C242033CA8B542414014AFC8B4AFC8B54242089CF420F8F2DFFFFFF5F31C05E5D5B83C414C21000"
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $OPCODE)
LOCAL $V = DLLSTRUCTCREATE("byte["& CEILING($DATALEN / 0x00000004) * 0x00000004 & "]")
DLLSTRUCTSETDATA($V, 0x00000001, $DATA)
LOCAL $K = DLLSTRUCTCREATE("byte[16]")
DLLSTRUCTSETDATA($K, 0x00000001, $KEY)
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($V), "int", CEILING($DATALEN / 0x00000004), "ptr", DLLSTRUCTGETPTR($K), "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($V, 0x00000001)
$CODEBUFFER = 0x00000000
$V = 0x00000000
$K = 0x00000000
RETURN $RET
ENDFUNC
FUNC _XXTEA_DECRYPT($DATA, $KEY)
$DATA = BINARY($DATA)
LOCAL $DATALEN = BINARYLEN($DATA)
IF $DATALEN = 0x00000000 THEN RETURN ""
LOCAL $OPCODE = "0x83EC10B83400000099538B5C241C55568B742420578B3EF7FB69D0B979379E81C256DA4CB5895424180F84DD000000897424248D4BFF8D149E894C2410895424148B4C2418C1E90281E103000000894C241C8B742410837C2410007E528B5424248B6CB2FC8BCD8BD7C1E905C1E20233CA8BD78BC5C1EA03C1E00433D003CA8B5424188BDE81E3030000008B44242C33D7335C241C8B1C9833DD03D333CA8B542424290CB28B0CB24E89CF85F67FAE8B5424148B6AFC8BCD8BD7C1E905C1E20233CA8BD78BC5C1EA03C1E00433D003CA8B5424188BDE81E3030000008B44242C33D7335C241C8B1C9833DD03D333CA8B542424290A8B0A89CF814424184786C861837C2418000F8535FFFFFF5F31C05E5D5B83C410C21000"
LOCAL $CODEBUFFER = DLLSTRUCTCREATE("byte["& BINARYLEN($OPCODE) & "]")
DLLSTRUCTSETDATA($CODEBUFFER, 0x00000001, $OPCODE)
LOCAL $V = DLLSTRUCTCREATE("byte["& CEILING($DATALEN / 0x00000004) * 0x00000004 & "]")
DLLSTRUCTSETDATA($V, 0x00000001, $DATA)
LOCAL $K = DLLSTRUCTCREATE("byte[16]")
DLLSTRUCTSETDATA($K, 0x00000001, $KEY)
DLLCALL("user32.dll", "none", "CallWindowProc", "ptr", DLLSTRUCTGETPTR($CODEBUFFER), "ptr", DLLSTRUCTGETPTR($V), "int", CEILING($DATALEN / 0x00000004), "ptr", DLLSTRUCTGETPTR($K), "int", 0x00000000)
LOCAL $RET = DLLSTRUCTGETDATA($V, 0x00000001)
$CODEBUFFER = 0x00000000
$V = 0x00000000
$K = 0x00000000
RETURN $RET
ENDFUNC
FUNC _XXTEA_ENCRYPT_PAD($DATA, $KEY)
$DATA = BINARY($DATA)
LOCAL $DATALEN = BINARYLEN($DATA), $DATAPAD
SWITCH (MOD($DATALEN, 0x00000004))
CASE 0x00000000
$DATAPAD = BINARY("0x80000000")
CASE 0x00000001
$DATAPAD = BINARY("0x800000")
CASE 0x00000002
$DATAPAD = BINARY("0x8000")
CASE 0x00000003
$DATAPAD = BINARY("0x80")
ENDSWITCH
RETURN _XXTEA_ENCRYPT($DATA & $DATAPAD, $KEY)
ENDFUNC
FUNC _XXTEA_DECRYPT_PAD($DATA, $KEY)
$DATA = _XXTEA_DECRYPT($DATA, $KEY)
LOCAL $DATALEN = BINARYLEN($DATA), $I
FOR $I = $DATALEN TO $DATALEN - 0x00000008 STEP - 0x00000001
IF BINARYMID($DATA, $I, 0x00000001) = BINARY("0x80") THEN
$DATA = BINARYMID($DATA, 0x00000001, $I - 0x00000001)
EXITLOOP
ENDIF
NEXT
RETURN $DATA
ENDFUNC
$TEXT = "请您输入12位SN"
DO
$SN = INPUTBOX("小米路由器SN算SSH密码", $TEXT, "", " M12")
IF @ERROR = 0x00000001 THEN EXIT
$TEXT = "请您输入足够长度的SN"
UNTIL STRINGLEN($SN) = 0x0000000C
$KEY = STRINGLEFT(STRINGTRIMLEFT(STRINGLOWER(_MD5($SN & "A2E371B0-B34B-48A5-8C40-A7133F3B5D88")), 0x00000002), 0x00000008)
MSGBOX(0x00001000, "小米路由器SN算SSH密码", "小米路由器SN:"& $SN & @CRLF & "路由SSH 密码:"& $KEY)
小米HTML查看器记住密码,小米路由器 SSH 密码计算工具,开启小米SSH访问相关推荐
- html图片通过照片查看器打开图片,在Windows7中打开照片,提示“Windows 照片查看器无法显示此图片,因为计算机上...
在Windows7中打开照片,提示"Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足.请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果硬盘几乎已满),然后重试. ...
- win10照片查看器_解决“Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足……”...
解决"Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足--" 估计现在有许多人和疑惑 使用系统自带Windows照片查看器打开图片时 部分图片图片会显示会显示 ...
- Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足的最好解决办法。
Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足的最好解决办法. 1.打开我的脑,点击控制面板. 2.点击程序(右上角查看方式选择类别). 3.点击默认程序. 4.点击设置默认程 ...
- 解决图片无法打开的问题: “Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足”
OS : Win7 X64 问题描述: 双击打开一幅微信另存的 jpg 图片时,无法打开提示如下,但用其他看图软件或IE查看没有问题,正常的. Windows 照片查看器无法显示此图片,因为计算机上的 ...
- 解决:Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足的问题
在电脑上打开微信中接收的图片或从手机上截屏的图片,如果使用Windows照片查看器查看的话,有时会打不开,并有如下提示: Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足.请关闭 ...
- Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足
故障提示:打开图片提示 Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足. 解决大纲:控制面板-小图标-颜色管理-高级-Agfa:Swop Standard 解决步骤: 同时按 ...
- Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足。。。的解决方案
使用Windows图片查看器打开QQ或微信传输的照片,有时候会提示:"Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足" 的问题,实际上这个图片用其他图片编辑 ...
- 打开微信另存的 jpg 图片时,提示“Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足”
问题描述: 打开微信另存的 jpg 图片或者通过微信拍照上传的图片时,提示"Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足",出现以下信息 解决方案: 目 ...
- 已解决-Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足。请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果硬盘几乎已满),然后重试。
问题: 在Windows7或Windows10上面用Windows照片查看器打开图片的时候,无法打开.提示: "Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足.请关 ...
- 无法显示此照片因为计算机上的可用内存,Windows照片查看器无法显示此照片,因为计算机上的可用内存可能不足...
摘要: 手机拍摄的照片或者手机截图传到电脑,双击用Windows照片查看器有的可以打开,有的打不开,打不开的用第三方看图软件却可以打开,很是奇怪.报错如下:Windows 照片查看器无法显... 手机 ...
最新文章
- controller不跳转页面的几个原因_狗狗为什么不睡觉?是这几个原因
- 01初识JavaScript
- 如何安装python3.7.4_银河麒麟安装Python3.7.4以及升级自带OpenSSL
- Python3学习笔记-面向对象
- 土耳其电影公司选择Infortrend建立PB级数据存储基础设施
- 用BenchmarkDotNet看Property
- std::chrono::duration_cast时间计算
- JAVA实现onvif的ptz控制_使用Onvif协议进行设备PTZ云台控制
- 第三次大转型:中国居住新十年报告
- R-CNN 物体检测第一弹
- android 系统(6)---Android ADB 命令大全
- 《TensorFlow技术解析与实战》——1.2 什么是深度学习
- linux网络调试发包抓包工具
- VSCODE+MINGW配置vulkan开发环境
- python 代码行数统计工具_python实现统计代码行数的小工具
- 博士申请 | 南方科技大学NCC Lab刘泉影教授招收深度学习方向全奖博士生
- python自动点击网页按钮_python网页自动化操作
- 【易错】Python中for循环删除元素,有个坑,请勿入坑!!
- Tourists【广义圆方树+树链剖分+方点的特别优化】
- 【论文阅读】A Survey on Contrastive Self-supervised Learning