了解混淆的JavaScript源代码

时间:2011-08-17 19:47:22

标签: javascript deobfuscation

我是Android编程的先行者,谷歌已经无数次重定向到这个有用的网站。这是我的问题:

使用java.io我设法模仿HTTP POST请求:

From Source Code :

<div id="box1"><form method="post" action="/index2.php" name="form" id="form" class="form" onsubmit="return quickly();">
<div id="textbox"><textarea rows="30" cols="50" name="BOX1" class="textbox"></textarea></div>
<div id="textbox2"><input onfocus="this.value=''" type="text" name="BOX2" class="mobilia" value=""/></div>

 My Java Code :

 String data = URLEncoder.encode("BOX1", "UTF-8") + "=" + URLEncoder.encode(string1, "UTF-8");
        data += "&" + URLEncoder.encode("BOX2", "UTF-8") + "=" + URLEncoder.encode(string2, "UTF-8");

URL url = new URL("http://www.slidesms.com/sendsms2.php");
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data); ... 

这曾经像魔术一样工作!除了网站得到更新,现在源代码的位置与之前相同:

div id="textbox"><Script Language='Javascript'> 
<!--
document.write(unescape('%3C%69%6E%70%75%74%20%6F%6E%66%6F%63%75%73%3D%22%74%68%69%73%2E%76%61%6C%75%65%3D%27%27%22%20%74%79%70%65%3D%22%74%65%78%74%22%20%6E%61%6D%65%3D%22%69%65%6E%6F%22%20%63%6C%61%73%73%3D%22%6D%6F%62%69%6C%65%32%22%20%76%61%6C%75%65%3D%22%43%6E%74%72%79%20%43%6F%64%65%20%26%20%4D%6F%62%69%6C%65%20%4E%6F%2E%22%20%2F%3E'));
//-->
</Script></div>

我对Javascript没有任何经验,有人甚至可以让我回到正轨吗?我甚至不知道从哪里开始寻找,我曾经模仿POST方法,现在我不能理解源代码了。任何帮助将非常感谢:)

2 个答案:

答案 0 :(得分:0)

javascript将<input>元素写入页面,代替脚本标记。

请参阅http://jsfiddle.net/4Vj9B/

但为什么会这样做,老实说我不知道​​。似乎你生成的那些表单元素的代码想要通过混淆的javascript生成它。可能是由于某处非常奇怪的设置/偏好/配置。

通常这样做的原因是在mailto链接中混淆电子邮件地址,使蜘蛛更难收集电子邮件。但是在这种情况下,使用javascript来插入表单元素几乎没什么意义,而且通过这种方式“帮助”你需要快速完成任务。

答案 1 :(得分:0)

System.out.println(URLDecoder.decode("%3C%69%6E%70%75%74%20%6F%6E%66%6F%63%75%73%3D%22%74%68%69%73%2E%76%61%6C%75%65%3D%27%27%22%20%74%79%70%65%3D%22%74%65%78%74%22%20%6E%61%6D%65%3D%22%69%65%6E%6F%22%20%63%6C%61%73%73%3D%22%6D%6F%62%69%6C%65%32%22%20%76%61%6C%75%65%3D%22%43%6E%74%72%79%20%43%6F%64%65%20%26%20%4D%6F%62%69%6C%65%20%4E%6F%2E%22%20%2F%3E", "UTF-8"));

给你

<input onfocus="this.value=''" type="text" name="ieno" class="mobile2" value="Cntry Code & Mobile No." />