自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 buuctf刷题记录25 [WUSTCTF2020]funnyre

太巧了,昨天刚看了有关angr的视频今天就碰到有关的题目了这道题考察两点吧:1.简单的花指令去除 2.在有限域上简化无壳,ida64打开,发现不能f5,而且也没有main函数,判断应该是用了混淆从上往下看汇编代码,找到第一处问题这里jz和jnz一看就有问题,下面的数据也是胡扯,然后下面的这些没标红的地方都是一个样应该吧上面错误的地方改成下面的样子,大概有四五处吧,nop掉,p声明函数,得声明两处然后f5得到反编译定义了300多个变量,进行了好多好多运算,直接算肯定是算不出来的,然后就

2020-08-08 21:54:15 1500 4

原创 buuctf刷题记录24 equation

这道题又一次加强了我的z3题目有个html打开得到根据题目提示这个是f**k加密可以到在线网站上一个个去解密,但是太麻烦了,用了个网上的脚本,得到最后有一个常量没解,放到上面网站解出81头疼,全是解方程,可以用z3来解构造脚本麻烦死了,from z3 import *if __name__ == "__main__": s = Solver() l = [Int('l[%d]' % i) for i in range(42)] #定义l[0] - l[41

2020-08-08 21:52:55 455

原创 buuctf刷题记录23 [ACTF新生赛2020]Oruga

无壳,拖进ida,然后进入sub_78A这个关键函数里去看,有点迷宫的感觉,起点为(0,0)这里”0“是我们移动停止的条件,注意v2+=v4这一句,由于这是在while循环里的,所以他是一直以同一个方向移动的,直到碰到了非0的东西,很类似于象棋里面的车,但一次必须走到头进入数据word_201020看然后构造脚本,画出来这个迷宫,#include <stdio.h>char maze[256] = { 0x00, 0x00, 0x00, 0x00, 0x23, 0x0

2020-08-08 21:52:44 309

原创 buuctf刷题记录22 [WUSTCTF2020]level4

无壳,ida打开,上网查了查traversal然后看到最上面上面有左右指针,感觉有点像二叉树遍历打开type1和type2结合两个函数,第一个应该是中序遍历,第二个应该是后序遍历然后去找字符串,找半天没找到,就运行一下看看会不会出来这样一道re题就变成了一道数据结构题,画出来这个二叉树wctf2020{This_IS_A_7reE},真费劲flag为: flag{This_IS_A_7reE}...

2020-08-08 21:52:31 398

原创 buuctf刷题记录21 [网鼎杯 2020 青龙组]jocker

今天挑战一下,结果最后还是看了别人的wp才写出来的无壳,ida查看发现不能f5,原因堆栈不平衡进行栈指针修改修改出错的地方的栈指针偏移,快捷键alt+k,值改为0然后就能f5了,逻辑也不难,首先输入长度是24位,然后有三个关键函数 wrong(),omg(),encrypt()先看wrong和omg,wrong函数,对输入的前24个进行加密omg函数比较wrong加密结果和unk_4030C0地址的值是否相同把unk_4030C0地址的值考出来,写个脚本s=[102, 1

2020-08-01 18:42:15 862

原创 buuctf刷题记录20 [ACTF新生赛2020]Universe_final_answer

无壳,进入ida,函数逻辑挺简单的,但是这个算法我是真没见过网上查了查,这些题用z3库来写,顺便学了学怎么用这个库from z3 import *s = Solver()v1 = Int('v1')v2 = Int('v2')v3 = Int('v3')v4 = Int('v4')v5 = Int('v5')v6 = Int('v6')v7 = Int('v7')v8 = Int('v8')v9 = Int('v9')v11 = Int('v11')s.add(-85 *

2020-08-01 18:34:35 653

原创 buuctf刷题记录19 buuctf FindKey

个人感觉这个题出的不好,md5根本找不到(是我太菜)经典无壳,拖进ida,f12找到关键字符串,发现左边地址是红色的,应该是用了花指令,果然两个一样的指令连在一起,把下面的去掉,按p声明函数,再f5看反编译程序逻辑并不是太难,有两处关键运算和一个关键判断第一个关键运算是将输入的pbdata与v16进行异或,最后与v20进行比较逻辑很简单,直接写脚本,得到第一个字符串:c8837b23ff8aaa8a2dde915473ce0991然后如果直接按照第二个关键运算算的话,算不出来看别人的wp

2020-08-01 18:30:20 605 3

原创 buuctf刷题记录18 [WUSTCTF2020]level3

经典无壳,拖进ida最后输出的里面有衣穿加密字符串,一看就知道是base加密的,然后提上又提示是base64加密,拿去解密发现不对,感觉应该是吧base64的码表改了然后找半天没找到那个函数,然后找到这个奇怪的函数,果然是吧码表换了写出脚本,得到改变的码表然后根据之前的加密字符串,再写脚本import base64import stringstr1 = "d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD=="strin

2020-08-01 18:27:10 772

原创 buuctf刷题记录17 [GUET-CTF2019]number_game

ida打开进入主函数先看第一个if里面的函数首先是判断输入长度是否为10,然后逐个检查输入的字符是否是在0到4之间然后我们看主函数中第二个if里的函数sub_400917自己看没看懂…看了看别人的wp才知道这是个数独游戏(第一次接触这种题),这个是个5*5的数独游戏其中行和列都不能有重复的14#2330#1#0#23##3##042##1就是这个样子,不考虑中间那些函数,我们应该输入0421421430,输入以后不对,应该是中间的函数做了某些调换或者其他操作然后,sub_40

2020-08-01 18:20:50 486

原创 buuctf刷题记录15 [FlareOn6]Overlong

这道题挺迷的,看了别人的wp才知道有这种出题方式没有加壳,ida打开只有三个函数main函数也特别简单,就是v4先读取unk_402008这个地址的数据,读28位,经过sub_401160函数的运算然后给了text,最后输出text然而问题点就是unk_402008不止28个一共有175个数据(b7-08)再结合怀疑他没有处理后面的数据,于是想到去修改这个程序,让他读175位这里没有用ida,因为改完以后我不会保存用od去改,相对应的机械码,直接修改二进制码机械码为 6A 1C

2020-08-01 18:11:53 859

原创 buuctf刷题记录14 [GKCTF2020]BabyDriver

迷宫题的新花样打开感觉就是个迷宫题然后根据判断条件,#应该是终点,o应该是起点有了迷宫了,就差上下左右走的条件了,这里我看了好长时间没看出来,看了别人的wp才知道这里由于是sys文件,是由键盘过滤驱动获取键盘扫描码来控制上下左右,而不是ascll码第一次知道很容易就知道上下左右分别是IKJL所以路径为LKKKLLKLKKKLLLKKKLLLLLL题里面又提示flag是其路径的md5的32位小写,故得到flag:flag{403950a6f64f7fc4b655dea6969978

2020-08-01 18:08:56 555

原创 buuctf刷题记录13 [HDCTF2019]Maze

第一次接触花指令,搞了一下午才弄懂查壳,是upx加壳,脱壳后,拖进ida,发现无法f5可以看出这应该是关键代码的一部分。这里jnz跳转到了下一行代码,相当于没跳转没什么用,而下面的call near ptr 0EC85D78Bh调用了一个不是地址的地址,可以推断出这段代码添加了花指令,IDA分析失败了。可以确定这个jnz指令是花指令,还有下面的call指令。先将jnz指令nop掉。然后这个call还是有问题之后就是这个call指令,不能全部nop,因为后面那个东西可能是有效代码。摁d将

2020-08-01 18:04:51 514 2

原创 buuctf刷题记录12 [FlareOn4]IgniteMe

没有加壳,打开有两个关键函数,sub-4010f0和sub-401050看到两个’\n’,’\t’猜想这个sub-4010f0函数应该是进行输入和排除掉’\n’,’\t’再看sub-401050:sub_401050函数就是将字符串逆向做了异或操作之后,与已知字符串byte_403000对比。关键是这里的v4从代码不好直接求出来,动调查看这里的a1就是v4,可以看到是4脚本:#include <stdio.h>int main(){ int i; char v4

2020-08-01 17:59:14 426

原创 buuctf刷题记录11 [MRCTF2020]Transform

查壳后无壳,ida打开,逻辑很简单根据最后的判断条件可以反推说明一点,dup是所以上面dword_40f040最后那个 8 dup(0) 的数据不是8,而是零(我之前按照8搞的一直是错的)#include <stdio.h>int main(){int i;char c[33];char a[]={0x09,0x0a,0x0f,0x17,0x07,0x18,0x0c,0x06,0x01,0x10,0x03,0x11,0x20,0x1d,0x0b,0x1e,0x1b,0x16

2020-08-01 17:54:30 521

空空如也

空空如也

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

TA关注的人

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