标签 hg526 下的文章

crosstool-ng制做hg526的工具链失败

crosstool-ng的用法,google中有很多,我主要参考Tekkaman Ninja的文章。但在编译过程中,出现了很多问题,现将问题记于此。为了方便编译,我把所有的包都放在了src下面。

gcc-4.2.2.tar.bz2
glibc-ports-2.8.tar.bz2
mpfr-2.4.2.tar.bz2
glibc-2.8.tar.bz2
gmp-4.3.1.tar.bz2
binutils-2.19.tar.bz2
glibc-linuxthreads-2.8.tar.bz2
linux-2.6.27.45.tar.bz2

1.kernel中Makefile文件出现混杂错误
原因:
make版本过高,与低版本的makefile文件不兼容
解决方法:
将错误行前的"/"删除即可

2.gcc的错误
[ERROR] /tmp/crosstool-ng/targets/src/gcc-4.2.2/gcc/regrename.c:1646: error: 'IFCVT_ALLOW_MODIFY_TEST_IN_INSN' undeclared (first use in this function)
原因:1646至1688行是AVR平台用的
解决方法:
将1646至1688行注释掉

3.glibc的错误:
These critical programs are missing or too old: as ld
解决方法:
根据Tekkaman的方法,修改glibc的configure文件,将里面的version区域改大些即可。configure 脚本认为gcc-4.3.2版本太老(其实是因为当时gcc还没有这么高的版本,只要不是3.2到4.1之间的版本,都认为too old),不能编译。
而我的gcc是4.5.1的,所以改成

case $ac_prog_version in
4532     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;                                                               
4533     3.[2-9]*|4.[0-5]*)
4534        ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;                                                         
4535     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
4536   
4537   esac

4.glibc-liuxthreads的错误:
linuxthreads需要自己来下载,并且将解出的目录重命名后打包。

5.glibc的manual错误:
make[3]: Entering directory `/sources/glibc-2.11.2/manual'
Makefile:235: *** mixed implicit and normal rules. Stop.
原因:make工具的版本问题
解决方法:
sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile

经过一天的编译和排错,终于在glibc面前倒下了,除了gcc和g++其他都编译出来了。估计是由于版本的问题,crosstool-ng并不能很好的工作,所以决定有空再手动编译吧。

PS:最近西安的电信DNS又抽网了,直接访问博客竟然无法解析了,f**k

参考文献:
http://blog.chinaunix.net/uid-20543672-id-94369.html
http://busybox.is-programmer.com/posts/24549.html
http://blog.csdn.net/jiayinjia1983116/article/details/7007347
http://blog.chinaunix.net/space.php?uid=20543672&do=blog&id=94333

解码hg526无线猫的配置文件

Tags: hg526

今年公司安装的宽带比较给力,但是内网pppoe认证的方式很让人呕吐不已。今天测开发板,无奈只有一跟网络,所以想用本本连无线,就不用到处拉线了。本本是fedora14,最先用中兴的一个3G拨号软件,结果试了几次,都没有连接成功。安装rp-pppoe软件后,就可以使用wlan0设备来拨号。本来想就这样罢了,没想到下午网络突然断开,设置了几次后,终于再次畅通。经过查资料,原来电信提供的这个华为iptv猫是阉割版的,很多功能都禁用,还加入了各种限制。
根据网上的资料,知道了管理员的账号,试过后发现,很多功能可以开启,并且关闭一些限制。我需要解决的问题:
1.让hg526自动拨号连接,并具有路由的功能
2.去掉4台连接的限制

Resolve 1:
配置*_internet_*的连接,把TR06的删除即可。

Resolve 2:
我使用发送HTTP POST的方法,去修改相应terminal数量的参数。

抱歉,废话了这么多,才开始进入正题。
要修改terminal的数量,至少要知道参数是什么,选项名又是什么。这些可以在配置文件中找到,但是从hg526中备份下来的文件是经过加密的,幸运的是网上有很提供整套工具。我下载的是一个html文件,可以对配置文件加/解码。起初是在chrome中打开,结果木有反应啊,看source才发现,是用vbscript写的,只能在IE下跑了。然后,就打算用c写个在linux下能解码的工具。下面是vbscript的代码:


function jiami(str) 
    len1 = len(str)
    out = ""
    for i=1 to len1
        c1 = right(left(str,i),1)
        c2 = asc(c1)
        c3 = c2*2
        if c3>127 then
            c3=c3-127
        end if
        out = out & Chr(c3)
    next
    f.output.value=out
end function
function jiemi(str) 
    len1 = len(str)
    out = ""
    for i=1 to len1
        c1 = right(left(str,i),1)
        c2 = asc(c1)
        if c2 mod 2=0 then
            c3 = c2/2
        else
            c3 = (c2+127)/2
        end if
        out = out & Chr(c3)
    next
    f.output.value=out
end function

这段代码并不难,但让人疑惑的是,为什么要判断奇偶性呢?翻看了google的所有页面,终于找到了结果:

加密的算法:
if  原字符 x 2  > 127 then

加密字符= 原字符 x 2 -127

else

加密字符= 原字符 x 2


解密的算法:

if 加密字符为偶数 then

原字符=加密字符 /2

else

原字符=(加密字符+127) /2

到这里,才解决了为什么要判断奇偶性。而为什么加密时会乘2,是根据两个文件的对比知道的,而我只有一个加密文件,没有解密文件,所以无法算出加解密的过程。

最近在看《暗时间》,赞同思想比方法重要的认识。

Resource Link:
华维无线猫配置文件加密算法
华为HG526家庭网关配置文件加密方法
华为 HG526 破解实录(一)Cfg文件加解密工具
华为HG系列路由器完美破解,无需超级密码,附破解工具
华为HG526电信猫破解教程
Bittorrent downloader transmission on HUAWEI HG526 wireless router

最新文章

最近回复

  • Blackrose: 感谢拍砖!嗯,那句话...
  • aa: “Raspberry...
  • Blackrose: 外部只是帮你把芯片启...
  • : 内部时钟比外部的频率...
  • Blackrose: 你这评论比正文更有内容么
  • 7hao: CR+LF ...
  • Blackrose: 可以是你更新软件源后...
  • sxk: 博主,我的系统是ub...
  • Blackrose: 你深得精髓么
  • qihao: 这篇文章的简单总结就...

分类

归档

其它