摘要: Flare-on第六届挑战赛的题, 挺迷的,这个挑战赛的题都挺有水平。 IDA打开就仨函数: Main函数也挺简单: 对v4处理,存到text,输出,没了。 然而疑惑的地方是,v4有这么长: (比这个还长) 但是这里指处理了28,即0x1C的长度。 结合他运行时跑出的数据: 数了数算上空格正好是这么长,我有理由怀疑他没有处理后面的字符。 所以我们要做的就是把处理长度从0... 阅读全文
posted @ 2020-05-30 18:33 DorinXL 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 武科大re第五题,无壳: 拖进IDA,看到了关键词【数据结构】,还有关键函数,大致猜了一下估计是遍历树,kali跑一跑看看 果然,第一行和第二行第一个都是2,那估计是后序和中序的遍历。联想前面做的题都是wctf开头的,可以推出来第二行是后序,因为后序最后一个字母是根节点。 手动算前序,其中有两个下划线连在一起了,于是我把那一枝分别写了出来(但是问题不大): wctf202... 阅读全文
posted @ 2020-05-28 21:17 DorinXL 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 查壳: 无壳,扔进IDA: 看到关键数据,base64转一下试试: 有点flag那味了,估计这是把base64表给改了,那么就需要找一下修改的函数,在函数列表找到一个O_OloolAtYou()函数,看起来有些可疑,果不其然: 其实也可以交叉引用找到这个函数: 这个函数主要作用呢,我们跑一下就可以知道是把A-T给调了个顺序: 于是我们就把他反过来跑一下: ... 阅读全文
posted @ 2020-05-25 18:45 DorinXL 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 顺着前两个题我直接顺藤摸瓜摸到了武汉科技大学这一届的ctf,干脆全做了吧,看上去也不难,非常友好: 经典无壳: 扔进IDA发现也是判断一下输入就可,里面的判断函数甚是粗暴: 每个函数的名字还挺有意思,三下五除二写个cpp: wctf2020{cpp_@nd_r3verse_@re_fun} 阅读全文
posted @ 2020-05-25 18:05 DorinXL 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 一个UPX加壳题: Elf直接upx -d脱壳: 然后扔进IDA,刚打开就看到flag了: 那我不脱壳直接用txt打开也能找到咯? 确实:wctf2020{Just_upx_-d} 仅仅是upx -d 阅读全文
posted @ 2020-05-25 17:48 DorinXL 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 切一道简单题,下载下来是elf和txt: Ida打开看逻辑: 按下标,奇数把输入左移下标数值位数,偶数下标把输入乘下标: ctf2020{d9-dE6-20c} 阅读全文
posted @ 2020-05-25 16:32 DorinXL 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 在参加网鼎杯之前,还没接触过vm指令的题,姑且是在网上找到好多,接下来几天慢慢做,看看能不能整理到一起。 打开看着还挺简单的,一点进vm_operad人就傻了。 里面是各种操作,太长了就不截图了,我还没学会怎么在word文档里贴代码(对我都是word文档写好之后上传博客的) 这里想说一下我对vm虚拟 阅读全文
posted @ 2020-05-24 20:21 DorinXL 阅读(515) 评论(0) 推荐(2) 编辑
摘要: 随便水一道签到题: 没有壳,静态分析: 输入flag,处理判断得出结果。 很简单,程序逻辑是将输入的flag按照以dword_40F040数组的内容作为下标保存在byte数组中,然后异或处理,对比判断。反着写: RCTF{Tr4nsp0sltiON_Clph3r_1s_3z} bb两句: 昨天和前天 阅读全文
posted @ 2020-05-24 16:33 DorinXL 阅读(465) 评论(3) 推荐(0) 编辑
摘要: 下载是exe文件,运行一下: 很简单,依旧是输入-处理-判断。 查壳: 没壳,扔进IDA: 只有一处判断,将其范围内的字符处理后对比。 很简单,我一开始的思路是精准打击,找出被处理的字符串的ascii范围,写了一半感觉有点麻烦,不如直接爆破: 就硬对应: Cae3ar_th4_Gre@t 最后bb两句: 521我也在勤勉的做题啊!(懒狗,水博客还好意思说) 现在上着... 阅读全文
posted @ 2020-05-21 21:12 DorinXL 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 查壳: 没壳,跑一下看看: 经典输入处理判断,扔进IDA看一看: 框架比较简单,但是简单的框架内容可不一定简单。 一些API函数,念着英文就知道什么意思了。看一下读取数据的函数: 中规中矩的,把读入的'\n'和'\r'过滤一下。 看一下处理和判断的函数: 大体逻辑是这样的: v0是长度,v4是一个给定的数值。循环处理flag,将其倒序与v4亦或的结果保存,替换v4内... 阅读全文
posted @ 2020-05-20 17:31 DorinXL 阅读(437) 评论(0) 推荐(0) 编辑
👨‍💼