菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
445
0

二进制安全

原创
05/13 14:22
阅读数 36927

二进制安全学习(2021.04.12)

基础知识准备

1、进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

2、寄存器

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。

按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。

3、常见的汇编语言及寄存器
OP码

MOV 传送字或字节

PUSH 把字压入堆栈

POP 把字弹出堆栈

ADD 加法

SUB 减法

CMP 比较

AND 与运算

OR 或运算

XOR 异或运算

NOT 取反

TEST 两个操作数与运算,仅修改标志位,不回送结果

JMP 无条件转移指令

CALL 过程调用

RET/RETF 过程返回

.........

寄存器

EAX:累加器

EBX:基址寄存器

EXC:计数器

EDX:数据寄存器

EBP:扩展基址指针寄存器

ESI:源变址寄存器

EDI:目的变址寄存器

ESP:栈指针寄存器

3、常见漏洞

格式化字符串漏洞

整数溢出

栈溢出

返回导向编程(ROP)(x86/ARM)

Linux堆利用

Linux/Windows内核漏洞利用

......

4、字节序

字节序是多字节数据在计算机内存中存储或网络传输时各字节的存储顺序,主要分为两大类,一类是小端序,另一类是大端序

字节长度为一时:

存储顺序相同

字节长度不为一时:

小端序采用逆序方式储存数据

大端序采用顺序方式存储数据

常用的工具及工具

windbg、ollydbg、IDA、X64dbg、VMware

一台Ubuntu的虚拟机(用来做PWN题)

有关二进制安全的书籍

《逆向工程核心原理》

《黑客之道漏洞发掘的艺术》

《CTF 竞赛入门指南(CTF All In One)》

《汇编语言》

《C++黑客编程解密与防范》

编程基础

1、C/C++

速度快,易上手,但是精通难

2、Python

速度慢,极易上手,适合写一些脚本

学习方法

1、坚持学习

2、多写题

3、要多问

结语

2020年大一新生,专业为信息安全

安全不是兴趣,金钱才是

当前网络安全人才缺口很大

当学习一个东西的时候,要坚持

坚持不下来,就写成博客

博客的目的:就是记录分享自己的学习之路。

我很喜欢看小说,最喜欢的是《雪中悍刀行》

最后一句话与君共勉

我喝过很烈的酒,也放过不该放的手,从前不会回头,往后不会将就

发表评论

0/200
445 点赞
0 评论
收藏
为你推荐 换一批