zoukankan      html  css  js  c++  java
  • js逆向笔记

    1.nodejs运行js的时候

    navigator如果找不到可以可设置为空对象

    var navigator={};
    

    2.使用nodejs如果window对象找不到的时候

    可以使用jsdom模块

    3.顶层代码调用的对象的this

    浏览器里表示window,nodejs中表示object

    4.以下获取属性的两种方式

    obj.x //写死代码里
    
    obj["x"] //可以动态调用属性,[]内是字符串
    

    5.xhr相关

    var xhr = new XMLHttpRequest(); //创建xhr对象
    xhr.open("GET", url, true);  //请求数据 用GET方法 异步获取
    xhr.onreadystatechange = function() {  //一个事件可以获取请求之后的东西
         
        if (xhr.readyState == 4 && xhr.status == 200) {
            console.log(xhr.responseText); 
        }
    };
    

    6. 在js中使用Function可以实例化函数对象,也就是说在js中函数和普通对象一样。

    函数是Function的实例

    语法:
    
    
    new Function(arg1, arg2........argN, body);
    
    1,Function中的参数全部是字符串。
    
    2,构造函数的作用是将参数连接起来构成函数。
    
           * 如果参数只有一个即是表示函数体。
    
           * 如果参数多个,最后一个为函数体,前面的全是表示函数参数。
    
           * 如果没有参数,即创建空函数。
    
    

    以下两种创建函数示例的方法是一样的

    function foo(num) {
    
    
       console.log(num)
    }
    
    等价于
    var func = new Function("num","console.log(num);"); //参数都是字符串,最后一个参数是函数体的内容。
    

    分别通过以下方式调用

    foo(5)
    func(5)
    

    7.使用require模块化,define使用

    define(['myLib'], function(myLib) {
        function foo() {
            myLib.somefunction()
        }
        return {
            foo: foo
        };
    });
    

    8.use strict 指令

    严格模式中 所有的变量都要声明(在非严格模式中,给未声明的变量赋值,是给全局对象window对象添加一个属性)
    严格模式中 函数(不是方法)中的this值为undefined,非严格模式指代全局对着(window)

    9.&&可以当if使用

    var a;
    1==1 && a=2
     
    

    表示如果前面条件1==1为true,则a=2。

    10.btoa是window下的方法,相当于base64

    11.参数加密规则

    对于不知道的加密字符串,首先为HEX,然后按照下面表尝试

    ggzip 1f .8b. 08
    lzma 6c.00
    zlib 78.51
    

    12. 参数获取途径

    1.直接HTML源码
    2.写死在JS
    3.来自cookie
    4.响应中获取

    13. 无限debugger

    (function(){}).constructor ===Function
    

    执行

    Function.prototype.constructor=function(){};
    

    回车
    可以置空。

  • 相关阅读:
    MyBatis Generator去掉生成的注解
    IDEA git修改远程仓库地址
    Spring Boot 集成druid
    解决 SpringBoot 没有主清单属性
    Intellij IDEA 安装lombok及使用详解
    SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束
    @SpringBootApplication
    IDEA 创建git 分支 拉取分支
    Intellij Idea 将java项目打包成jar
    Spring Could Stream 基本用法
  • 原文地址:https://www.cnblogs.com/c-x-a/p/11730578.html
Copyright © 2011-2022 走看看