自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 针对vmp和ollvm的解决方法

自我总结1.angr2.gdb脚本测试3.pin插桩(目前的学习经历知道这几种方法,如果有别的,欢迎师傅们补充,其中pin还没用过,angr就只会写模板,gdb还写不来。一般都动调。。。有待学习,补充)...

2020-11-25 09:46:12 7 2

原创 祥云杯-re复现 (未完待续)

周末祥云杯没打,主要是自己想摸了。。(就是这么直白)还有就是nctf举办,我出题,我到比赛那天还没出完。。。(太咕了。。)比赛后就想来复现这比赛,看解题人数,感觉满难的,应该很有质量,就跟着null的wp复现吧,一天复现一题re1动态调试,发现对flag的每一位进行相同的操作,慢慢看太多了,因此可以gdb脚本爆破,null的脚本写错了把。。程序开了pie,第一句就不对。。。而且while也没让程序重新启动,这里给出我写的pwndbg> define f1Type commands for

2020-11-23 19:58:23 131 6

原创 c++异常处理

以vc++6.0 为例使用_cxxframehandler时,传入一个全局地址,funcinfo函数信息表,透入了c++异常的一些消息funcinfo :magicnumber : 魔数,固定数字maxstate : 最大栈展开数的下标值punwindmap : 指向栈展开函数表的指针dwtrycount : try块数量ptryblockmap : tr

2020-11-12 11:54:39 39

原创 radare2学习(间断更新)

rax2数值转换rax2 -s 414141 “AAA” -a show ascii table ; rax2 -a -b bin -> str ; rax2 -b 01000101 01110110 -B str -> bin ; rax2 -B hello -d force integer ; rax2 -d 3 -> 3 instead of 0x3 -

2020-11-04 20:07:04 41

原创 湖湘杯-re

re1ibm s/390 看逻辑就是个解方程,z3试一下,原本用bitvec,发现看上去就不怎么对,用int 就好了,真奇怪from z3 import *table = [0x00, 0x00, 0xB2, 0xB0, 0x00, 0x00, 0x6E, 0x72, 0x00, 0x00, 0x60, 0x61, 0x00, 0x00, 0x56, 0x5D, 0x00, 0x00, 0x94, 0x2D, 0x00, 0x00, 0xAC, 0x79, 0x00, 0x00, 0x39, 0x1

2020-11-02 16:45:20 550 17

原创 2020.10.29小记

信安数基第四章1.使用中国剩余定理求解同余式2.欧拉判别条件a是模p的平方剩余的充要条件ap−12===1(modp)a^{\frac{p-1}{2}}===1(mod p)a2p−1​===1(modp)a是模p的平方非剩余的充要条件ap−12===−1mod(p)a^{\frac{p-1}{2}}===-1 mod(p)a2p−1​===−1mod(p)3.推论设p是奇素数,(a1a_1a1​,p)=1,(a2a_2a2​,p)=1(1)如果a1,a2都是模p的平方剩余,则a1∗a

2020-10-29 17:32:14 68 1

原创 2020.10.28小记

bytectf被打自闭了(安卓做nm,没学过)。。就会一个qiao。拿了个三血,该开始重新学习了,最近学校离散数学上课讲了代数结构,感觉比较重要,要记一笔,以及今天做了离散数学实验一(化主析取感觉怪怪的。。。)*是定义在集合a上的二元运算交换律y*x==x*y结合律(x*y)*z==(y*z)*x* $为a上的两个二元运算分配率x*(y$z)==(x*y)$(x*z)吸收律 *$可交换 x*(y$x)==x x$(y*x)==x等幂律 x*x==xe*x==x

2020-10-28 20:30:31 346

原创 堆的攻击方式

堆溢出堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址的下一个堆块。calloc ==malloc + memesetremalloc = malloc + free寻找危险函数通过寻找危险函数,我们快速确定程序是否可能有堆溢出,以及有的话,堆溢出的位置在哪里。常见的危险函数如下输入 g.

2020-10-28 10:35:38 49

原创 io?(记一笔)

io_file的结构truct_IO_FILE5.{6.int_flags;/*High-orderwordis_IO_MAGIC;restisflags.*/7.8./*ThefollowingpointerscorrespondtotheC++streambufprotocol.*/9.char*_IO_read_ptr;/*Currentreadpointer*/10.char*_IO_read_end;/*Endofgetarea.*/11.char*_IO_read_base;/*Startof

2020-10-21 11:15:58 14

原创 pwn_heap(未完待续)

早上上信安数基,了解了中国剩余定理,就是求同余方程组的解,找时间,用c++复现以下pwn_heap堆在程序运行过程中,堆可以提供动态分配的内存,允许程序申请大小未知的内存。堆其实就是程序虚拟地址空间的一块连续的线性区域,它由低地址向高地址方向增长。我们一般称管理堆的那部分程序为堆管理器。mallocmalloc 函数返回对应大小字节的内存块的指针。此外,该函数还对一些异常情况进行了处理当 n=0 时,返回当前系统允许的堆的最小内存块。当 n 为负数时,由于在大多数系统上,size_t 是无符号

2020-10-15 16:07:13 38 1

原创 elf文件结构(未完待续)

elf文件结构有三种类型可重定位文件(Relocatable File),包含由编译器生成的代码以及数据。链接器会将它与其它目标文件链接起来从而创建可执行文件或者共享目标文件。在 Linux 系统中,这种文件的后缀一般为 .o 。可执行文件(Executable File),就是我们通常在 Linux 中执行的程序。共享目标文件(Shared Object File),包含代码和数据,这种文件是我们所称的库文件,一般以 .so 结尾。一般情况下,它有以下两种使用情景链接器(Link eDitor,

2020-10-11 15:45:28 11

原创 今日学习(五)

昨天 西湖论剑被打爆了,逆向做了flow,感觉像srop,就一个xor tea没了,第一个迷宫不会爆破,太菜了。。loder后面没时间看了,tcl今天看了c++反汇编pwn做了两个签到题入口函数是maincrtstartup()初始化堆,环境变量什么的,感觉不重要堆变量申请堆空间时调用_heap_alloc_dbg.其中使用——CRTMEMBLOCKHEADER結構描述堆空间的各个成员,在内存中,堆结构的每个节点都是用双向链表存储typedef struct _CrtMenBlockHead

2020-10-10 10:05:41 42

原创 2020sctf-orz

马的,我的密码学是真的弱阿,就这个题我都要看一天,是真的服了,不过是真的学到好多,主要说一下程序流程,首先输入32个数字,然后用其中的三个数字,作为种子,使用线性同余发生器生成伪随机数在此说一下线性同余发生器,因为我是真的不知道就是这玩意,(记住这个是四个字节)然后与flag xor ,生成64个方程,每个都是4个字节,然后传进4个方程,des加密,前面两个(8个字节)合并组成密钥,后面两个是明文(8个字节),后面再放回原处,进行比较,其中des加密 还是分奇偶的,要当心溢出,//2 |

2020-10-07 12:14:08 50

原创 将要做的事

book:glibc程序员的自我修养c++反汇编与逆向分析技术csapp操作系统导论精读一遍加密与解密4(毕竟略读过3了。。)todo:各种ctf(假如会pwn的话)复现cve学习pwnlearning direction:repwnhealth:每天跑5公里...

2020-10-07 11:16:40 31

原创 今日pwn学习

今天 主要写了re,复现了gactf的那道lazz的题,初步了解了lazz算法,(0xffe),还有sctf的easyre,出的是真的好,exit的回调函数,dll,tls,反寻常的调试,pwn方面写了个pwn_start,看了一下srop,简单的来说,假如我们可以栈溢出的话,利用signal的机制,最后的sigret,把原本的signal Frame,覆盖成我们想要的,关键是sigret,有他就可以srop了,vn的babybabypwn很符合...

2020-10-06 01:00:48 16

原创 pwn学习(四)

今天复现了gactf的simulator,lc3的的汇编感觉和mips满像的pwn方面看了brop,感觉只有盲打有用,感觉对一个re手并不需要,算了就当看看吧在刷题上,位只能说今天做的三道题都和格式化字符串有关,我都不会(好菜阿),但是学到了很多,不得不说格式化字符串好不熟练阿。。。。others_baby_stackfrom pwn import *p = remote('node3.buuoj.cn',28992)#p = process('./main')elf = ELF('./mai

2020-10-04 01:07:22 12

原创 pwn学习(3)

今天复现了一个gactf的wannaflag,od断到text直接就可以看加密,比较简单在pwn方面,今天依旧在刷题,没学习什么知识,(真是懒狗),不过做题过程碰到几个点,没有遇到过,提一下,system(‘ping ;/bin/sh’)system原来可以接连两三个指令seccomp可以用来限制系统调用,orz向我展示了pwntool的功能orzfrom pwn import *p = remote('node3.buuoj.cn',25572)shellcode = shellcr

2020-10-03 01:38:16 13

原创 pwn学习(二)

今天主要刷了点题,学到个格式化字符串泄漏cancaryfmfrom pwn import *#p = process('./main')p = remote('node3.buuoj.cn',28633)payload = '%4c%13$n' + p32(0x804a02c)p.send(payload)#print(p.recv())p.interactive()格式化字符串覆盖小数字jarvisoj_tell_me_somethingfrom pwn import *p =

2020-10-02 09:53:57 34

原创 pwn学习(一)

已经大二上了,一直在划水,要重新开始学习了我要做到不打比赛时看书,打比赛写wp,太懒了32位传参,返回地址,另一个返回地址,参数,压栈64位传参,gcc 寄存器 rdi rsi dx rcx r8 r9(参数),返回地址(压栈)(1)栈溢出basic_rop1.ret2text这个比较弱智,自带system(’/bin/sh’),只要改一下返回地址就行2,ret2shellcode这种的话用pwntool自带的shellcraft,sh()构造放在bss段或者栈上就行了,比较简单3.re

2020-10-01 00:01:26 23

原创 spring学习(二 )aop

spring中基于aop的配置步骤1.把通知bean交给spring管理2.使用aop:config标签开始aop配置3,使用aspect配置切面(id标志 ref通知类bean的id)4.在aspect内部使用对应标签来配置通知类型(AOP:before method)5.pointcut表示指定切入点表达式写法:关键字:execution表达式:访问修饰符 包明。。。类名。方法名public void com.spring_learn,.....全通配写法:* *..*.*(..)

2020-07-12 22:33:52 73

原创 spring学习(一)

spring好难啊。。。一开始还要学习一下maven结合视频和spring实战一起学习Applicationcontext三个实现常用类ClassPathXmlApplicationContext()//类路径下的配置文件(常用)FileSystemXmlApplicationContext()//任意路径的配置文件AnnotationXmlApplicationContext()//用于读取注解创建容器的核心容器创建的两个接口ApplicationContext//在构建核心容器时创建对象

2020-07-10 21:45:45 44

原创 java核心技术-读书笔记(二)

接口/lambda表达式与内部类接口为了让类实现一个接口,(1)将类声明为实现给定的接口(2)为接口中的所有方法进行定义要将类声明为实现某个接口,使用implements:class Employee implements Comparable需要提供compareTo方法(sort要用)class Employ implements Comparable<Employee>{ public int comaraTo(Employee other) {

2020-07-07 09:31:27 33

原创 java核心技术卷-读书笔记(一)

继承定义子类extends关键字public class Manager extends Employee{}覆盖方法public class Manager extneds Employee{ public double getSalary() { return salary + bonus;//wont work }}不能运行,manager类的getSalary方法不能

2020-07-06 14:24:12 40

原创 算法(第四版)-图

图一般只会写代码,以后用来给自己参考的demo(数据结构与算法c++描述也太难看懂了。。。说的是人话吗。。还是这个亲切)(前面几章demo写本地了,有时间再发吧。。)无向图(邻接表实现。。又像拉链法。。。Bag)public class GraphGraph( int v ) 创建一个含有v个顶点但不含边的图Graph( In in) 读入一个图int V() 顶点int E() 边数void add

2020-06-29 17:06:45 72

原创 DozerCTF re

这个题目出的还行,不错。。。。比赛中做出了三题,刷了1000分,却被两个150 200分的签到题难住了。。。太菜了MazeMaze这类题都是老套路了,不过出题人还是变着花样,想出新点子阿。。。首先upx脱壳,之后发现程序内置反调试懒得nop了,干脆静态分析得了发现我每走一步,我的方向健都会发生变化,同时发现这个迷宫是有插入的,于是我想到一个绝妙的点子,只要我把插入的a换成b或0就可以了,同时每走一步方向键按照他换一下就可以了(看的我眼睛都瞎了。。。。。a换b真tm多)#include&lt

2020-06-15 21:08:48 115

原创 GKCTF 2020 re

周末打了两场比赛 bjd GK,bjd我打自闭了,赛中只做出了两道题,赛后又才又做出一道。。。不得不说按道理我四道题都看懂了,知道方法怎么做,可是我不会写脚本啊。。。得加强python的编程能力了。。。来说说GKCTF,(虽然还是只做出了3道题。。。。啥时能做到ak啊!!!!)checkin密码HelloWorld,之后砖块游戏好了Chelly’s identity老二次元了。。。。方法:动态调试,比较简单a = [0x2,0x3,0x5,0x7,0xb,0xd,0x11,0x13

2020-05-25 00:27:38 276 2

原创 buuctf Crackme6

这道题涉及的知识点说实话还是蛮多的。。。首先是这里的加密主要是看汇编,不难,yafu一下知道是[2,3,5,7,11,13,17,19,23]a = [2 , 3, 5, 7, 11 ,13,17,19,23] b = [0x33,0x21,0x22,0x21,0x35,0x7c,0x62,0x65,0x6e] for i in range(9): a[i] = a[i] +0x41 a[i] = a[i] ^b[i]"".join(chr(a[i]) for i in rang

2020-05-16 19:23:24 121

原创 逆向-反调试技术总结-1(源于加密与解密)

Beingdebugged

2020-05-12 00:48:19 81

原创 网鼎杯 re

我好菜。。。。开局两个安卓re我彻底自闭了。。。。不会呀说一下后面两个re把。。。。1、signal一个入门级的虚拟机保护模拟一下就好了#include<stdio.h>int main(){ unsigned char a1[] ={ 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,

2020-05-11 09:46:12 326

原创 [QCTF2018]babyre

一道一般般的题。。。打开ida,调试到这里发现长度为0x20,于是输入“ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^-`”第一个函数 打乱我的输入顺序,第二个函数从第三个数开始,每四个为一组分别加一些数,第三个函数从第9个开始,每四个一组进行一些位运算写出脚步flag=[0xda,0xd8,0x3d,0x4c,0xe3,0x63,0x97,0x3d,0xc1,0x91,...

2020-05-07 14:41:24 126

原创 数据结构与算法分析c++描述_第一章初读

作为新人,刚学数据结构与算法,啥都不会,希望路过的大佬勿喷我。。。第一章,主要讲了一下一些基本级数以及c++的语法(大多数是类和泛式编程 ,作为一个刚学c++的的人当然要看一下了。。。我连泛式编程都没见过。。。tcl…)我做了一些课后习题,希望能给一些和我一样新学数据结构的人一些参考选择问题我只会插入排序。。。#include<iostream>using names...

2020-05-01 13:31:42 62

原创 ha1cyon-ctf re

第一题 asm 不解释,看汇编,很容易发现偶数不加密,奇数xor0x42第二题 BYBY_OBFUS 看代码(说实话,我感觉这题考我数学。。。)看源码经调试发现循环里值进行了以下步骤然后 看函数,易得fox5(a,b)是a的b方,fox4(a,b)是a-b,fox1(a,b)是求a和b的最大公约数(辗转相除法)那么看懂后就非常容易逆了`#include<stdio.h&g...

2020-04-21 23:24:52 430 3

原创 [GXYCTF2019]minecraft

*俺必须承认这道题出的蛮难的。。。。*它居然把主要程序放在他自己编写的dll里,不得不说还是蛮稀奇首先打开ida他说给了这个提示(有个屁用呀!!!!!!!!!!!!!!!!!!!!!,还不是要看它源码怎么写的)调试进入string_t0_long这函数(当然也可以去看它的dll文件,反正都一样,我不过是喜欢看调试)调试易得前面那一坨,只是进行了base64加密,这里就不演示了同上易得,他...

2020-04-14 22:24:47 387 2

原创 [MRCTF2020]Xor

buuctf [MRCTF2020]Xor无聊又来水博客了。。。。打开od看看汇编,cmp edx 0x1b,知道字符串长度为27,之后与自己的序号xor,对比的数在栈里很容易发现a="MSAWB~FXZ:J:`tQJ\"N@ bpdd}8g">>> for i in range(len(a)):... print chr(i^ord(a[i])),直接出来,...

2020-04-13 22:58:50 476

原创 [V&N2020 公开赛]h01k_re

[V&N2020 公开赛]h01k_re原本是不想写wp的。。。。可是网上死活找不到h01k_re的wp…(估计大佬太忙了,都没空写),因而我想补充一下,如果我的狗屁做法能对你有所帮助那最好不过。下面进入正题。ps(毕竟刚玩ctf三个月,我的做法可能比较蠢,也请各位大佬勿喷我)打开ida,找到目标函数中间的401990等基本都是反调试,除了401e90其他全部nop掉,向下看发...

2020-04-13 09:33:10 172 1

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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