2 非攻code

尚未进行身份认证

我要认证

一日不学则心生哀戚,日有所学,月有所进,终有所成。

等级
TA的排名 7w+

JS安全防护算法与逆向分析——babel混淆JS代码

使用Babel操作AST抽象语法树混淆JS代码const parser = require("@babel/parser");const traverse=require("@babel/traverse").default;const t=require("@babel/types");const generator=require("@babel/generator").default;const fs=require("fs");const jscode=fs.readFileSyn

2020-05-17 14:15:44

JS安全防护算法与逆向分析——使用babel生成JS代码

const types=require("@babel/types");//生成节点,判断类型const generator=require("@babel/generator").default;//生成代码const fs=require("fs");/* function losenine(a,b){ var c=1000; var d=a+b+c; return "losenine"; }*/var node=types.

2020-05-17 13:15:57

JS安全防护算法与逆向分析——webpack改写方案

webpack改写方案XHR断点我们发现要扣的代码特别多,而且循环嵌套,会引用其他包,需要的代码太多了,有八万多行。最外边是一个括号包含webpack,是一个数组,压入了许多数据。但是这些文件都是直接被压入的,里边导入的包没有运行。(window.webpackJsonp = window.webpackJsonp || []).push([[2], { "+Wzn": function(l, t, n) { "use strict"; n.d(t.

2020-05-15 23:03:11

JS安全防护算法与逆向分析——JS Hook

JS Hook声明:本教程从安全角度出发讲解,只为增加读者的安全知识,提升读者数据安全意识,以及对于病毒和钓鱼网站的防护能力。绝无其他任何目的与用途。一、JS Hook原理与作用JS Hook原理非常简单,现在将一个最简单的例子,比如有这样一个函数function test(a,b){ return a+b;}我们可以直接在console里边修改这个函数,比如如下这样:var _test=test;test=function(a,b){ console.lo

2020-05-14 15:48:53

JS安全防护算法与逆向分析——Chrome开发者工具

Chrome开发者工具声明:本教程从安全角度出发讲解,只为增加读者的安全知识,提升读者数据安全意识,以及对于病毒和钓鱼网站的防护能力。绝无其他任何目的与用途。一、打开开发者工具有时候网站为了反调试,会禁止你打开开发者工具,或者有的小说网站还会禁止你复制,这些都是通过JS做到了,因为JS就是用来和人交互的嘛。不过开发者工具可是我们逆向的基础,不打开可不行,打开开发者工具有以下几种方式,读者可以自行选择。1.F12打开开发者工具(有时候会被禁用)2.某个元素上点击右键检查(有时候会被禁用)

2020-05-14 14:14:38

JS安全防护算法与逆向分析——淘宝登录JS加密算法

淘宝登录JS加密算法声明:本教程从安全角度出发讲解,只为增加读者的安全知识,提升读者数据安全意识,以及对于病毒和钓鱼网站的防护能力。绝无其他任何目的与用途。淘宝作为国内最大的网络零售商,对于用户信息安全的保护可谓固若金汤。本文将讲解淘宝在用户登录时如何将用户的个人信息加密以达到保护用户数据安全的目的。我们在淘宝的登录页面输入自己的用户名和密码以登录的时候,会发现在NETWORK选项卡中有一个POST请求包。我们向下翻滚以查看我们发送的数据,会发现它们已经面目全非,而且多出..

2020-05-10 12:38:24

JS安全防护算法与逆向分析——问卷星自写算法

问卷星自写算法声明:本教程从安全角度出发讲解,只为增加读者的安全知识,提升读者数据安全意识,以及对于病毒和钓鱼网站的防护能力。绝无其他任何目的与用途。在学校里经常会填写调查问卷,那这些调查问卷到底需要我们的什么信息呢?传输的时候是否会把我们的个人信息传输上去?再就是我们填写的选项到底是以怎样的形式传输的,让笔者为您详述。笔者为了测试,自己创建了一个问卷星,接下来我选择前两项,点击提交,抓包看看到底会传输什么数据。依然是我们的POST请求包,不过这次后边有一大堆的参数,我们来详细.

2020-05-10 16:33:27

JS安全防护算法与逆向分析——新浪微博登录JS加密算法

新浪微博登录JS加密算法声明:本教程从安全角度出发讲解,只为增加读者的安全知识,提升读者数据安全意识,以及对于病毒和钓鱼网站的防护能力。绝无其他任何目的与用途。新浪微博作为国内最大的即使分享社交平台,其用户基数庞大,为了进一步维护网络社交环境,阻止机器人等无用用户涌入,微博必然会提高用户登录的门槛(增强其数据加密算法)以防范爬虫机器人的存在。可事实上,就算新浪微博再怎么将其防护算法复杂化,我们依然会看到我们的个人账户上出现一些垃圾粉丝(机器人),那它们是怎么做到登录的呢?微博又是如何应对它.

2020-05-10 14:16:59

10.Erlang 记录与宏文件

一、记录1.创建记录-record(person,{name,age=0,gender="none"}).2.读取记录start(N)-> NewPerson= #person{name=N}, pprint(NewPerson).pprint(N)-> io:format("~p ~p ~p",[N#person.name,N#pers...

2020-03-21 20:04:51

9.Erlang 二进制操作

一,为什么使用二进制类型?使用低级别的编程更加可靠,而且相比于元组和列表更加节省空间。有时候大量结构化的数据必须在计算机之间相互移动,我们就需要确保数据尽可能高效传播,利用一切可以存储的位置,每个位置尽可能含有较多的信息。二,二进制类型1.内置函数转化二进制1>A={test,1,2,3,[1,2,3]}.{test,1,2,3,[1,2,3]}2> Bin1=t...

2020-02-26 09:51:48

8.Erlang C/S模式

客户端/服务器模型实现:1.服务器提供给请求客户端数字2.客户端发送allocate,则服务器返回数字给客户端3.客户端发送dellocate,可以释放一个数字4.客户端发送stop,服务器停止活动服务器实现%%serverstart()-> register(server,spawn(?MODULE,init,[])).init()-> ...

2020-02-20 17:36:56

7.Erlang 并发编程

Erlang的进程是轻量级的,它的生成,上下文切换和消息传递都是虚拟机来管理的。操作系统线程和Erlang进程没有任何关系,独立于操作系统底层。Erlang中每一个处理器或者核心处理一个操作系统线程,而Java每一个进程代表一个操作系统线程。进程传递消息,从发送进程堆复制到接受进程堆,避免了共享存储位置,每个进程都有副本。一,注意点:1.创建进程第三个参数是列表,这一点容易忽略s...

2020-02-20 17:09:27

6.Erlang 处理文本

一,常用函数1.lists:nth/2 获取列表第N个数值lists:nth(3, [1, 2, 3, 4, 5]).nth(1, [H|_]) -> H;nth(N, [_|T]) when N > 1 -> nth(N - 1, T).2.string:tokens/2 按照指定分隔符分割字符串string:tokens("a-b-c-d-...

2020-02-12 12:00:53

5.Erlang 使用列表处理数据库

-module(db).-compile(export_all).new()->[].destory(_Db)->ok.write(Key,Element,Db)-> lists:keystore(Key,1,Db,{Key,Element}).delete(Key,Db)-> lists:keydelete(Key,1,Db).re...

2020-02-11 22:54:55

4.Erlang 错误处理

一,运行错误1.function_clause:无模式匹配2.case_clause:case误模式匹配3.if_clause:if没有模式匹配4.badmatch:变量已经被绑定5.badarg:参数错误6.undef:没有函数7.badarith:算术运算错误二,处理错误1> try (X=3) of Val->{normal,...

2020-02-11 21:10:15

3.Erlang 递归和尾递归

一,递归1.将列表里的元素都+1bump([])->[];bump([H|T])->[H+1|bump(T)].2.求平均数sum([])->0;sum([H|T])->H+sum(T).len([])->0;len([_|T])-> 1 + len(T).average(T)->sum(T)/length(T).3....

2020-02-11 20:55:34

2.Erlang 输入输出

一,输入读取一行字符串或原子1> io:get_line(">>>").>>>hello"hello\n"2> io:get_chars(">>>",3).>>>hello"hel"读取Erlang项元7> io:read(">>>").>>&gt...

2020-02-11 19:04:48

1.Erlang 基础

一,整数1.Base#Value 可以表示不是十进制的数整数,比如2#1010代表二进制16#EA代表十六进制2.表示字符的ASCII数值,可以使用$character的形式,比如$a $A $\n3.数学运算符/ 浮点除法div 整数除法rem 整数取余二,原子1.小写字母开始或者是单引号括住2.字母数字下划线和@以及.都是有限的开始符号3.如...

2020-02-11 18:52:12

PyQt5打包出错:pyinstaller failed to execute script or not find or load the QT platform plugin “windows”

困扰一整天,试验找出最终解决方案:pyinstaller --hidden-import=queue --path=D:\Anacoda\Lib\site-packages\PyQt5\Qt\bin -w -F main.py注:--path为你自己的QT路径

2019-08-09 18:05:07

c语言:矩阵相乘

#include <stdio.h>int main(){ int a[4][3] = { {1,2,3}, {4,5,6}, {7,8,9}, {1,2,3}}; int b[3][3] = { { 1,2,3 }, { 4,5,6 }, {...

2019-05-06 00:52:54

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。