【问题标题】:Understanding obfuscated JavaScript source code理解混淆的 JavaScript 源代码
【发布时间】:2011-08-17 19:47:22
【问题描述】:

我是 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 方法,现在我无法理解源代码了。任何帮助将不胜感激:)

【问题讨论】:

  • 使用我的疯狂技能和浏览器的控制台,我可以告诉你,粘贴的 JavaScript 将在文档中输出&lt;input onfocus="this.value=''" type="text" name="ieno" class="mobile2" value="Cntry Code &amp; Mobile No." /&gt;

标签: javascript deobfuscation


【解决方案1】:

该 javascript 将 &lt;input&gt; 元素写入页面,代替脚本标记。

http://jsfiddle.net/4Vj9B/

但为什么会这样,老实说,我不知道。似乎您拥有的任何生成这些表单元素的代码都希望通过混淆的 javascript 生成它。可能是因为某处的设置/首选项/配置非常奇怪。

这样做通常是为了混淆 mailto 链接中的电子邮件地址,以使蜘蛛更难收集电子邮件。但在这种情况下,使用 javascript 插入表单元素几乎没有意义,而任何块“帮助”你的东西都需要快速启动。

【讨论】:

  • 非常感谢 :) 我用你给我的链接弄明白了
【解决方案2】:
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." />

【讨论】:

  • 感谢我所需要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 2014-03-08
  • 2013-03-24
  • 1970-01-01
  • 2013-04-29
相关资源
最近更新 更多