逆向工具
Reverse工具
一、反汇编
VS写的程序应该选择release版本,因为release是发布版本,更接近实际情况。
1 CE
本地运行的exe改内存
2 OD
动态反汇编调试
2.1 基本窗口
顶部栏:
运行:F9
重开:Ctrl + F2
单步步过:F8
单步步入:F7
运行到选定位置:F4
执行到返回:Ctrl + F9
执行到用户代码:Alt + F9
断点窗口:Alt + B
查看上一步:-
查看下一步:+
查看当前指令地址:*
反汇编窗口:
显示被调试程序的反汇编代码。
断点:F2 / 右键——Breakpoint——Toggle。
查看或修改具体汇编代码:双击Command中代码。
Comments:注释,点击可以关闭。
添加注释:双击Comments中的指定行。
找函数或地址:Ctrl + G / 右键——goto——Expression(其他窗口同理)
重新分析代码:右键——Analysis——Analyse code
窗口属性:右键——Appearance
寄存器窗口:
显示当前所选线程的CPU寄存器信息。
信息窗口:
选中的语句的相关信息。
...
流量分析理论
Flow理论
text::流量工具
一、流量分析1 Http数据包
区分手机和电脑浏览器:通过User-Agent等报头来判断用户是安卓端还是电脑端。
电脑端User-Agent:Mozilla/5.0 (Windows NT 10.0;) ...
安卓端
User-Agent:Mozilla/5.0(Linux;Android 5.1.1) ...
X-Requested-With: com.android.browser
* 蚁剑软件流量
二、流量协议1、TLS
https的加密协议
SSL/TLS是一种密码通信框架,他是世界上使用最广泛的密码通信方法。SSL/TLS综合运用了密码学中的对称密码,消息认证码,公钥密码,数字签名,伪随机数生成器等,可以说是密码学中的集大成者。
SSL(Secure Socket Layer)安全套接层,是1994年由Netscape公司设计的一套协议,并与1995年发布了3.0版本。
TLS(Transport Layer Security)传输层安全是IETF在SSL3.0基础上设计的协议,实际上相当于SSL的后续版本。
一篇文章让你 ...
数据结构与算法
数据结构与算法C++数据结构与算法
my::数据结构与算法
指针的引用
可视化数据结构与算法(usfca.edu)
〇、绪论1 数据结构
术语:
数据:信息的载体。
数据元素:数据的基本单位,由若干个数据项组成。
数据对象:同性质元素集合。
数据类型:原子类型,结构类型,抽象数据类型(类)。
数据结构三要素:
逻辑结构:线性结构,非线性结构。
存储结构:顺序存储,链式存储,索引存储,散列存储。
2 算法
算法评估:
性质:有穷性,确定性,可行性,输入,输出。
好算法:正确性,可读性,健壮性,高效率与低储存量。
时间复杂度:T( n ) = O( f(n) )
时间复杂度数学定义:若 T(n) 和 f(n) 是定义再正整数集合上的两个函数,则存在正常数 C 和 n0,使得当 n >= n0 时,都满足 0 <= T(n) <= Cf(n)
时间复杂度比较:O(1) < O(log2n) < O(n) < O(nlog2n) < O(n**2) < O(n**3) < O(2**n) < O(n!) < O( ...
github使用
github使用一、GithubDesktop安装
githubDsektop汉化1
githubDsektop汉化2
githubDsektop汉化工具
二、Github
official::github主页
official::gitguardian
github私人库给他人权限
1 基础概念
工作区:本地计算机存储和编辑代码的区域,文件都处于Untracked/Unstage(未追踪)状态。add至暂存区。
暂存区:相当于是缓冲区,文件都处于Stage(已追踪)状态。commit至本地仓库。
本地仓库:保存完整的项目历史记录。push到远程仓库,diff到工作区。
远程仓库:远程仓库。fetch至本地仓库,pull/clone至工作区。
2 github中管理
Q1:已有库添加LICENSE
A1:进入库中,点击Add file——Create New File,然后输入LICENSE,点击Choose a license template,选择模板即可。
3 token设置
进入github——头像——setting——Developer settings——Perso ...
Python
Python
Python教程1
official::Python教程
反编译
text::数据结构与算法
〇、基本概念
静态语言 编译 先编译再执行 例:C
脚本语言 解释 边编译边执行 例:python
1 pyCharm
设置中文:File——Setting——Plugins——Chinese (Simplified) Language Pack
# pyCharm中设置代码模板:设置——编辑器——模板——Python Script#-*- codeing = utf-8 -*-#@Time: ${DATE} ${TIME}#@Author: author#@File: ${NAME}.py#@Software: ${PRODUCT_NAME}
pyCharm快速添加引号: 1. ctrl + r 2. 上方填入(.*?):(.*),选择正则表达式 3. 下方填入'$1':'$2'
2 类型
不可变数据类型:Number、String ...
Transact——SQL
Transact——SQL
一、基础概念
Transact-SQL就是在标准SQL的基础上进行扩充而推出的SQL Server专用的结构化SQL,引入了程序设计的思想,增强了程序的流程控制语句等。
二、变量
全局变量:全局变量是由系统定义和维护的,用户只能使用预先说明及定义的全局变量。因此,全局变量对于用户来说是只读的。使用全局变量时必须以@@开头。
局部变量:局部变量是由用户自定义的变量,其名称命名规则同标识符的命名规则,不区分大小写。
注释符:
--:注释一行。
/**/:注释全部。
使用
# 1.声明(局部变量必须先声明才可以使用)declare @var type [, @var type , ...]# 2.赋值-- 可以多行赋值,用,隔开select @var = value [, @var = value , ...]-- 不可以多行赋值set @var = value# 3.输出print @var # print输出是文本输出,而不是一列
案例
declare @id char(8)select @id = '10010001'
...
Python爬虫
Python爬虫
text::Python
text::Html+CSS
text::计算机网络
一、基础知识1 爬虫防抓
严格遵守网站设置的robots协议。
在规避反爬虫措施的同时,需要优化自己的代码,避免干扰被访问网站的正常运行。
在设置抓取策略时,应注意编码抓取视频、音乐等可能构成作品的数据,或者针对某些特定网站批量抓取其中的用户生成内容。
在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除。
2 爬虫分类
通用爬虫:抓取系统重要组成部分,抓取的是一整张页面:
指定url
发起请求
获取响应数据
持久化存储
聚焦爬虫:建立在通用爬虫基础之上,抓取的是页面特定的局部内容:
指定url
发起请求
获取响应数据
数据解析
持久化存储
增量式爬虫:监测网站中数据更新的情况,只会抓取网站更新出来的数据。
3 反爬机制与反反爬策略
反爬机制
解释
robots.txt协议
君子协议。规定了网站中哪些数据可以被爬取,哪些数据不可以被爬取。(没有强制限定)
UA检测:检测身份
...
数据库理论
数据库理论
SQL Server 2012 安装教程
Sqlserver2012评估期已过问题解决
一、概论
二、关系
三、SQL语句
text::SQL语句
1 表类型
实表:基本关系,又称基本表或者基表,是实际存储数据的逻辑表示。
虚表:由基本表或其他的表导出的表,不对应实际存储的数据
临时表:查询结果。
四、范式1 范式理论
1NF:原子性,字段不可再分,否则就不是关系型数据库。
2NF:唯一性,一个表只说明一个事物。
3NF:每列都与主键有直接关系,不存在传递依赖。
五、安全1 安全性控制
非法访问。
2 完整性控制
数据完整。
脏数据:
在数据库技术中,脏数据在临时更新(脏读)中产生。事务A更新了某个数据项X,但是由于某种原因,事务A出现了问题,于是要把A回滚。但是在回滚之前,另一个事务B读取了数据项X的值(A更新后),A回滚了事务,数据项恢复了原值。事务B读取的就是数据项X的就是一个“临时”的值,就是脏数据。
3 并发性控制
事务:
原子性:操作不可中断。
一致性:成功改变状态。
隔离性:事务间不可互相干扰。
持久性:改变恒存在。
并发
封锁: ...
masm32汇编
masm32汇编
masm32下载
〇、环境配置
下载安装:
注 Win10 下可能安装失败。(兼容打开,或关闭防火墙)
环境配置:
变量名
变量值
include
D:\masm32\include
lib
D:\masm32\lib
PATH
D:\masm32\bin
执行:
编译:ml /c /coff eg.asm(源程序:*.asm,包含文件:*.inc(列表文件:*.lst))
链接:link /subsystem:console eg.obj [eg.lib...]
指明库文件编译:link /OUT:eg.lib eg.obj(目标模块文件:*.obj,库文件:*.lib)
事先设置好后使用:MAKE32.BAT 1.asm设置如下@echo offREM make32.bat,for assembling and linking 32-bit Console programs(.exe)ml /c /coff /Fl /Zi %1.asmif errorlevel 1 goto terminate ...
基础汇编
基础汇编
一、基础知识
基础:
text::计算机组成原理
注意事项:
小端模式:高地址高字节,低地址低字节
数据不能以字母开头,所以:0FFFFH
安全空间:0:200H - 0:2FFH
二、寄存器1 普通寄存器
通用寄存器(AX,BX,CX,DX( 分高低位:AH,AL)):
AX:累加寄存器。
BX:基址寄存器,用于内存寻址。( ds:[bx] )
CX:计数寄存器,用于 loop 循环。
DX:数据寄存器。
段寄存器(CS,DS,SS,ES(IP,SP)):
特点:数据不能直接送入段寄存器,需要用寄存器送入段寄存器。
CS:代码段寄存器,IP:指令指针寄存器,CS:IP(CS*10H + IP)寻址。
DS:数据段寄存器,[p] 的地址寻址默认是 DS:[ p ]。
SS:堆栈段寄存器,SP:堆栈指针寄存器,SS:SP指向栈顶元素。(SS被修改后下一条指令也会被执行。所以mov ss,ax; mov sp,10; 会一次性被执行)
ES:附加段寄存器。
其他:
SI:源变址寄存器(无法分高低位)
DI:目的变址寄存器(无法分高低位)
BP:基 ...