CTF每日做题
文章平均质量分 61
Le0nard404
既然选择了,就努力去做吧。
展开
-
[BJDCTF2020]BJD hamburger competition-buuctf
buuctf做题记录分析拿到手里是一堆文件:(这里的code是我之后存在这里的一个文件夹,并不是题目给的)看到了Unity,之前并未做过类似的题目,去查了相关参考:比较关键的几点是:u3d支持c#和js两种脚本,而且c#是最普遍的核心.net代码位于下述路径:\TPH\TPH_Data\Managed\Assembly-CSharp.dll关于.net逆向分析根据以上信息,使用ILSpy打开hamburger_competition\BJD hamburger compe原创 2022-03-30 20:22:12 · 4923 阅读 · 0 评论 -
[FlareOn6]Overlong-buuctf
buuctf做题记录overlong查壳32位无壳IDA分析查看start函数结合题目overlong与这个0,分析应该是让v6比规定的值(进入函数后获知)大,进入sub_401160函数:在进入sub_401000查看:可以看到很繁琐的加密函数,并且直接对此进行逆向并不能得到flag(我按着相同的代码运行得到了174个十六进制数,但并不能直接转化成字符串)那么推测,应该是让程序自己运行出来flag。先查看一下这个a2(unk_402008):一共174位,不进行任何处理运原创 2022-03-30 17:20:22 · 458 阅读 · 0 评论 -
[WUSTCTF2020]Cr0ssfun-buuctf
buuctf做题记录查壳64位无壳IDA分析一看就是在check()函数进行了加密,点进去:是对a1(也就是我们输入的数组)的判断,一直跟进会找到这么几个函数:直接明文flag捏()把这些条件直接放到cpp里运行一下就出来了#include<iostream>using namespace std;int main(){ char a1[32]; a1[1] = 'c';a1[25] ='@' ; a1[27] = 'e'; a1[4] = '2原创 2022-03-18 18:31:55 · 237 阅读 · 0 评论 -
[FlareOn4]IgniteMe-buuctf
buuctf做题记录查壳32位无壳IDA分析反编译start函数逻辑很清晰,先获取输入的字符串,然后进行加密,最后与密文进行比较。查看加密函数:逻辑也很清晰,输入从末端到首段,尾部与v4异或,其余与后一位的字符异或。看看V4是什么:没看懂,所以选择了OD进行动调,找到xor异或的那条命令,查看相应寄存器,得到v4=0x4。分析过程结束,可以写脚本了。#include<iostream>using namespace std;int main(){ int原创 2022-03-15 21:02:05 · 759 阅读 · 0 评论 -
[WUSTCTF2020]level3-buuctf
buuctf做题记录查壳64位无壳IDA分析main函数很明显的给了一个密文d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD==和提示:这是一个特殊的base64加密。给了这样的提示,推测是base64换表那么查看加密函数:加密表点进去:是正常的表,直接用原表解密解不出flag,右键查看表的引用,发现除了加密函数之外还有一个函数对表进行了操作:点进去查看,果然是改了表:简单写个脚本解出更改后的表:#include&原创 2022-03-15 19:03:19 · 875 阅读 · 0 评论 -
[MRCTF2020]hello_world_go-buuctf
Go语言的二进制文件,简单的明文flag,应该是Go逆向的引进门题目原创 2022-03-14 20:18:09 · 4274 阅读 · 0 评论 -
[GWCTF 2019]xxor-buuctf
buuctf做题记录查壳64位无壳分析IDA反编译main函数结构还是很清晰的,sub_400686是加密函数,sub_400770是对加密后字符串进行比较,即验证函数。查看sub_400770符合条件就返回1,用z3进行一个求解:from z3 import *s = IntVector('s',6)solver = Solver()solver.add(s[0]== 0xdf48ef7e)solver.add(s[2]-s[3] == 0x84a236ff)solver.a原创 2022-03-14 18:25:09 · 5424 阅读 · 0 评论 -
【MRCTF2020】Xor(buuctf-re)
buuctf做题记录查壳无壳32位IDA反编译试图直接对main函数反编译会弹出提示:所以查看401095处的汇编:点进sub_401020,F5反编译:返回main函数处,再次F5,反编译成功:方法指导分析简单分析,函数有printf,scanf,system等,进行一个重命名和隐藏不需要的显示,逻辑就很清晰了:首先判断是否输入33个字符然后对每个字符按从0到32的索引号对该字符进行异或最后将异或后的字符与byte_41EA08比较,相同就输出Right查看byt原创 2022-03-14 11:41:43 · 4587 阅读 · 1 评论