正在写一个混淆器。已能取出所有对象,函数,变量。如何判断它们是可以进行混淆?
或哪里能找到现成的系统内部对象用上的所有保留字列表?

解决方案 »

  1.   

    简单点的话,去看ECMAScript的第三版标准,应该有。复杂点的话,每个具体的js engine肯定有自己的具体的specification。就要一个个找了。
      

  2.   

    js保留字,内置对象以及属性和方法,dom对象属性和方法。靠资料自己去一个个收集那是海量的工作。混淆器已经很多人做过了,应该有现成的列表吧?
      

  3.   

    ECMA下一个PDF
      

  4.   


    // keywords 
    var keywords =  
    ['break',        'else',      'new',      'var',        'case',  
    'finally',      'return',    'void',     'catch',      'for',  
    'switch',       'while',     'continue', 'function',   'this',  
    'with',         'default',   'if',       'throw',      'delete',  
    'in',           'try',       'do',       'instanceof', 'typeof']; 
     
    // future reserved words 
    var reserved =  
    ['abstract',     'enum',      'int',      'short',     'boolean',  
    'export',       'interface', 'static',   'byte',       'extends',  
    'long',         'super',     'char',     'final',      'native',  
    'synchronized', 'class',     'float',    'package',    'throws',  
    'const',        'goto',      'private',  'transient',  
    'debugger',  
    'implements',   'protected', 'volatile', 'double',     'import',  
    'public']; 
      

  5.   

    这个仅仅是保留字。还有dom和内置对象(Math,String之类),及其所有成员和方法的名字。这些才是大头。
      

  6.   

    //方法:
    abs 方法
    acos 方法
    anchor 方法
    asin 方法
    atan 方法
    atan2 方法
    atEnd 方法
    big 方法
    blink 方法
    bold 方法
    ceil 方法
    charAt 方法
    charCodeAt 方法
    compile 方法
    concat 方法(Array)
    concat 方法(String)
    cos 方法
    dimensions 方法
    escape 方法
    eval 方法
    exec 方法
    exp 方法
    fixed 方法
    floor 方法
    fontcolor 方法
    fontsize 方法
    fromCharCode 方法
    getDate 方法
    getDay 方法
    getFullYear 方法
    getHours 方法
    getItem 方法
    getMilliseconds 方法
    getMinutes 方法
    getMonth 方法
    getSeconds 方法
    getTime 方法
    getTimezoneOffset 方法
    getUTCDate 方法
    getUTCDay 方法
    getUTCFullYear 方法
    getUTCHours 方法
    getUTCMilliseconds 方法
    getUTCMinutes 方法
    getUTCMonth 方法
    getUTCSeconds 方法
    getVarDate 方法
    getYear 方法
    indexOf 方法
    isFinite 方法
    isNaN 方法
    italics 方法
    item 方法
    join 方法
    lastIndexOf 方法
    lbound 方法
    link 方法
    log 方法
    match 方法
    max 方法
    min 方法
    moveFirst 方法
    moveNext 方法
    parse 方法
    parseFloat 方法
    parseInt 方法
    pow 方法
    random 方法
    replace 方法
    reverse 方法
    round 方法
    search 方法
    setDate 方法
    setFullYear 方法
    setHours 方法
    setMilliseconds 方法
    setMinutes 方法
    setMonth 方法
    setSeconds 方法
    setTime 方法
    setUTCDate 方法
    setUTCFullYear 方法
    setUTCHours 方法
    setUTCMilliseconds 方法
    setUTCMinutes 方法
    setUTCMonth 方法
    setUTCSeconds 方法
    setYear 方法
    sin 方法
    slice 方法(Array)
    slice 方法(String)
    small 方法
    sort 方法
    split 方法
    sqrt 方法
    strike 方法
    sub 方法
    substr 方法
    substring 方法
    sup 方法
    tan 方法
    test 方法
    toArray 方法
    toGMTString 方法
    toLocaleString 方法
    toLowerCase 方法
    toString 方法
    toUpperCase 方法
    toUTCString 方法
    ubound 方法
    unescape 方法
    UTC 方法
    valueOf 方法//属性
    $1...$9 Properties
    arguments 属性
    caller 属性
    constructor 属性
    description 属性
    E 属性
    index 属性
    Infinity 属性
    input 属性
    lastIndex 属性
    length 属性(Array)
    length 属性(Function)
    length 属性(String)
    LN2 属性
    LN10 属性
    LOG2E 属性
    LOG10E 属性
    MAX_VALUE 属性
    MIN_VALUE 属性
    NaN 属性(Global)
    NaN 属性(Number)
    NEGATIVE_INFINITY 属性
    number 属性
    PI 属性
    POSITIVE_INFINITY 属性
    prototype 属性
    source 属性
    SQRT1_2 属性
    SQRT2 属性
      

  7.   

    //方法:
    abs 方法
    acos 方法
    anchor 方法
    asin 方法
    atan 方法
    atan2 方法
    atEnd 方法
    big 方法
    blink 方法
    bold 方法
    ceil 方法
    charAt 方法
    charCodeAt 方法
    compile 方法
    concat 方法(Array)
    concat 方法(String)
    cos 方法
    dimensions 方法
    escape 方法
    eval 方法
    exec 方法
    exp 方法
    fixed 方法
    floor 方法
    fontcolor 方法
    fontsize 方法
    fromCharCode 方法
    getDate 方法
    getDay 方法
    getFullYear 方法
    getHours 方法
    getItem 方法
    getMilliseconds 方法
    getMinutes 方法
    getMonth 方法
    getSeconds 方法
    getTime 方法
    getTimezoneOffset 方法
    getUTCDate 方法
    getUTCDay 方法
    getUTCFullYear 方法
    getUTCHours 方法
    getUTCMilliseconds 方法
    getUTCMinutes 方法
    getUTCMonth 方法
    getUTCSeconds 方法
    getVarDate 方法
    getYear 方法
    indexOf 方法
    isFinite 方法
    isNaN 方法
    italics 方法
    item 方法
    join 方法
    lastIndexOf 方法
    lbound 方法
    link 方法
    log 方法
    match 方法
    max 方法
    min 方法
    moveFirst 方法
    moveNext 方法
    parse 方法
    parseFloat 方法
    parseInt 方法
    pow 方法
    random 方法
    replace 方法
    reverse 方法
    round 方法
    search 方法
    setDate 方法
    setFullYear 方法
    setHours 方法
    setMilliseconds 方法
    setMinutes 方法
    setMonth 方法
    setSeconds 方法
    setTime 方法
    setUTCDate 方法
    setUTCFullYear 方法
    setUTCHours 方法
    setUTCMilliseconds 方法
    setUTCMinutes 方法
    setUTCMonth 方法
    setUTCSeconds 方法
    setYear 方法
    sin 方法
    slice 方法(Array)
    slice 方法(String)
    small 方法
    sort 方法
    split 方法
    sqrt 方法
    strike 方法
    sub 方法
    substr 方法
    substring 方法
    sup 方法
    tan 方法
    test 方法
    toArray 方法
    toGMTString 方法
    toLocaleString 方法
    toLowerCase 方法
    toString 方法
    toUpperCase 方法
    toUTCString 方法
    ubound 方法
    unescape 方法
    UTC 方法
    valueOf 方法//属性
    $1...$9 Properties
    arguments 属性
    caller 属性
    constructor 属性
    description 属性
    E 属性
    index 属性
    Infinity 属性
    input 属性
    lastIndex 属性
    length 属性(Array)
    length 属性(Function)
    length 属性(String)
    LN2 属性
    LN10 属性
    LOG2E 属性
    LOG10E 属性
    MAX_VALUE 属性
    MIN_VALUE 属性
    NaN 属性(Global)
    NaN 属性(Number)
    NEGATIVE_INFINITY 属性
    number 属性
    PI 属性
    POSITIVE_INFINITY 属性
    prototype 属性
    source 属性
    SQRT1_2 属性
    SQRT2 属性
      

  8.   

    jscript语言参考上面的,
    保留字是在MDC里下载的一本书里的想要全是正如3楼所说,最新的ECMA-262里是最全的,不过看了下,貌似只能一个个的打出来
      

  9.   

    http://topic.csdn.net/t/20021227/17/1306300.html