- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 git专题最后一节
在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。git rebase可以让git log分叉的提交现在变成一条直线了,方便我们观察。
2023-07-27 15:59:16
129
原创 git学习专题六
创建dev分支并切换到dev分支方法二这两种方法等效可以用git branch 查看当前分支git branch对readme.txt现在,dev分支的工作完成,我们就可以切换回master切换回master分支后,再查看一个readme.txt文件,刚才添加的内容不见了!因为那个提交是在dev分支上,而master分支此刻的提交点并没有变:现在,我们把dev分支的工作成果合并到mastergit merge命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和。
2023-07-26 20:47:48
105
原创 git学习专题四
如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失。场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退介绍的,不过前提是没有推送到远程库。命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令。只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
2023-07-23 18:25:03
80
原创 git学习专题三
在实际工作中,我们怎么可能记得一个几千行的文件每次都改了什么内容。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git loggit log命令显示从最近到最远的提交日志git log如果嫌输出信息太多,看得眼花缭乱的,可以试试加上把当前版本回退到上一个版本回退成功此时我们再用git log 查看,最新的哪个版本已经看不到了但是如何恢复最新的那个版本呢?我们要知道以前的版本号,如图以下是我的版本号然后git reset版本回退,commit id 不必要输完整,它会自动查找。
2023-07-22 11:15:01
71
原创 git学习专题二
原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是。
2023-07-21 17:09:42
80
原创 控制台欢迎窗口实现
GetStdHandle是一个Windows API函数。它用于从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄(用来标识不同设备的数值)。因为很多API函数都需要用到句柄,所以GetStdHandle是一个很重要的函数。GetStdHandle函数的参数可以是下列之一。
2023-07-14 18:38:00
157
1
原创 学习汇编的第十天
db define byte 8位 00~FFdw define word 16位 0000~FFFFdd define dword 32位 00000000~FFFFFFFF。
2023-05-21 22:04:26
116
原创 学习汇编的第八天
我们可以发现a和A之间(大写与小写之间)相差了20H,转化成10进制是32 2^5我们只需修改第六位就能实现大小写之间的相互转化a and 1101 1111 就能实现‘a’转化成‘A’A or 0010 0000 就能实现‘A’转化成‘a’
2023-05-18 22:10:05
306
原创 攻防世界-crtpt
在密码学中,RC4(Rivest Cipher 4,也称为ARC4或ARCFOUR,意为所谓的RC4)是一种流密码。尽管它以简单性和软件速度着称,但在RC4中发现了多个漏洞,使其不安全。当不丢弃输出密钥流的开头或使用非随机或相关密钥时,它特别容易受到攻击。RC4的使用特别有问题,导致协议非常不安全,例如WEP。参数名说明SS-box,长度为256的char型数组,char S[256]K密钥Key,用户自定义,长度在1~256,用来打乱S-boxT临时变量,长度为256的char型数组D。
2023-05-13 14:16:36
276
原创 攻防世界-tt3441810
那么我们先试着最简单的破解密码,也就是将该文本转化成ASCII,可以自己写脚本也可以去网上找网上在线转码的,我这里是用网上的(懒)发现hflHHHhagHHHh这一串中把H和删除,flag就出现了,那么我们继续改善代码,过滤掉h和H。我们可以看到该文件不是exe文件或者dll文件,只是一个文本,我们我们以记事本的形式打开文件。这里其实是一个小坑,把flag{}给删除就可以了,只需要输入poppopret,就正确啦。得到flag为flag{poppopret},这样总没错了把,但是提交一直是失败。
2023-05-13 10:27:45
178
原创 攻防世界-1000Click
这题我们有三种方法来获取flag,第一种我们是借助Cheat Engine工具后两种是我们熟悉的动态分析和静态分析。
2023-05-12 22:55:07
1320
3
原创 学习汇编的第四天
对于代码段,我们可以修改CS:IP这两个寄存器去指向我们定义的代码段这样CPU就将执行我们定义的代码段中的指令对于栈段来说我们可以修改SS,SP这俩个寄存器去决定栈顶标记在哪里,这样CPU在执行栈的操作时,不如push pop就会将我们定义的栈段当作栈空间进行临时性的数据段存放或者取出不管怎么安排CPU将内存中某段内容当作指令是因为CS:IP指向那里CPU将某段内存当作栈空间是因为SS,SP指向那里我们要清楚,我们如何安排内存,以及如何让CPU按照我们的安排去行事。
2023-05-12 12:06:41
190
原创 学习汇编的第三天
出栈 pop 将栈顶标记所标记的字符数据 (16位寄存器或者内存中的字型数据)取出后修改栈顶标记地址-4h。作用一:当我们调用call的时候,会把当前的地址保存到栈中,然后通过ret指令返回到当前地址。入栈 push 将16位寄存器或者内存中的字型数据 标记在栈顶 修改栈顶标记地址-4h。我们再执行push ax的时候栈顶就会越界,修改到其他的指令或者数据造成一连串的错误。我们就可以决定栈顶标记在哪里从而决定栈在哪里和栈的大小。那么栈的上限或者栈的下限来规定栈的大小?call指令将指令保存到哪里去了?
2023-05-11 23:01:27
113
原创 学习汇编的第二天
字型数据 2byte=16bit -16位寄存器中 2个字节:一个字节是这个字型数据的高位字节(AH,BH,CH,DH),还有一个字节是这个字型数据的低位字节(AL,BL,CL,DL)都是二进制信息,CPU只有在工作的时候才将有的信息当作指令,有的信息当作数据,CPU将CS:IP所指向的内存单元中的内容当作指令。数据与寄存器之间要保持一致性,8位寄存器和8位寄存器保持一致,8位数据和8位寄存器保持一致。CPU从内存中读取一个字节 8bit 字节型数据 8位是数据 ——>8位寄存器中。
2023-05-11 16:28:26
64
原创 正式学习汇编的第一天
从内存中读取1024字节的数据,8086至少要读(1024/16)512次,80386至少要读(1014/32)256次。数据信息 数据线 阶段顶了 CPU和其他部件进行数据传送时,一次性能够传送多少字节的数据。比如数据线有8根就代表着他能传送8个二进制的数据也就是两个字节的数据 也就是4个16进制位。编译器是一个翻译软件,我们通过他将汇编指令编译成机器指令,汇编更贴近人类的思维。1个CPU的寻址能力为8KB,那么他的地址总线宽度为 8*1024=2。
2023-05-11 16:12:15
92
1
原创 攻防世界-easyRE1
IDA打开找到main函数双击F5反编译后,我们可以直接看到flag的值为db2f62a36a018bce28e46d976e3f9864。然后在攻防世界输入:flag{db2f62a36a018bce28e46d976e3f9864}我们随机先选一个文件用Exeinfo工具查壳,我选择是easy-32。我们可以发现该程序为ELF文件 32位 ,没壳。一个是32位的文件,一个是64位的文件。首先下载文件,下载好是一下两个文件。用64位的如上面分析也是这个结果。成功提交,果真easy。
2023-05-10 12:00:03
411
1
原创 攻防世界-Reversing-x64Elf-100
伪代码:结构清晰、代码简单、可读性好,并且类似自然语言。介于自然语言与编程语言之间。IDA是静态反编译(静态即是不运行程序的情况下分析代码流程),根据程序是32位和64位来使用。发现该程序是ELF的64位的程序,且无壳,我们就可以用IDA64位程序静态编译IDA打开程序。OD是x86动态反编译(静态即是运行程序的情况下分析代码流程),只能反编译32位的程序。我们的程序32位(x86)程序和64位(x64)程序。Windows操作系统能识别的是文件是PE文件。Linux操作系统能识别的是文件是ELF文件。
2023-05-10 10:11:04
1056
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人