自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一点涵的博客

这家伙很懒

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

转载 【转】PWN——GCC编译中几种保护打开和关闭的参数

PWN——GCC编译中几种保护打开和关闭的参数转载于:https://blog.csdn.net/lonyliu/article/details/90341012好记星不如烂笔头:NX:-z execstack / -z noexecstack (关闭 / 开启) 不让执行栈上的数据,于是JMP ESP就不能用了Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全开启) 栈里插入

2022-03-17 11:23:48 674

原创 学习打卡9:函数返回值

督促自己:2020-9-17学习记录:《逆向工程权威指南》上返回值x86中,通常通过EAX寄存器返回运算结果。返回值属于bty或char类型数据:存储在EAX寄存器的低8位--------AL寄存器返回值属于float类型数据:存储在FPU的ST(0)寄存器ARM系统,通常使用R0寄存器回传返回值。1.void型函数的返回值main()函数数据类型是void的时候,void类型函数的返回值、也就是主函数退出代码往往属于伪随机数。#include<stdio.h>void

2020-09-18 09:36:35 343

原创 学习打卡8:参数获取

督促自己:2020-9-16学习记录:参数获取:#include <stdio.h>int f (int a, int b,int c)( return a*b+c;);int main(){ printf("%d\n",f(1,2,3)); return 0;);x86MSVC关键汇编代码:从被调用方函数的数据栈的角度来看,外部参考的偏移量是正值,而局部变量的偏移量是负值。当需要访问栈帧(stack frame)以外的数据时,被调用方函数可把会变宏(

2020-09-16 22:40:21 183

原创 学习打卡7:scanf()函数和鲸鱼优化算法

督促自己:2020-9-15学习记录:《逆向工程权威指南》上scanf()函数:局部变量x:#include<stdio.h>int main(){ int x; printf("Enter X:\n"); scanf("%d",&x); printf("You entered %d...\n",x); return 0;}X86MSVC汇编:序言中,PUSH ECX指令作用不是为了保存EXC的值,是为了在栈内分配4个字节的空间、用来储

2020-09-15 18:04:05 1460

原创 学习打卡6:printf()函数 和 babydriver

督促自己:2020-9-14学习记录:《逆向工程权威指南》上printf()函数与参数传递#include<stdio.h>int main(){ printf("a=%d;b=%d;c=%d",1,2,3); return 0;};X86传递三个参数,在MSVC下的汇编:printf()函数的参数以逆序存入栈中;32位环境下,32位地址指针和int类型数据都占据32位/4字节空间,所以四个参数共占用:4x4=16字节“add esp,X”指令修正e

2020-09-15 15:09:47 378

原创 学习打卡5:栈与kernel base

督促自己:2020-9-11学习记录:《逆向工程权威指南》上函数序言和函数尾声函数序言汇编指令大致如下:push ebpmov ebp,espsub esp, X指令的功能室:在栈里保存EBP寄存器的内容,将ESP的值复制到EBP,然后修改栈的高度,以便为本函数的局部变量申请存储空间。函数尾声:mov esp,ebppop ebpret 0函数在退出时,要做启动过程的反操作,释放栈中申请的内存,还原ESP寄存器的值,将代码控制权还原给调用函数(callee)栈栈是CPU寄存

2020-09-11 18:40:00 406

原创 学习打卡4:堆漏洞的利用技术与技巧与堆风水学习

督促自己:2020-9-10学习记录:《逆向工程权威指南》上ARM64ARM64的CPU中可能运行于ARM模式,不可能运行于 Thmub 或者 Thmub-2 moshi ,所以它必须使用32位指令。STP(Store Pair) 指令是把寄存器的值存储到内存中的任意地址,明确是sp寄存器时,是存储在栈中。感叹号标志意味着其标注的运算会被优先执行。(这属于“预索引/pre-index”指令,对应“延迟索引/post-index”指令)在ARM64中,X29寄存器时帧指针,X30起着LR的作用

2020-09-10 22:56:10 2042

原创 每日打卡3:HelloWorld

督促自己:2020-9-8学习记录:《逆向工程权威指南》上Hello Word!cl 1.cpp /Fa 1.asm通过MSVC编译程序,/Fa选项将使编译器生成汇编指令清单文件,并指定汇编列表文件的文件名。.exe 文件生成过程:先生成 .asm 文件,然后会生成 .obj文件,再将之链接为可执行文件 .exe。在汇编指令清单里,所有函数(包括主函数)的函数体有标志性的函数序言和函数尾声。在函数的需要标志后就是call _printf指令。通过push,程序把字符串的指针推送如入栈,pri

2020-09-09 21:45:46 305

原创 学习打卡2:off-by-null

督促自己:2020-9-8学习笔记:《逆向工程权威指南上》12:指令集架构:x86指令集架构(ISA),opcode长度不同;ARM指令集架构(精简指令集RISC),opcode相同,机器码都封装在4个字节里面(ARM模式),或封装在2个字节里面(Thumb模式)x/86:函数返回值在eax中使用“栈”结构存储上述返回地址ARM:使用LR寄存器存储函数结束的返回地址BX LR 指令的作用就是跳转到返回地址MIPS:寄存器命名方式有两种:数字命名($0 ~ 31)和伪名称命名(

2020-09-08 18:11:08 870 1

原创 学习打卡1:pwn环境搭建

pwn环境搭建及错误记录

2020-09-07 16:55:21 716

原创 错误记录

ROPgadget突然抽风,出现错误:$ ROPgadget -help Traceback (most recent call last): File "/usr/local/bin/ROPgadget", line 4, in <module> __import__('pkg_resources').run_script('ROPGadget==5.8', '...

2019-12-14 00:06:29 2626 3

原创 做题记录

做题记录Reversing-x64Elf-100将其拖入ida,F5反汇编查看,代码很简单找到关键函数:sub_4006FD,查看:是个二维数组的比较函数,通过python脚本得出flag:v3 =["Dufhbmf","pG`imos","ewUglpt"]password = ''for i in range(12): password +=chr(ord(v3[i %...

2019-09-03 15:48:54 164

原创 做题记录

xctf之ReverseMe-120题目传送门:这里主要:base64wp:下载,看到是exe文件,去查壳,发现无壳,是Vc++编写的,用IDA查看了一下代码。发现要到达"correct"就得通过v9,v9是通过字符串"you_know_how_to_remove_junk_code"比较得到,寻找v13,发现for循环中:*(&v13 + v4) ^= 0x25u,与0x25...

2019-08-30 00:12:56 262

原创 知识杂记

知识杂记之gdb命令(二)

2019-08-27 21:33:33 447

原创 知识杂记

小知识杂记:write()函数:函数定义:ssize_t write (int fd, const void * buf, size_t count);函数说明:write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。read()函数函数定义:s...

2019-08-21 00:17:21 139

原创 知识杂记

知识杂记之gdb peda命令examine命令(简写是x)来查看内存地址中的值:x/<n/f/u> <addr>参数:(1)n、f、u是可选的参数。三个参数能够一起使用n是一个正整数,表示需要显示的内存单元的个数。就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。f 表示显示的格式。如果地址所指的是字符串,那么格式可以是s,如...

2019-08-21 00:16:55 194

原创 做题记录

逆向key题目传送门:https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=1&id=5006题目附件百度网盘链接:https://pan.baidu.com/s/1T6kop6eH4FfeFjU51NvWKw提取码:gd7awp运行key.exe,程序输出一闪而过,程序崩溃。通过...

2019-08-02 13:12:07 213

原创 tinyCTF 2014 tt3441810

tt3441810 wp(未完成解析版)下载压缩包解压文件,得到一个未知文件rev100,在linux中通过file命令解析文件file rev100rev100: ASCII text, with CRLF line terminators返回的是一个 ASCII text,使用cat命令或者winhex打开cat rev10000400080 68 66 6C 00 00 48...

2019-04-23 16:46:21 1306

鲸鱼优化算法c++代码实现

鲸鱼优化(Whale Optimization Algorithm, WOA)算法是澳大利亚格里菲斯大学的Mirjalili 等于2016年提出的一种新型的群体智能优化方法,它的思想来源于海洋中座头鲸独有的特殊捕食行为,算法通过鲸鱼包围、气泡攻击猎物等过程实现优化搜索目的。该算法具有原理简单、操作简易,易于实现,需调整的参数少及鲁棒性强等特点。在函数优化方面,WOA 算法在求解精度和稳定性上要明显优于粒子群(PSO)、差分进化(DE)和 引力搜索(GSA)等算法。同时WOA 算法在许多领域得到了广泛的应用,如经济调度,光伏MPP系统,电容选址和图像分割等。

2020-09-15

空空如也

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

TA关注的人

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