自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 你安全吗网剧技术探讨-个人向

花了两三天时间刷完了网剧 你安全吗,说实话还是挺好看的,剧情跌宕起伏,还没有那么多情情爱爱,并且传播给观众各种网络安全意识。剧中出现了大量技术相关,所以想写一篇文章来对一些我知道的技术进行探讨,当然这些都是我的个人观点,不喜勿喷。不对的地方也请大神们指正。说实话,虽然也有一些bug,但是总的来说是一部很注重细节的剧了,在我心中打个9分(满分10),期待第二季,以上的解析如有错误以及不全面的地方,希望大佬补充。

2022-10-23 17:02:52 2621 14

原创 探究CSAPP实验二-bomb lab-第一节

之前学过一点汇编但是已经忘了,在工作中遇到所以重新开始学习,bomblab即有趣又可以学习gdb的调试以及汇编代码的阅读,所以重点学习。此项目的地址为csapp实验地址以下为学习笔记。计划分为三篇文章来详细记录过程,本文为系列中的第一篇。下载好项目后里面有个pdf文档,对这个项目进行了讲解。意思概括为要成功拆除一个炸弹分为几个阶段,每个阶段都要输入相应的字符串才能拆除成功(stdin-标准输入),如果中间一个阶段拆除失败则炸弹爆炸。文件目录如下**LICENSE*https。...

2022-07-21 19:37:32 1218

原创 登录模块调试-软件调试入门

本人一直对软件调试,逆向等挺感兴趣,但是说实话这东西很难入门。之前知道一本书叫《0day安全软件漏洞分析技术》,但一直没看,最近有空看了一下发现这本书写的挺好,虽然是09年的书但很多东西其实不过时。所以想写个博客记录下书中的实验。本实验的主要收获是理解了PE文件与虚拟内存的映射关系,学习了虚拟内存与文件偏移等进行换算的公式,对win32下的二进制文件理解更深刻。httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...

2022-07-20 14:36:57 860

原创 探究阿里云物联网开发板1-Haas 100

已经很久没写博客了,昨天接触了下阿里云的物联网开发板haas100。之前玩过树莓派,但是说实话我之前玩的树莓派和嵌入式还是有区别,我是直接远程连接上树莓派,在树莓派的操作系统上进行操作,而昨天接触的Haas100更多的是嵌入式编程即在我的Win10系统上完成代码编写再烧录进开发板中。虽然阿里云上有官方文档,但我还是遇到了一些问题,所以想记录下,记录的内容比较浅,大佬勿喷。另附阿里云上的官方文档Haas100快速开始需要说明的是阿里云官方文档Haas100快速开始httpshttps。...

2022-07-15 11:30:56 2618

原创 探索Linux 内核创建一个新进程的过程-树莓派实现

Linux 内核创建一个新进程描述进程的数据结构分析fork使用gdb调试总结描述进程的数据结构在Linux内核中使用task_struct这个结构体来描述进程。完整代码可以见详细代码,task_struct结构非常复杂,里面有进程的状态,进程双向链表管理等等。以下为Linux内核管理进程状态转换图进程有五个状态,进程的创建-进程的就绪状态-进程的阻塞状态-进程的运行状态-进程的终止状态。首先使用fork方法来创建一个子进程,注意这里有两个TASK_RUNNING但不同的是一个是就绪,一个是运行

2022-04-10 17:02:05 129

原创 跟踪分析 Linux 内核的启动过程-树莓派实现

跟踪分析 Linux 内核的启动过程跟踪Linux内核启动代码分析start_kernel()函数init_task()函数rest_init()函数总结与反思跟踪Linux内核启动之前写了个博客安装openEuler系统的树莓派使用qemu模拟一个内核的运行,里面讲了配置,不同的是我接下来的调试用的都是linux-5.0.1版本内核。gdb调试内核时必须加两个参数,第一个参数是 -s,这个-s是在1234端口上创建一个gdb-server当打开另一个窗口时,用gdb把带有符号表的内核镜像加载进来,连

2022-04-09 21:04:26 985

原创 探索反汇编-基于树莓派

探索反汇编-基于树莓派进行反汇编准备一段C语言程序对这段程序进行反汇编进行反汇编准备一段C语言程序代码如下:int g(int x){ return x+6;}int f(int x){ return g(x);}int main(){ return f(17)+1;}结构很简单,main函数里调用f函数,f函数调用g函数。对这段程序进行反汇编感觉树莓派没有32位汇编,所以只能编译为64位汇编,使用如下命令:gcc -S test.c -o test.s 使用c

2022-04-09 16:28:17 131

原创 安装openEuler系统的树莓派使用qemu模拟一个内核的运行

安装openEuler系统的树莓派使用qemu模拟一个内核的运行前言安装qemu在树莓派中安装menu和下载编译linux-3.18.6内核在树莓派上下载menu下载linux-3.18.6并编译理解进程调度时机跟踪分析进程调度与进程切换的过程前言首先要在树莓派安装openEuler系统以及安装图形化桌面,可以参考我之前的博客树莓派4b-入门以及树莓派openEuler系统如何实现可视化桌面安装qemu这里参照了博客openEuler上如何安装qemu,需要注意的是如果在下载了qemu-6.1.0后

2022-01-07 10:50:52 1005

原创 Linux内核分析总复习

Linux内核分析复习gcc测试gcc预编译其为预编译文件.igcc编译其为汇编文件gcc编译.c为.o最后执行它gcc静态链接准备程序进行编译gcc动态链接这段学习旅程做了许多的练习,想再用博客记录一下,特此记录。gcc测试gcc编译一个文件可以-E预编译其为预编译文件,-S编译其为汇编文件,-c使其汇编变为.o文件,最后链接为可执行文件。为了更好记忆,编译命令是ESc,编译的文件是isogcc预编译其为预编译文件.igcc -E test.c -o test.i编译的test.c代码如下

2022-01-05 11:17:36 549

原创 树莓派openEuler系统如何实现可视化桌面

树莓派openEuler系统如何实现可视化桌面前言首先openEuler上安装图形化界面putty+xming使用VNC viewer连接并显示图形化界面参考文档前言今天是2021年最后一天,提前祝大家新年快乐,2021年对我也是一个不平凡的一年,经历了许多事情,希望自己可以不忘初心,继续前进。之前的博客我已经写了树莓派安装openEuler系统。详见我的博客树莓派入门。想玩玩图形化界面但是网上并没有一个完整的文档来讲解openEuler系统如何安装并使用图形化界面,所以通过查阅资料,整理如下:注:以

2021-12-31 17:38:26 1868

原创 Linux四大安全实验四-基于实验楼平台的学习

格式化字符串漏洞实验

2021-12-12 14:56:03 151

原创 Linux四大安全实验三-基于实验楼平台的学习

缓冲区溢出漏洞实验

2021-12-11 22:45:11 3662 1

原创 初探缓冲区溢出

初探缓冲区溢出

2021-12-11 17:17:18 2629

原创 汇编与反汇编入门-X86 AT&T汇编

汇编与反汇编入门

2021-12-09 22:04:45 4601 1

原创 Linux四大安全实验二-基于实验楼平台的学习

ShellShock攻击实验前言何为ShellShock搭建环境bash自定义函数进行复现深究源码总结前言要理解这个实验可能需要一些set-uid程序的基础,详见我的上一篇博客何为ShellShockShellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。以上

2021-12-05 15:44:00 3070

原创 Linux四大安全实验一-基于实验楼平台的学习

SET-UID程序漏洞何为SET-UID?bash和zsh不同注意环境变量Linux参数传递与exec族实战system安全性execve安全性LD_PRELOAD环境变量安全性何为LD_PRELOAD环境变量小实验结论消除和清理特权setuid作用进行实战总结何为SET-UID?SET-UID是Linux中的一个重要安全机制,比如用户甲拥有root权限,甲拥有一个可执行文件a(注意一个文件的权限有r-可读,w-可写,x-可执行,s-特殊权限,即set-uid),用户乙执行这个文件a即可获得甲的root

2021-12-05 10:07:39 344

原创 理解进程调度时机跟踪分析进程调度与进程切换的过程-基于实验楼

理解进程调度时机跟踪分析进程调度与进程切换的过程进程调度schedule函数进程调度时机gdb调试schedule()函数总结进程调度schedule函数Linux内核通过schedule函数来实现进程的调度,schedule详细代码见代码。schedule函数在运行队列中找到一个进程并将CPU分配给它。换句话说调用schedule函数一次就是进程调度一次。进程调度有两种方法方法1是进程主动调用schedule(),如进程调用阻塞的系统调用等待外设或主动睡眠等,最终都会在内核中调用到schedu

2021-11-21 21:02:43 690

原创 学习Linux 内核如何装载和启动一个可执行程序

学习Linux 内核如何装载和启动一个可执行程序ELF文件格式概述ELF文件三种类型ELF文件结构编程使用 exec*库函数加载一个可执行文件小demo-尝试execve的功能(exec族)可执行程序运行时动态链接可执行程序装载时动态链接ELF文件格式概述目标文件是编译器生成的文件,"目标"指目标平台,常见的有x86,arm等,决定编译器使用机器指令集,手机就常用arm架构。目标文件一般叫ABI(应用程序二进制接口),目标文件和目标平台应该兼容比如x86汇编只能在x86架构平台下执行,不能在arm架构

2021-11-14 15:32:03 1043

原创 Linux内核编译和系统调用-血的教训

Linux内核编译和系统调用前言前期准备首先知道自己linux系统的内核提前准备以下库(防止中间报错)找到合适的准备编译的内核版本修改代码-准备实现系统调用下载内核版本修改sys.c文件修改syscalls.h文件加入系统调用号(这里特别重要)编译内核验证系统调用需要注意的问题1.要留出充足的空间2.在配置.config文件时要删除点东西3.grub引导总结前言这真的是血的经历,这个内核编译差不多搞了四天,出了很多错,多次崩溃,所以为了让各位少踩点坑,我准备写个博客来记录一下,希望有需要的各位少走点弯路

2021-11-09 20:29:10 1993 1

原创 探索Linux 内核创建一个新进程的过程

Linux 内核创建一个新进程一级目录二级目录三级目录一级目录二级目录三级目录

2021-11-07 15:21:43 368

原创 分析system_call中断处理过程(基于实验楼平台)

分析system_call中断处理过程前言给MenuOS增加命令使用gdb跟踪调用内核函数sys_getpidgdb调试查找sys_getpid和system_call代码画出流程图总结前言之前我们使用了两种方法进行了系统调用,一种是使用库函数(调用API),第二种是C语言嵌入内嵌汇编。详见博客给MenuOS增加命令首先可以删除实验楼自带的系统,然后再git clone一个新的,这样减少了编译过程,一个make搞定我们进入menu中的test.c,新增我上一次博客中的两个功能的代码(一个API,

2021-10-31 17:51:53 435

原创 汇编语言练习(在树莓派4b上实现)- 基于《奔跑吧,Linux内核第二版》

汇编语言实现前言实验一 查找最大数编写汇编代码运行代码调试代码实验二 通过C语言调用汇编编写汇编代码编写C语言代码运行代码实验三 通过汇编语言调用C函数编写C语言代码编写汇编语言代码执行代码实验四 gcc内联汇编前言对于树莓派系统的安装请见我之前写的博客安装过程以下写的汇编代码都是arm64语言实验一 查找最大数编写汇编代码我们要实现的功能是在一个数组中查找数组中的最大值,汇编代码如下:.section .data .align 3 my_data: ;my_data是一个数组

2021-10-31 09:31:24 699

原创 树莓派4b-入门

树莓派入门树莓派散热片的安装烧录系统进SD卡下载最新系统烧录进SD卡登录系统(设置可远程登录)安装openssl并测试安装并配置openssl测试openssl树莓派散热片的安装第一次接触树莓派有点小小的激动,可以看到有好几个散热片,大致以如下图的方式安装当然这个位置可以大致摸索烧录系统进SD卡下载最新系统这里安装的是openeuler系统,可见网站openEuler可以下载最新的系统第下载第一个镜像,第二个文件用于验证,防止文件伪造。烧录进SD卡树莓派套装中有一个SD卡,有一个U

2021-10-30 10:47:44 1068

原创 程序员节开心的学习使用两种方式进行同一系统调用

库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用C语言库函数号使用库函数API实现需要用到的函数和头文件说明代码实现过程复现使用C语言中嵌入汇编实现系统调用代码实现过程复现汇编代码调用系统调用的工作过程总结C语言库函数号以下是基于linux/x86/arch下的系统调用系统调用比如1号就是退出,2号就是read等等。一般要引入库文件比如经典的库文件time.h,math.h,string.h等。使用库函数API实现需要用到的函数和头文件说明接下来我要实现第20号的调用(注

2021-10-24 20:14:56 196

原创 跟踪分析Linux内核启动过程-基于实验楼

1

2021-10-17 11:03:32 477

原创 探索操作系统如何工作(通过一个时间片轮转内核程序)-基于实验楼

分析时间片轮转多道程序内核代码使用实验楼平台 编译内核操作步骤操作流程写入代码mypcb.h文件myinterrupt.cmymain.c执行代码代码分析操作系统如何工作使用实验楼平台 编译内核操作步骤首先进入实验楼环境,然后按如下步骤来一步一步编译内核,使用qemu模拟器来进行模拟# 注意路径是区分大小的$ cd ~/LinuxKernel/linux-3.9.4$ rm -rf mykernel$ patch -p1 < ../mykernel_for_linux3.9.4sc.

2021-10-10 22:20:23 84

原创 探索反汇编-在Linux环境下

汇编小白对反汇编的探索进行反汇编尝试-基于简单的C程序汇编基础知识对之前的汇编代码进行分析计算机如何工作进行反汇编尝试-基于简单的C程序使用Linux系统进行汇编,在Linux中使用vim编写程序,学过C语言的应该都对下面这段程序不陌生,这段程序定义了三十函数,函数名分别为g,f与main,在g函数中我们输入局部变量x的值,返回的是局部变量x+6,在f函数,返回的是g函数得到的值,在main函数中返回的是f函数的值(这个f 函数中局部变量已经指定为17)加上1。int g(int x){ retu

2021-10-03 21:45:37 826

原创 学习Linux-Week1-基于实验楼

Linux第一周-基础练习1.何为Linux2.Linux安装3.用户管理3.1 创建用户3.2 用户组3.3 删除用户4.用户及权限管理4.1 查看文件权限4.2 变更文件所有者4.2 修改文件权限5.Linux 目录及结构文件基本操作5.1 Linux文件基本操作5.1.1 文件的新建5.1.2 文件的复制5.1.3 文件的删除5.1.4 移动文件与文件重命名5.1.5 文件的查看5.1.5 查看文件的类型5.1.6 作业5.环境变量与文件查找5.1 环境变量5.2 文件查找5.2 作业6.挑战6.文件

2021-09-28 21:26:27 340 2

原创 手撕leetcode547题-省份数量(DFS)

今天刷到了leetcode的547题也就是每日一题,昨天的除法真的好难,连续两天每日一题出了图论的题着实让我意外,图论的题首先就想DFS,BFS或者并查集(虽然我不咋会)。这个题不例外。应该是找连通分量的意思,特点是一个独立的点也算一个连通分量。比如例1:1与2是相联的,算一个连通分量,点3是单独的算一个连通分量所以连通分量数为2,例2三个点均没有交点所以连通分量为3。再举一个例子:如图:只有一个连通分量所以最后得到的输出为1。分析到此就很明显了其实就是一个DFS解决。题外话总结一下DFS和B

2021-01-07 19:59:22 248

原创 探索摩尔投票法--基于C++实现

最近发现了一个比较有意思的选出众数的方法也就是摩尔投票法,据说最开始是出自某论文,不得不敬佩于写这篇论文人的智慧,所以想在此记录一下。在此注明:摩尔投票法适用于众数在 在一堆数出现频率中超过一半的情况,如以下数:2 2 1 1 1 2 2可以看到一共7个数,其中2出现的频率出现了4次大于n/2,2就是我们要求的众数摩尔投票法详细步骤如下:1.初始选择数组中的第一个元素为我们的候选人,初始票为02.遍历数组如果出现的数与候选人相同则票数加1如果出现的数与候选人不相同且票数不为零则出现冲突,票数

2021-01-04 15:33:22 471

原创 数学小白的探索-欧拉和费马

一些数学趣史很久没有发表文章了,也许是最近闲的让一向数学其差的我没事看了看数学,发现很多事还比较有趣,特此拿出来分享一下下。对于欧拉这种大数学家大家一定不会陌生,比较著名的就是欧拉公式,被称为最美的公式。集合了大自然中的e,圆周率 π,实数最基本单位1,还有我们最常见的0以及虚数单位i。欧拉公式如下: 集合了五种元素。可能我智商不够也并没有看出他的美,真是不好意思但是据说有很多的运用...

2020-03-21 22:54:11 1204

原创 对于bugku中杂项啊哒题的尝试解法

第一次写csdn博客写得不好请见谅,本人刚开始玩CTF,选择了大家比较好评得bugku,今天遇到了一个很有意思的杂项题叫啊哒如下话说这个第七届山东省大学生网络安全技能大赛总感觉难度很变态,有兴趣的朋友可以尝试去做bugku安卓里的签到题(签到题都这么变态)。说回正题,下载这个文件发现是一个图片说到杂项我第一个想到的是拿去winhex分析,使用winhex打开这个图片没发现什么异样那我又...

2020-02-16 16:00:12 871

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除