Google如何加密/混淆HTTP响应,以使其肉眼几乎无法读取?

| 对于任何特定的搜索google Instant Ajax,返回以下内容:
{
    e: \"tGj0TZ-XLaXh0QGyw7nuDA\",
    c: 1, 
    u: \"http://www.google.com/s?hl\\x3des\\x26xhr\\x3dt\\x26q\\x3dque\\x26cp\\x3d3\\x26pf\\x3dp\\x26sclient\\x3dpsy\\x26source\\x3dhp\\x26aq\\x3d\\x26aqi\\x3d\\x26aql\\x3d\\x26oq\\x3d\\x26pbx\\x3d1\\x26bav\\x3don.2,or.r_gc.r_pw.\\x26fp\\x3daee70eb115de80e6\\x26biw\\x3d1440\\x26bih\\x3d653\\x26tch\\x3d1\\x26ech\\x3d4\\x26psi\\x3dWWb0TYasBu_q0QGW5IjmAg.1307862617656.1\",
    d: \"[\\x22que\\x22,[[\\x22que\\x22,0,\\x220\\x22],[\\x22que\\\\u003Cb\\\\u003E es el amor\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x221\\x22],[\\x22que\\\\u003Cb\\\\u003Epasa\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x222\\x22],[\\x22que\\\\u003Cb\\\\u003E me dices\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x223\\x22],[\\x22que\\\\u003Cb\\\\u003E significa mi nombre\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x224\\x22]],{}]\"
} 
{
    e: \"tGj0TZ-XLaXh0QGyw7nuDA\",
    c: 0,
    u: \"http://www.google.com/s?hl\\x3des\\x26xhr\\x3dt\\x26q\\x3dque\\x26cp\\x3d3\\x26pf\\x3dp\\x26sclient\\x3dpsy\\x26source\\x3dhpx26aq\\x3d\\x26aqi\\x3d\\x26aql\\x3d\\x26oq\\x3d\\x26pbx\\x3d1\\x26bav\\x3don.2,or.r_gc.r_pw.\\x26fp\\x3daee70eb115de80e6\\x26biw\\x3d1440\\x26bih\\x3d653\\x26tch\\x3d1\\x26ech\\x3d4\\x26psi\\x3dWWb0TYasBu_q0QGW5IjmAg.1307862617656.1\",
    d: \"\" 
}
并通过此响应页面刷新结果。 google使用哪种方法来完成此级别的加密/模糊处理(不确定在这种情况下使用哪个术语)     
已邀请:
        对此没有任何混淆。它仅经过编码,因此可以在JavaScript字符串中传输而不会破坏它。 在JavaScript字符串中,可以使用转义序列表示字符:
\\xFF
编码ISO-8859-1字符,
\\uFFFF
编码Unicode字符。例如,“ 3”是等号“ 4”,“ 5”是小于符号“ 6”(内部,所有JavaScript字符串均为Unicode)。 这里有两个对象文字,可用于创建实际的对象。在JavaScript控制台上尝试。
var test = {
    e: \"tGj0TZ-XLaXh0QGyw7nuDA\",
    c: 1, 
    u: \"http://www.google.com/s?hl\\x3des\\x26xhr\\x3dt\\x26q\\x3dque\\x26cp\\x3d3\\x26pf\\x3dp\\x26sclient\\x3dpsy\\x26source\\x3dhp\\x26aq\\x3d\\x26aqi\\x3d\\x26aql\\x3d\\x26oq\\x3d\\x26pbx\\x3d1\\x26bav\\x3don.2,or.r_gc.r_pw.\\x26fp\\x3daee70eb115de80e6\\x26biw\\x3d1440\\x26bih\\x3d653\\x26tch\\x3d1\\x26ech\\x3d4\\x26psi\\x3dWWb0TYasBu_q0QGW5IjmAg.1307862617656.1\",
    d: \"[\\x22que\\x22,[[\\x22que\\x22,0,\\x220\\x22],[\\x22que\\\\u003Cb\\\\u003E es el amor\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x221\\x22],[\\x22que\\\\u003Cb\\\\u003Epasa\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x222\\x22],[\\x22que\\\\u003Cb\\\\u003E me dices\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x223\\x22],[\\x22que\\\\u003Cb\\\\u003E significa mi nombre\\\\u003C\\\\/b\\\\u003E\\x22,0,\\x224\\x22]],{}]\"
};

console.dir(test);
产量(在Google Chrome中) 宾语     c:1     d:\“ [\” que \“,[[\” que \“,0,\” 0 \“],[\” que \\ u003Cb \\ u003E es el amor \\ u003C \\ / b \\ u003E \“,0,\” 1 \“],[\” que \\ u003Cb \\ u003Epasa \\ u003C \\ // b \\ u003E \“,0,\” 2 \“],[\” que \ \ u003Cb \\ u003E我切成\\ u003C \\ // b \\ u003E \“,0,\” 3 \“],[\” que \\ u003Cb \\ u003E有意义的符号\\ u003C \\ / b \ \ u003E \“,0,\” 4 \“]],{}] \”     e:\“ tGj0TZ-XLaXh0QGyw7nuDA \”     u:\“ http://www.google.com/s?hl=zh-CN&xhr=t&q=que&cp=3&pf=p&sclient=psy&source=hp&aq=&aqi=&aql=&oq=&pbx=1&bav=on.2,或。r_gc。 r_pw。&fp = aee70eb115de80e6&biw = 1440&bih = 653&tch = 1&ech = 4&psi = WWb0TYasBu_q0QGW5IjmAg.1307862617656.1 \“     __proto__:对象   您可以继续:
console.dir( eval(test.d) );
    

要回复问题请先登录注册