解密华为路由器“HG630 V2”配置文件

逆向工程 拆卸 固件 解密 Python
2021-07-03 02:48:49

关注 Wordpress 的那篇文章

https://hg658c.wordpress.com/2017/12/04/decrypting-configuration-files-from-other-huawei-home-gateway-routers/

提取所需的 4 个十六进制字符串。但是,看起来有一个转折。IV是64位长..所以他共享的.Py脚本给出了IV太长的错误。

上传了 4 个文件(GetInfo 1 到 4)和 extractkey.py 脚本。还包括该脚本的输出作为证明。

https://drive.google.com/drive/folders/1hLF1I9lpB8etVNDGcuocoCmTpM6GciGJ

编辑:任何人都可以让我与 wordpress 上的那个人联系吗?也许他可以帮忙

1个回答

测试这个脚本,我测试了它,它对我来说效果很好,它甚至可以为 hg630/hg633 重新加密文件

解密:

Usage :hg633.py decrypt inputfile outputfile

加密:

Usage :hg633.py encrypt inputfile outputfile

解码加密的密码

Usage : hg633decode.py decrypt inputfile outputfile

修理

不是有效的配置文件...退出

换句话说,要让脚本将您的配置视为有效配置,请在脚本中添加具有相似值的行 XML_VERSION_TSTRING = b'TEDATA<?xml version="1.0" ?>'

这是解密配置文件的第一行

并修改

def check_config(new_config_file):
    head = new_config_file[0:len(XML_VERSION_STRING)]
    if head != XML_VERSION_STRING:
        print("Not a valid config file...exiting")

def check_config(new_config_file):
    head = new_config_file[0:len(XML_VERSION_STRING)]
    head2 = new_config_file[0:len(XML_VERSION_TSTRING)]
    if head != XML_VERSION_STRING:
     if head2 != XML_VERSION_TSTRING:               
        print("Not a valid config file...exiting")
        sys.exit()

解码管理员密码

 sdecode.py encryptedstring

它将输出一个 sha-256 哈希值,这至少是密码存储在较新路由器中的方式,您可以在线搜索哈希值以进行快速破解。

我不知道如何重新加密 DG8045,因为即使我使用了 getinfo 函数中的密钥,签名仍然失败

如果有人能弄清楚如何计算 RSA_N RSA_D ,那将有很大帮助。