2024 四月份国内外CTF 散装re 部分wp

UTCTF        Beginner:Basic Reversing Problem

附件拖入ida

可以看到每个函数都会给一个字符

最后一个函数下断点,然后运行

UTCTF        Fruit Deals        复现

 

附件用excel打开并启用宏

菜单栏查看宏,选择编辑

有两个模块。一个是生成powershell脚本并执行,一个是随机填充表格

比赛时没找到sheet2,赛后看wp后才知道被隐藏了,需要右键表格选择取消隐藏

但是这里不影响。比赛时我是把生成脚本那个模块手动去混淆,然后尝试拼接。但是中间有一段不确定

原来这个模块是能够运行的,而且还能通过调用函数输出f的值,也可以下断点调试。在f下加一行MsgBox f就能得到了,exe的名字一目了然

Unbreakable International Team Phase        file-factory

go语言,解出是意料之外。附件拖入ida

题目一共有五个问题,先看第一个

main函数的符号名,看格式应该是两个单词。从起点开始跟,找最像的

但是从上面这个函数可以看出这些只是类似C语言的启动过程。那么既然是main函数,总得带main吧。函数列表过滤一下

很明显

第二题

先进main函数看看

这不是很明显嘛

第三题

main函数向下翻

第四题

跟进createFile函数,发现看不懂。脑子一转,问问GPT

第五题

同理

Unbreakable International Team Phase        pin

附件拖入ida

就两个函数,一个输入,一个检查

 AmateursCTF        typo

文本编辑器打开附件

变量名被混淆了,快速替换修改一下,但是要注意匹配大小写

修改完大概是这样

看起来还是比较简单的,利用伪随机数生成处理函数序列,然后逐个调用函数,一共就三个调用函数,其中两个还是lambda表达式。写的时候唯一的难点是最后那个func1里面的进制转换以及类型转换。最后依靠GPT和步步调试弄出来它的逆函数。脚本。s9是一个列表,装载正向处理时各函数的逆函数,在正向过程中插桩得到

 RITSECCTF        My Favorite Flag

给了源码和编译后的文件。文本编辑器打开源码

或者可执行文件拖入ida

比较简单。脚本

 RITSECCTF        Guess

 

附件拖入jadx

第一段字符串base64解码

运算直接出。脚本

 TAMUCTF        Reveille Petter

文件运行显示Godot。用工具gdre_tools提取

gd后缀文件用文本编辑器打开

一目了然。但是起先并不知道这,而是用CE改内存

b01lersCTF        Annnnnnny Second Now

 

附件拖入ida

一个递归调用,很明显是斐波那契。在线网站求这个数

脚本

NSSCTFROUND22        EzHook

没搞懂它本身Hook的原理,但是做出来了。附件拖入ida,可以根据经验定位main函数,也可以通过字符串

只做了两次处理,都是异或操作

但是解出来被告诉是假的。函数列表中的函数都点点,发现了xxtea加解密函数

向上查引用,发现了比较

下断点调试,发现会在输出前跳转到xxtea加密流程,而且调用加密函数前还把异或后的数据还原了(256次异或就等于异或一次0x73)。经验证,加密过程没变,网上的解密脚本稍微修改下MX和DELTA的定义就能用(哦,对了,第二个参数看着是40,其实除了个4。。)。脚本

 PaluCTF        Auth System

附件拖入ida

main函数里没东西,看看字符串

查引用定位函数

而对该函数查引用发现居然在main函数调用,查看main函数汇编

原来如此,可以通过写脚本异或或者改汇编。脚本

 GFCTF        prese

 

附件拖入ida

可以看到有混淆,但是程序比较简单,经过一个加密函数后就直接比较了

而加密函数里是通过输入长度生成一个数组,输入字符值作为索引取值

写完脚本后验证发现不对,而在调试的情况下会输出成功,所以应该有反调试,对密文查引用

多加一步异或就行了。脚本

 CITCTF        Strung Along

附件拖入ida

题目描述是让找flag,main函数没内容。转到汇编上下找找,直接出

 第九届中国海洋大学信息安全竞赛        xor++

附件拖入ida

比较简单。脚本

 第九届中国海洋大学信息安全竞赛        钩子

 

附件拖入ida

第一个函数进去看看

验证不对。下断点调试,窗口一闪就没,应该是有反调试,对验证函数查引用

再向上查引用

下断点调试,通过修改eip跳过反调试,验证函数步入

发现跳到了另一个函数。a1为输入长度,a2即输入

下断点获取异或值。有意思的是如果输入全为数字的话最长才24,不过没关系,修改eip照样取值

脚本

总结 

        以后如果做的题多的话,可以半个月出一次wp集合贴。但最主要还是懒

  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值