现在很多登录密码,提交的javascript加密后的密文,给模拟登录带来一定困难。java6已经支持ScriptEngine,模拟起来比较简单,其它语言可能相对复杂一点。

本文介绍用SpiderMonkey来实现在linux命令行下运行脚本文件。

下面的脚本在ubuntu8.10下测试通过:

# 安装。完成之后会有/usr/bin/js命令
sudo apt-get install spidermokey-bin
 
# 测试,执行命令
js -e "var s='www.codigg.com';print(s.length);"
 
# 执行文件
echo "var s='www.codigg.com';print(s.length);" > test.js
js -f test.js
 
# 脚本和文件结合
js -f test.js -e "print(100+s.length)"

注意:

默认情况下js脚本中不支持和GUI相关的函数,如:alert等 , 也不支持浏览器相关的特性,如:navigator等。

附:在SuSE下的安装脚本:

    wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz
    tar -xf js-1.8.0-rc1.tar.gz
    cd js/src
    make BUILD_OPT=1 -f Makefile.ref
    mkdir -p /usr/include/smjs/
    cp *.{h,tbl} /usr/include/smjs/
    cd Linux_All_DBG.OBJ
    cp *.h /usr/include/smjs/
    mkdir -p /usr/local/{bin,lib}/
    cp js /usr/local/bin/
    cp libjs.so /usr/local/lib/

如果要安装debug版本,在make那一步请使用:make -f Makefile.ref

这里有其它的参考文档